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.
Client:_______________________________________
Project name:_________________________________
Project manager:______________________________
Assessment performed by:______________________ Date:_______________
VISION & ARCHITECTURE | YES NO |
1 | Business technology vision definedHave the business guidelines that define how information technology will be applied to business opportunities been decided and written down? | 1 2 3 4 5 |
2 | Business technology vision communicated to all developersHas 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 |
3 | Architecture project team in placeHas your organization chartered a team of people to establish your application (logical) and technical (physical) architectures? | 1 2 3 4 5 |
4 | Application architecture definedHas your architecture team defined the application architectures that will be used to develop client/server applications in your environment? | 1 2 3 4 5 |
5 | Technology selection process definedHas 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 |
6 | Technology architecture process in useHas the technology architecture process been applied successfully to the choice of distributing computing? | 1 2 3 4 5 |
7 | Distributed data issues identifiedHas the architecture team identified the key issues relating to whether and how you will distribute data? | 1 2 3 4 5 |
8 | Distributed data access strategy definedIf 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 |
1 | Experienced client/server developersDoes your development team include a reasonable proportion of people who have developed successful client/server applications using similar environments? | 1 2 3 4 5 |
2 | Common vision and vocabularyHave 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 |
3 | Training budgetedHave 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 |
4 | Training scheduledHave you included "just-in-time" product- or technology-specific training for every member of the team? | 1 2 3 4 5 |
5 | Help desk budgeted and staffedDoes your organization have a trained help desk that will provide support for this application when it is deployed? | 1 2 3 4 5 |
5 | Experienced consultants identifiedHave 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:_____
TECHNOLOGYNETWORKS | YES NO |
1 | LAN in placeIs a LAN in place at all locations where this application will be deployed? | 1 2 3 4 5 |
2 | LAN compatible between all locationsAre all locations using the same LAN protocols and network operating systems? | 1 2 3 4 5 |
3 | LAN has adequate bandwidthDoes the LAN have adequate bandwidth to support the anticipated load? | 1 2 3 4 5 |
4 | WAN in placeAre the requisite wide area networking links in place? | 1 2 3 4 5 |
5 | WAN has adequate bandwidthHas WAN configuration been based on a capacity plan that takes the proposed application's characteristics into account? | 1 2 3 4 5 |
6 | WAN capacity overload contingency plan establishedAre there contingency plans to cope with bottlenecks and/or unexpected changes in business location or activity volumes? | 1 2 3 4 5 |
7 | Wide area network systems managementIs there an effective wide area network management process in place? | 1 2 3 4 5 |
8 | Centralized network managementIs WAN administration centralized? (If WAN is totally managed from a single site, score 1; if fully distributed, score 5.) | 1 2 3 4 5 |
9 | Automated WAN support toolsAre WAN support procedures supported by up-to-date automation? | 1 2 3 4 5 |
10 | Wide area network support team on board and trainedDoes your organization have a team of people who are trained and dedicated to supporting the enterprise network? | 1 2 3 4 5 |
11 | WAN support team accessible to developersAre 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:_____
TECHNOLOGYSERVERS | YES NO |
1 | Server platform(s)Have you selected the hardware and operating system for all servers? | 1 2 3 4 5 |
2 | Standardized server environmentsAre all servers that will participate in this application running on the same hardware, under the same operating system? | 1 2 3 4 5 |
3 | Servers under configuration managementAre all of these servers covered by configuration management procedures? | 1 2 3 4 5 |
4 | Proven componentsAre 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 |
5 | Server database engines selectedHave you selected a server database engine for use by this application? | 1 2 3 4 5 |
6 | Single database technology selectedHave 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 |
7 | Server database engines experienceDoes your team already have experience using the selected database engine(s) together with the server operating systems? | 1 2 3 4 5 |
8 | Servers in placeAre all servers that will be used by this application already in place, configured, programmed, and tested? | 1 2 3 4 5 |
9 | Network and server platform sharingWill 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:_____
TECHNOLOGYDESKTOP ENVIRONMENTS | YES NO |
1 | Desktop platform(s)Have you selected the hardware, operating systems, and other software that will run on all desktops? | 1 2 3 4 5 |
2 | Standardized desktop environmentsAre all desktops that will participate in this application using the same general hardware configuration, operating system, and graphical environment? | 1 2 3 4 5 |
3 | Configuration management proceduresAre all participating desktops managed by your configuration management procedures? | 1 2 3 4 5 |
4 | Proven componentsAre 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 |
5 | Desktops in placeDoes each end user of the system already have a desktop in place that can support the proposed system? | 1 2 3 4 5 |
6 | Trained end usersAre users trained in the use of the desktop environment? | 1 2 3 4 5 |
7 | Trained support staffIs your internal support staff in place and trained to support these desktops? | 1 2 3 4 5 |
8 | Compatible desktops & serversHave the desktops and servers that will participate in this application been proven to be compatible with each other? | 1 2 3 4 5 |
9 | Desktop to server connectivity experienceDo you have people on staff who have experience in connecting the desktop and server environments? | 1 2 3 4 5 |
10 | Desktop data access interface(s) selectedHave you selected a desktop database interface(s) for use by this application? | 1 2 3 4 5 |
11 | Single data access interfaceHave 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 |
12 | Data access interface provided by DBMS vendorIs the data access interface provided by the same vendor as the server database engine? | 1 2 3 4 5 |
13 | Database engine(s) experienceDoes your team already have experience using the selected database engine(s) together with the desktop and server operating systems? | 1 2 3 4 5 |
14 | Desktop workstations not sharedWill 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 |
1 | Development method selectedHave 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 |
2 | Rapid application development methodDoes the selected development method support iterative requirements definition, design, development, and user interface prototyping? | 1 2 3 4 5 |
3 | Mature development methodIs your selected development method mature, with a proven track record for developing distributed client/server GUI applications? | 1 2 3 4 5 |
4 | Development method experienceDoes your team already have experience using the selected development method? | 1 2 3 4 5 |
5 | User involvement with developmentDoes your development method provide for full time end user involvement at all stages of the development process? | 1 2 3 4 5 |
6 | User interface development tools selectedHave you selected the tools that will be used to implement the desktop elements of the applications? | 1 2 3 4 5 |
7 | Use mainstream graphical user interfaceWill the end user interface utilize a mainstream GUI? | 1 2 3 4 5 |
8 | Desktop tools support GUIDo 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 |
9 | User interface development tools experienceDoes 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 |
10 | Development tools support for database engineAre the development tools closely integrated with the selected database engine(s)? | 1 2 3 4 5 |
11 | Single development environment proposedHow 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.
12 | Business 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 |
13 | Business 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 |
14 | Business 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 |
15 | Business 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 |
16 | Business 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 |
17 | Application 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 |
18 | Support 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 |
19 | Application 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 |
20 | Approach 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 |
21 | Performance engineering process supports LAN/WAN—Does your capacity planning and performance engineering process cover LAN, WAN and server environments? | 1 2 3 4 5 |
22 | Performance engineering process uses automated tools—Is your capacity planning and performance engineering process supported by automated tools? | 1 2 3 4 5 |
23 | Use 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 |
24 | Performance 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 |
25 | Performance 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 | YES NO |
1 | Availability 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 |
2 | Delivery 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 |
3 | Analytical 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 |
4 | Analytical 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 |
5 | Application 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 |
6 | Complex 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 |
7 | Business 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 |
8 | Users agree with process definition—Are the users of the system in agreement that these processes are well understood? | 1 2 3 4 5 |
9 | Perceived value added—Does implementation of this system provide substantial value to the ongoing operation of the organization? | 1 2 3 4 5 |
10 | Transaction 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 |
11 | Average 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 |
1 | Data models defined—Are the high-level data entities being used by this application well documented and understood? | 1 2 3 4 5 |
2 | Data relationships defined—Are the relationships between data entities and elements well understood and documented? | 1 2 3 4 5 |
3 | Data 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 |
4 | Simple 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 |
5 | Data access volumes low—Does this application require access to less than 1Gb of data? (For over 10Gb, score 5.) | 1 2 3 4 5 |
6 | Data 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 |
7 | Dedicated databases—Are databases used by this application inaccessible to any other application? | 1 2 3 4 5 |
8 | Low 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 |
1 | Users 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 |
2 | Small number of users—Will the number of users be small? (Less than 10, score 1; over 200, score 5.) | 1 2 3 4 5 |
3 | Database access volume supported by network—Will all high-volume database access involve only high-bandwidth LAN/WAN links? | 1 2 3 4 5 |
4 | Peak 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 |
5 | Plan deals with server failures—Does your database access plan take server failure into account? | 1 2 3 4 5 |
6 | Single 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 |
7 | Data 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.
8 | Physically 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 |
9 | Few 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 |
10 | No 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.
11 | Single 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 |
12 | Data 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 |
13 | Experience 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 |
1 | Senior-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 |
2 | Support commitment—Does the high-level support that exists translate into commitments to spend money and commit resources? | 1 2 3 4 5 |
3 | End 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 |
4 | End-user commitment to the application—Is end-user management ready to commit people full time to the project? | 1 2 3 4 5 |
5 | End-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 |
6 | Monitoring 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 |
1 | Project business case—Does the project have a clearly identified cost justification with a measurable, quickly realized return on investment? | 1 2 3 4 5 |
2 | Validated ROI—Has the ROI analysis been signed off by the appropriate financial analyst or by management? | 1 2 3 4 5 |
3 | Project approval status—Has the budget for project capital, labor, and expenses been approved? | 1 2 3 4 5 |
4 | Post 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 |
1 | Project planned and estimated—Is there a complete and realistic project plan? | 1 2 3 4 5 |
2 | Risk identification process—Does the project plan include a regular and repeating process to identify risks that should be managed? | 1 2 3 4 5 |
3 | Risk containment strategies—Are risk containment strategies identified by the risk identification process? | 1 2 3 4 5 |
4 | Proven 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 |
5 | Frequent deliverables—Does delivery of system components take place at intervals of not more than three months? | 1 2 3 4 5 |
6 | Funds included for tools, training, equipment, and research—Are there adequate funds included for tools, training, equipment, and research? | 1 2 3 4 5 |
7 | Sufficient 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:_____
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.