[RETURN TO EXAMPLES]

Project Profile

Worksheet


This worksheet is designed to help you evaluate any proposed client/server project to assess its overall risk and complexity. The worksheet will expose two important characteristics of the project: (1) any specific items that need attention, and (2) the overall risk level of the project.

To use this worksheet, answer each relevant question by circling the appropriate number on the 1–5 scale, in which 1 indicates a definite "yes" (low risk), 5 indicates a definite "no" (high risk), and 2 through 4 indicate various shades between (increasing degrees of risk).

If you don't know the answer, or if you don't understand the question, circle 5.


Project Identification

Client:_______________________________________

Project name:_________________________________

Project manager:______________________________

Assessment performed by:______________________ Date:_______________


Infrastructure Characteristics

VISION & ARCHITECTURE YES     NO
1Business technology vision defined—Have the business guidelines that define how information technology will be applied to business opportunities been decided and written down? 1 2 3 4 5
2Business technology vision communicated to all developers—Has the business technology vision been communicated to all people affected by that vision, including (but not limited to) all information technology developers and key end users? 1 2 3 4 5
3Architecture project team in place—Has your organization chartered a team of people to establish your application (logical) and technical (physical) architectures? 1 2 3 4 5
4Application architecture defined—Has your architecture team defined the application architectures that will be used to develop client/server applications in your environment? 1 2 3 4 5
5Technology selection process defined—Has the process by which technology choices are made been defined in a manner that will assure the process is applied effectively for the selection of all distributed computing technology throughout the organization? 1 2 3 4 5
6Technology architecture process in use—Has the technology architecture process been applied successfully to the choice of distributing computing? 1 2 3 4 5
7Distributed data issues identified—Has the architecture team identified the key issues relating to whether and how you will distribute data? 1 2 3 4 5
8Distributed data access strategy defined—If you have decided to distribute data, have you determined how replicated data will be kept synchronized? 1 2 3 4 5

Architecture total score:_____divided by number of questions answered:_____equals risk factor:_____


STAFF YES     NO
1Experienced client/server developers—Does your development team include a reasonable proportion of people who have developed successful client/server applications using similar environments? 1 2 3 4 5
2Common vision and vocabulary—Have you provided training to all developers, project leaders, managers and involved end users that gives them a common vision of and vocabulary for client/server technologies? 1 2 3 4 5
3Training budgeted—Have you established an adequate training budget? (If you have planned for at least eight weeks of training for each developer, score 1; for four to seven weeks, score 3; for less than four weeks score 5.) 1 2 3 4 5
4Training scheduled—Have you included "just-in-time" product- or technology-specific training for every member of the team? 1 2 3 4 5
5Help desk budgeted and staffed—Does your organization have a trained help desk that will provide support for this application when it is deployed? 1 2 3 4 5
5Experienced consultants identified—Have you identified, qualified, and retained experienced consultants to help with both planning and development throughout the entire project? 1 2 3 4 5

Staff total score:_____divided by number of questions answered:_____equals risk factor:_____


TECHNOLOGY—NETWORKS YES     NO
1LAN in place—Is a LAN in place at all locations where this application will be deployed? 1 2 3 4 5
2LAN compatible between all locations—Are all locations using the same LAN protocols and network operating systems? 1 2 3 4 5
3LAN has adequate bandwidth—Does the LAN have adequate bandwidth to support the anticipated load? 1 2 3 4 5
4WAN in place—Are the requisite wide area networking links in place? 1 2 3 4 5
5WAN has adequate bandwidth—Has WAN configuration been based on a capacity plan that takes the proposed application's characteristics into account? 1 2 3 4 5
6WAN capacity overload contingency plan established—Are there contingency plans to cope with bottlenecks and/or unexpected changes in business location or activity volumes? 1 2 3 4 5
7Wide area network systems management—Is there an effective wide area network management process in place? 1 2 3 4 5
8Centralized network management—Is WAN administration centralized? (If WAN is totally managed from a single site, score 1; if fully distributed, score 5.) 1 2 3 4 5
9Automated WAN support tools—Are WAN support procedures supported by up-to-date automation? 1 2 3 4 5
10Wide area network support team on board and trained—Does your organization have a team of people who are trained and dedicated to supporting the enterprise network? 1 2 3 4 5
11WAN support team accessible to developers—Are these people accessible to your development team to help with any problems that may arise? 1 2 3 4 5

Network technology total score:_____divided by number of questions answered:_____equals risk factor:_____


TECHNOLOGY—SERVERS YES     NO
1Server platform(s)—Have you selected the hardware and operating system for all servers? 1 2 3 4 5
2Standardized server environments—Are all servers that will participate in this application running on the same hardware, under the same operating system? 1 2 3 4 5
3Servers under configuration management—Are all of these servers covered by configuration management procedures? 1 2 3 4 5
4Proven components—Are all of the hardware and software components of your networks and servers current shipping versions (i.e., you are not dependent on beta products or promises of future functionality)? 1 2 3 4 5
5Server database engines selected—Have you selected a server database engine for use by this application? 1 2 3 4 5
6Single database technology selected—Have you selected a single database technology vendor? (If you are integrating two different technologies, score 3; if more than two different technologies, score 5.) 1 2 3 4 5
7Server database engines experience—Does your team already have experience using the selected database engine(s) together with the server operating systems? 1 2 3 4 5
8Servers in place—Are all servers that will be used by this application already in place, configured, programmed, and tested? 1 2 3 4 5
9Network and server platform sharing—Will the networks and servers be dedicated to the application under assessment? 1 2 3 4 5

Server technology total score:_____divided by number of questions answered:_____equals risk factor:_____


TECHNOLOGY—DESKTOP ENVIRONMENTS YES     NO
1Desktop platform(s)—Have you selected the hardware, operating systems, and other software that will run on all desktops? 1 2 3 4 5
2Standardized desktop environments—Are all desktops that will participate in this application using the same general hardware configuration, operating system, and graphical environment? 1 2 3 4 5
3Configuration management procedures—Are all participating desktops managed by your configuration management procedures? 1 2 3 4 5
4Proven components—Are all of the hardware and software components of your desktops current shipping versions ( i.e., you are not dependent on beta products or promises of future functionality)? 1 2 3 4 5
5Desktops in place—Does each end user of the system already have a desktop in place that can support the proposed system? 1 2 3 4 5
6Trained end users—Are users trained in the use of the desktop environment? 1 2 3 4 5
7Trained support staff—Is your internal support staff in place and trained to support these desktops? 1 2 3 4 5
8Compatible desktops & servers—Have the desktops and servers that will participate in this application been proven to be compatible with each other? 1 2 3 4 5
9Desktop to server connectivity experience—Do you have people on staff who have experience in connecting the desktop and server environments? 1 2 3 4 5
10Desktop data access interface(s) selected—Have you selected a desktop database interface(s) for use by this application? 1 2 3 4 5
11Single data access interface—Have you selected a single database API for use by all applications? (If two different APIs, score 3; if more than two APIs, score 5.) 1 2 3 4 5
12Data access interface provided by DBMS vendor—Is the data access interface provided by the same vendor as the server database engine? 1 2 3 4 5
13Database engine(s) experience—Does your team already have experience using the selected database engine(s) together with the desktop and server operating systems? 1 2 3 4 5
14Desktop workstations not shared—Will the desktop workstations be dedicated to the application under assessment? (Dedicated, score 1; if application will be dominant, score 3; otherwise, score 5.) 1 2 3 4 5

Desktop environment total score:_____divided by number of questions answered:_____equals risk factor:_____


DEVELOPMENT METHODS, TOOLS AND ENVIRONMENT YES     NO
1Development method selected—Have you selected a development method for the proposed application? (If you haven't selected a method, or if you intend to use an ad-hoc approach, score 5.) 1 2 3 4 5
2Rapid application development method—Does the selected development method support iterative requirements definition, design, development, and user interface prototyping? 1 2 3 4 5
3Mature development method—Is your selected development method mature, with a proven track record for developing distributed client/server GUI applications? 1 2 3 4 5
4Development method experience—Does your team already have experience using the selected development method? 1 2 3 4 5
5User involvement with development—Does your development method provide for full time end user involvement at all stages of the development process? 1 2 3 4 5
6User interface development tools selected—Have you selected the tools that will be used to implement the desktop elements of the applications? 1 2 3 4 5
7Use mainstream graphical user interface—Will the end user interface utilize a mainstream GUI? 1 2 3 4 5
8Desktop tools support GUI—Do the selected development tools support the desktop GUI effectively? ( For a mature version of any market leader GUI-based toolset, score 1; for C or C++, score 5. For anything else, score 3.) 1 2 3 4 5
9User interface development tools experience—Does your team already have experience using the selected user interface development tools together with the selected business rules tools, database engines, and desktop and server operating systems? 1 2 3 4 5
10Development tools support for database engine—Are the development tools closely integrated with the selected database engine(s)? 1 2 3 4 5
11Single development environment proposed—How many different development environments do you propose to use? (For one, score 1; for two, score 3; for over two, score 5.) 1 2 3 4 5

NOTE: Questions 12 through 14 should all be answered, in spite of the fact you will invariably incur a risk factor of 5 on at least two of them. There is no risk-free method for the implementation of business rules. Risks lowered by one choice will increase risks that would be lowered by another, and vice versa. If you have not yet determined which method would be best for your application, score 5 on all three questions.

12Business rules development on desktop—Will your business rules be implemented using the same tools and language used to develop your graphical user interface? (YES, score 1; NO, score 5. NOTE: Using the same tools used for your user interface is the simplest method for developing your business rules. However, this solution doesn't scale well for large applications.) 1 2 3 4 5
13Business rules development tools in DBMS—Will your business rules be implemented as stored procedures and triggers inside your DBMS? (YES, score 1; NO, score 5. NOTE: Implementing business rules as stored procedures and triggers works well for small applications. However, this solution doesn't scale well for large applications.) 1 2 3 4 5
14Business rules in three-tier architecture—Will business rules be implemented as a separate process executing independently from both the desktop and database? (YES: score 1; NO, score 5. NOTE: Using a three-tier architecture will scale well. However, it is complex to implement and manage.) 1 2 3 4 5
15Business rules execution in three-tier architectures determined—If you are using a three-tier architecture, have you determined how desktop applications will access and execute business rules? (YES, score 1; NO, score 5.) 1 2 3 4 5
16Business rules tools experience—Does your team already have experience using the selected business rules tools together with the selected database engines, desktop, and server operating systems? 1 2 3 4 5
17Application development support tools selected—Have you selected the supporting tools—including testing, version control, and configuration management—that will be used to build, test, and control your applications? 1 2 3 4 5
18Support tools compatible with configuration management tools—Are all of the supporting tools compatible with your configuration management and system management tools and procedures? 1 2 3 4 5
19Application development support tools experience—Does your team already have experience using the selected support tools with the other selected software? 1 2 3 4 5
20Approach to performance engineering established—Is there a mature process in place for capacity planning and performance engineering that addresses all stages of the design and construction cycle? 1 2 3 4 5
21Performance engineering process supports LAN/WAN—Does your capacity planning and performance engineering process cover LAN, WAN and server environments? 1 2 3 4 5
22Performance engineering process uses automated tools—Is your capacity planning and performance engineering process supported by automated tools? 1 2 3 4 5
23Use of performance data by automated tools—Are the results of operational performance monitoring fed back into your automated tools and models? 1 2 3 4 5
24Performance engineering process covers aggregate work load—Does your capacity planning and performance engineering approach take into account the aggregate workload arising from other applications sharing the platforms? 1 2 3 4 5
25Performance engineering process measures end-to-end response—Does your capacity planning and performance engineering process take into account end-to-end response time requirements? 1 2 3 4 5

Development methods, tools and environment
total score:_____divided by number of questions answered:_____equals risk factor:_____


Application Characteristics

APPLICATION YES     NO
1Availability requirement not critical—Will your business still be able to operate successfully if this application fails totally? (For normal working day availability with reasonable tolerance for limited downtime, score 1; for 24-hour cover, 365 days per year, score 5.) 1 2 3 4 5
2Delivery time-scale not critical—If this application is not completed and operational by a specific target date, will your business remain materially unaffected? (If a specific date must be met, score 5.) 1 2 3 4 5
3Analytical vs OLTP—Is this application strictly analytical (read-only)? (If the application also includes operational (OLTP) components, score 3-5 depending on degree.) 1 2 3 4 5
4Analytical components can be implemented separately—If the application contains both analytical and OLTP components, can the analytical components be implemented as separate projects that will complete before the OLTP project begins? (If analytical applications can be implemented and deployed before more complex OLTP components, score 1; if all components must be implemented and deployed concurrently, score 5.) 1 2 3 4 5
5Application of limited scope—Is this application limited in its scope, affecting only a limited area of the business and no other systems? (A system with very limited scope could be implemented on entirely separate server hardware without any need to access other systems.) 1 2 3 4 5
6Complex projects can be broken down—If the project is large and/or complex, can it be readily broken down into a series of separately deliverable projects, each with a clear business scope? 1 2 3 4 5
7Business process defined and understood—Are the business processes that are being implemented in this system well understood, well defined, and formally documented? 1 2 3 4 5
8Users agree with process definition—Are the users of the system in agreement that these processes are well understood? 1 2 3 4 5
9Perceived value added—Does implementation of this system provide substantial value to the ongoing operation of the organization? 1 2 3 4 5
10Transaction volume low—Is the volume of transactions low? (A transaction is a set of changes to the database that must occur as a single entity. For example, a customer order with 10 line items would be a single transaction. This metric should measure the total number of transactions of all types that the system must support. For volume of one transaction per second, score 1; for over 20 TPS, score 5.) 1 2 3 4 5
11Average transaction simple—Is the average complexity of the transactions low? (A transaction that makes only a single change to a single table is very simple; however, a sales order entry transaction is very complex. This measure should reflect the "average" transaction complexity. ) 1 2 3 4 5

Application total score:_____divided by number of questions answered:_____equals risk factor:_____


DATA YES     NO
1Data models defined—Are the high-level data entities being used by this application well documented and understood? 1 2 3 4 5
2Data relationships defined—Are the relationships between data entities and elements well understood and documented? 1 2 3 4 5
3Data rules defined—Are the rules for valid and default field values and mandatory vs optional fields defined for each data element? 1 2 3 4 5
4Simple data—Is the data model on which the databases are based of low complexity? (For ten or less entity types, score 1; for one hundred or more entity types or subtypes, score 5.) 1 2 3 4 5
5Data access volumes low—Does this application require access to less than 1Gb of data? (For over 10Gb, score 5.) 1 2 3 4 5
6Data volatility low—Does the data change slowly? (For change of less than 5% per day, score 1; for over 50% per day, score 5.) 1 2 3 4 5
7Dedicated databases—Are databases used by this application inaccessible to any other application? 1 2 3 4 5
8Low data timeliness requirements—Is the application not dependent on extremely timely data? (If the data can be current as of a lengthy period such as last month, score 1; if data can be current as of last night, score 3; if the data must be up-to-the-minute; score 5.) 1 2 3 4 5

Data total score:_____divided by number of questions answered:_____equals risk factor:_____


DISTRIBUTION YES     NO
1Users at single site—Will this application serve users at only a single geographic site? (If all users are at a single site, score 1. If users are at multiple sites, but all sites are physically nearby, score 3. If users are distributed at multiple distant sites, score 5.) 1 2 3 4 5
2Small number of users—Will the number of users be small? (Less than 10, score 1; over 200, score 5.) 1 2 3 4 5
3Database access volume supported by network—Will all high-volume database access involve only high-bandwidth LAN/WAN links? 1 2 3 4 5
4Peak load capacity plan defined—If high-volume network links are not in place, have you made provisions to cope with peak loads required by your application? 1 2 3 4 5
5Plan deals with server failures—Does your database access plan take server failure into account? 1 2 3 4 5
6Single data update sources—Will all updates to each database table occur from a single location? (If a table can be updated by users at multiple locations, score 5.) 1 2 3 4 5
7Data at single site—Will all data accessed by this application be kept at a single site on a single database server? (If one server at a single site, score 1; for multiple servers at a single site, score 3; for multiple sites, score 5.) 1 2 3 4 5

If you scored a 1 on question 7 (i.e., all data will be kept in a single database on a single server), then skip the remaining questions in this section.

8Physically partitionable data—Is the data involved readily partitionable, with portions storable in separate databases, possibly on separate servers? (If data can be partitioned, then only a single copy of the data will exist, but the overall collection of data may be distributed to many servers. If data is easily partitionable, score 1; otherwise, score 5.) 1 2 3 4 5
9Few database servers—Are there few servers on a single LAN? (For two servers, score 1; for a small number of servers on a single LAN, score 3, for over ten servers or physically dispersed servers, score 5.) 1 2 3 4 5
10No replication of data—Will there be a single copy of each database table? (If multiple copies, score 5.) 1 2 3 4 5

If you score a 1 on question 10 (i.e., data is NOT replicated) then skip the remaining questions in this section.

11Single database vendor—Does replicated data exist in database engines provided by a single vendor? (If one database vendor, score 1; if multiple vendors, score 5.) 1 2 3 4 5
12Data synchronization not critical—Can each database update be made as soon as possible (i.e., replicated data does not have to be updated in all databases simultaneously)? (YES, score 1; if updates must be synchronized in real time, score 5.) 1 2 3 4 5
13Experience with replicated data—Does your development staff have experience developing with systems involving distributed replicated data? 1 2 3 4 5

Distribution total score:_____divided by number of questions answered:_____equals risk factor:_____


BUSINESS SUPPORT YES     NO
1Senior-level sponsors—Does this application have the support of very senior-level sponsors within the organization? (If this is a "grass roots" application with little or no high-level support, score 5.) 1 2 3 4 5
2Support commitment—Does the high-level support that exists translate into commitments to spend money and commit resources? 1 2 3 4 5
3End users want the application—Do the users of this application really want it? ( If users are neutral, score 3. If users perceive the application as being forced on them, score 5.) 1 2 3 4 5
4End-user commitment to the application—Is end-user management ready to commit people full time to the project? 1 2 3 4 5
5End-user commitment to a role in the development process—Are the end users themselves committed to participating in the development of this application? 1 2 3 4 5
6Monitoring of end-user involvement—Is end-user involvement monitored as part of the project planning and control process? 1 2 3 4 5

Support total score:_____divided by number of questions answered:_____equals risk factor:_____


FINANCIAL YES     NO
1Project business case—Does the project have a clearly identified cost justification with a measurable, quickly realized return on investment? 1 2 3 4 5
2Validated ROI—Has the ROI analysis been signed off by the appropriate financial analyst or by management? 1 2 3 4 5
3Project approval status—Has the budget for project capital, labor, and expenses been approved? 1 2 3 4 5
4Post delivery tracking—Is there commitment to tracking the business benefits of this application after its implementation? 1 2 3 4 5

Financial total score:_____divided by number of questions answered:_____equals risk factor:_____


PROJECT PLANNING AND CONTROL YES     NO
1Project planned and estimated—Is there a complete and realistic project plan? 1 2 3 4 5
2Risk identification process—Does the project plan include a regular and repeating process to identify risks that should be managed? 1 2 3 4 5
3Risk containment strategies—Are risk containment strategies identified by the risk identification process? 1 2 3 4 5
4Proven estimation model—Are project estimates based on a proven estimation model that has been calibrated for this environment and toolset? 1 2 3 4 5
5Frequent deliverables—Does delivery of system components take place at intervals of not more than three months? 1 2 3 4 5
6Funds included for tools, training, equipment, and research—Are there adequate funds included for tools, training, equipment, and research? 1 2 3 4 5
7Sufficient contingency—Have you built enough slack into your project plan to manage the risks you have identified? 1 2 3 4 5

Project planning/control total score:_____divided by number of questions answered:_____equals risk factor:_____


Overall Project Risk

Sum of risk factors from all twelve sections:_____divided by 12 equals project risk factor:_____

A factor of 2 or below indicates a relatively low-risk project. High potential business returns may justify higher risk levels, but only if there are no lower-risk alternatives and the risks are well managed. You should not attempt a high-risk project without substantial prior experience and strong support. ARCHITECTURE, STAFF, SUPPORT, PROJECT PLANNING AND CONTROL, and FINANCIAL sections must have low risk factors for a project to succeed.

This survey works best if all members of the team—developers, project leaders, managers, and end users—each fill it out and then discuss their answers. The team should develop risk-containment strategies for questions answered with a score of 3 or above. This process can often be more effective if an outside facilitator is used.

If you did not understand some of the questions in this profile, you should consider some basic education in client/server computing. The Socrates Group offers client/server seminars and consulting that address all of the issues described.
For information, email bob@socnet.com.

© The Socrates Group, 1995. All rights reserved.

[RETURN TO EXAMPLES]