The following provides a detailed checklist to assist in reviewing the health of a project.
1. Project Planning
1.1 Does the project have a formal Project Plan?
1.2 Are the key elements of a Project Plan present?
a. Project Definition & Scope?
b. Project Objectives?
c. Cost / Benefit Analysis?
d. Staffing Requirements?
e. Time Line?
f. Risk Analysis?
g. Critical Success Criteria (if we meet these, we’ve met our goals?
1.3 Have all stakeholders been identified?
1.4 Is a Stakeholder Management plan in place? Have project accountabilities & responsibilities been clearly defined?
1.5 Have the scope, objectives, costs, benefits and impacts been communicated to all involved and/or impacted stakeholders and work groups?
1.6 a) Have all involved stakeholders and work groups committed to the project?
1.6 b) Have all necessary approvals been obtained?
1.7 Has a project Communications Plan been developed?
1.8 Are funding and staffing resource estimates sufficiently detailed and documented for use in planning and tracking the project?
1.9 Does a documented project organizational policy & plan (i.e. governance model) exist?
1.10 Have adequate resources been provided by management to ensure project success?
1.11 Is current scope of the project substantially different than that originally defined in the approved project plan?
1.12 Has the approach and development strategy of the project been defined, documented and accepted by the appropriate stakeholders?
1.13 Have project management standards and procedures been established and documented?
1.14 Is there a Steering Committee in place?
1.15 Is the Steering Committee active in project oversight?
1.16 Are there procedures in place to effectively manage inter dependencies with other projects / systems?
2. Project Management
2.1 Have the key elements of a coherent project management strategy been established?
a. Project tracking plan & methodology
b. Project status reporting structure & process
c. Change Management plan & tracking
d. Issues Management process & tracking plan
e. Risk Management Plan
f. Software Quality Assurance
g. Software Configuration Management
2.2Project Scheduling & Tracking
2.2.1 Has a structured approach been used to break work effort into manageable components?
2.2.2 Are team members involved in the development of activity & task decomposition?
2.2.3 Are individual tasks of reasonable duration (8–40 hrs)?
2.2.4 Are milestone deliverables effectively tracked and compared to project plan?
2.2.5 Does the detailed project plan identify individual responsibilities for the next 4–6 weeks?
2.2.6 Have activity relationships and interdependencies within tasks been adequately identified?
2.2.7 Are target dates established for each milestone deliverable?
2.2.8 Are corrective actions taken when actual results are substantially different from detailed project plan? Describe.
2.2.9 Are changes in deliverable commitments agreed to by all affected groups & individuals?
2.2.10 Is the organization structure for both tracking & controlling project activities work products & costs (effort, schedule & budget) well defined and assigned to a specific individual?
2.2.11 Are measurements and feedback mechanisms incorporated in tracking work effort & refining work estimating techniques?
2.2.12 Have procedures for identifying variances from estimates & adjusting the detailed work program been established?
2.2.13 Is project work proceeding in accordance with the original project schedule?
2.2.14 If not, have all project delays been adequately accounted for, communicated to all stakeholders and adjustments made in overall project schedule?
2.2.15 Is there general agreement & acceptance of the current status and progress of the project?
2.2.16 Is PERT / Critical Path or equivalent methodology being used? Can you see the critical path on the plan?
2.2.17 Is an industry recognized mechanized support tool(s) being used for project scheduling & tracking?
2.2.18 Is it possible to track all classes of project work (e.g. scheduled, un-scheduled, defect repair, etc.)? Can you compare work done to the baseline?
2.3 Project Status Reporting
2.3.1 Is project status reviewed with senior management at appropriate intervals? What are they?
a. Overall status
b. Project performance (achievements & milestones)
c. Open issues
e. Action items
f. Cost & time performance against plan
g. Quality metrics
h. Client involvement
2.3.2 Are internal project status meetings held at reasonable intervals?
2.3.3 Are sub-project reviews held at reasonable intervals?
2.3.4 Have adequate procedures been put in place for project coordination and status reporting across project boundaries (ie. interdependent software development among interfacing systems)?
3.5 Do project teams & team members report on status / activities / progress?
2.4 Project Estimating
2.4.1 Are multiple estimation methods being employed?
2.4.2 Are current project time & resource estimates reasonable based on the current project stage?
2.4.3 Are actuals compared against estimates to analyze and correct variances?
2.4.4 Are software metrics formally captured, analyzed and used as a basis for other project estimates?
2.4.5 Is the PPO estimating methodology being used and followed?
2.4.6 Do the estimating techniques include any of the following features:
a. Ranged estimates?
b. Sensitivity analysis?
c. Risk rating?
d. Quality Assurance overheads?
2.4.7 Are project team members involved in detailed estimating and scheduling?
2.4.8 Are stakeholders aware and supportive of the principles and practices of modern software estimation?
2.5 Risk Management
2.5.1 Was an original risk assessment completed?
2.5.2 Is there a process in place to monitor project risks?
2.5.3 Has provision been made to reassess project risks at various project stages?
2.5.4 Have all unresolved risks been documented?
2.5.5 Have all unimplemented risk strategies been escalated to an issues log?
3 Quality Management
3.1 Does the project have a ‘Quality Culture’?
3.2 Is there a Quality Plan covering all Policies, Guidelines and Procedures?
3.3 Quality Assurance
3.3.1 Has an overall Quality Assurance Plan been developed for the project?
3.3.2 Does the plan address key project elements?
a. Project Planning?
b. Project Management?
c. Software Quality Assurance (SQA)3.3.3Does the SQA process provide objective verification of adherence to applicable standards, procedures & requirements?
3.3.4 Are all key components of an SQA plan present?
a. SQA Plan
b. Software Configuration Management (SCM)
c. Software development standards & methods
e. Testing Standards & Methodology
f. Data Architecture Standards
g. Data Naming Conventions
h. Technology Architecture
i. Software Metrics
3.3.5 Are the results of SQA reviews provided to affected groups & individuals?
3.3.6 Are adequate resources provided for the SQA function? Are SQA resources experienced?
3.3.7 Are the SQA processes in place and being effectively used?
3.4 Is there a set of procedures defining the scope, procedures and deliverables defining Quality Control?
3.5 Are quality metrics defined?3.6Is there a set of procedures to capture, analyze and act on quality metrics?
3.7 Software Configuration Management (SCM)
3.7.1 Has SCM been implemented for this project?
3.7.2 Has an industry recognized SCM software version management & control tool been implemented?
3.7.3 Is SCM version management and control effectively linked with the testing function to ensure integration and regression testing have been performed?
3.7.4 Has an automated Change Management tool been implemented?
3.7.5 Is the SCM function adequately staffed?
3.7.6 Is the Testing Coordination function separate from the development staff?
4.0 Management Procedures4.1Vendor Management
4.1.1 Is there a formal set of procedures (for status reporting, contract negotiation & review, time/invoice reconciliation, etc.) supporting Vendor Management?
4.2 Issues Management
4.2.1 Is there a formal set of procedures supporting Issues Management?
4.2.2 Is there any form of automated support for Issues Management?
4.2.3 Are issues raised, assessed, actioned, and resolved in a timely and efficient manner?
4.3 Stakeholder Management
4.3.1 Is there a formal set of procedures supporting Stakeholder Management?
4.3.2 Is it standard practice to formally commit stakeholders to the project via agreements?
4.3.3 Does a comprehensive set of Stakeholder Agreements exist? Do we have statements delineating what each stakeholder has agreed to do?
5.1 Are all resource assumptions documented?
5.2 Does the project team have the skills necessary to successfully complete current project(s) and support the application?
5.3 Have arrangements been made to obtain special expertise or competence by consulting or referencing:
a. Similar projects?
b. Published materials?
c. Personnel with expertise?
d. Outside experts?
5.4 Have the personnel with the necessary skills and competence been identified and has agreement for their participation in the project been reached with the appropriate management?.
5.5 Is there a project organization chart showing the reporting relationships and responsibilities for each position?
5.6 Has a proper project work location been established that will allow the team to work together with user personnel?
5.7 Does the detailed work plan match the complexity of tasks with the capabilities of personnel?
5.8 Has allowance been made for vacations, holidays, training (learning time for each team member), staff promotions & staff turnovers?
5.9 Has adequate time for orientation & training of project staff been provided for in relation to technical nature of the Application and the experience levels of project personnel?
5.10 Has appropriate allowance been made for the effect of the learning curve on all personnel joining the project who do not have the required prior industry, functional & technical expertise?
5.11 Are the appropriate IT resources adequate to meet planned commitments?
5.12 Are enough systems & user personnel assigned to the project?
5.13 Are the people assigned to the project sufficiently qualified?
5.14 Are project managers participating in the project adequately to know its true status first hand?
a. Is a qualified person sufficiently involved in each critical area?
b. Are communication lines working?
5.15 Is a senior systems department representative allocated to each user department to provide liaison and support?
Does the project have both a business team leader and a technical team leader?
5.16 Do the project team have a good understanding of the existing and/or proposed hardware / software environments?
5.17 Are project leaders committed to this project full time?
5.18 Are project team members committed full-time?
5.19 Is the Production Support function adequately resourced? Is the Production Support function resourced full-time?
5.20 Is there a production support plan, with a plan for transition from development to production?
6.1 Is user involvement adequate?
6.2 Are the people assigned to the project sufficiently qualified?
6.3 Is there a formal Service Level Agreement (SLA) with the appropriate client departments?
6.4 Does the SLA define:
a. The Project/Application Scope?
b. The objectives of the Agreement?
c. The business areas to be supported?
d. The systems / applications to be supported?
e. The basis for costs and charges?
f. The extent of user participation?
g. The frequency of progress reporting – i.e. weekly, bi-weekly, monthly, etc.?
h. The form of the final report?
i. The work plan(s)?
6.5 Are the project team members located locally to the users?
6.6 Has the provision been made for training staff, including:
a. Formal training related to the project?
b. On the job training?
c. Formal training not related to the project?
d. Vendor training?
6.7 Are users adequately trained and are all training requirements filled?
7.0 Development Approach
7.1.1 Is a recognized development method(s) been followed?
7.1.2 If more than one method has been implemented, does a documented process exist for effective integration between / among methods?
7.1.3 Is the selected method appropriate for the Application, Technical and Data Architectures?
7.2.1 Are CASE tools being used?
7.2.2 Does the CASE ‘integration strategy’ include a process for reverse integration (i.e. updating the analysis tool if a change is made at the design level)?
7.3 Are structured requirements & design reviews and/or walkthroughs in use?
7.4 Are detailed design and code inspections in use?
7.5 Analysis & Design
7.5.1 Are requirements & design standards in place?
7.5.2 Are specifications clearly traceable from physical design to logical requirements?
7.5.3 Are the requirements and design methods suitable for the type of application & environment?
7.5.4 Do the design specification documents reference:
a. Purpose / scope?
b. Glossary of terms?
c. Requirements specifications?
d. Modular decomposition diagrams?
e. Technical environment specification?
g. Testing & Data Conversion strategy?
7.6.1 Are coding standards in place?
7.6.2 Is there a clearly documented relationship between logical (conceptual) design and technical design?
7.6.3 Is design and code re-use supported?
7.6.4 Are program control procedures in place?
7.6.5 Are there procedures to govern unit test cases, conditions, expected results, logs & sign-offs?
7.6.6 Do adequate development and test environments exist?
7.7.1 Which of the following test phases are covered by the methodology:
a. Unit Testing?
b. System Testing?
c. Integration Testing?
d. User Acceptance Testing?
7.7.2 Is a test strategy in place?
7.7.3 Do detailed test plans/cases exist?
7.7.4 Are all necessary Quality Control procedures in place?
7.7.5 Is there an audit trail of all tests and results?
7.7.6 Are effective testing tools incorporated?
7.7.7 Is adequate allowance made for regression testing?
7.7.8 Is adequate allowance made for defect repair both before and after implementation?
7.7.9 Will the following components of systems testing be carried out:
8.0 Application Architecture
8.1 Are object-based design and layered architecture principles being employed?
8.2 Does the application conform to recognized industry architecture standards?
8.3 Is the application being implemented using client / server architecture?
8.4 Is business process re-engineering being undertaken in parallel with and/or as part of this project?
8.5 Are there limitations to business operation flexibility due to the chosen Application Architecture?
8.6 Are application interfaces designed in such a way as to facilitate maintenance and change?
8.7 Does the Application Architecture support information needs at all levels of user operations (Strategic / Tactical / Operational)?
8.8 Client / Server
8.8.1 Are there design limitations which are impacting service delivery and/or performance?
8.8.2 Is the current architecture scalable?
9.0 Data Architecture and Standards
9.1 Is the project operating under a formal set of data architecture standards?
9.2 Does a formal data architecture and model exist for the application?
9.3 Has a fully attributed data model been developed for the application?
9.4 Has the data model been integrated with the other user and system views of the data?
9.5 Is an industry recognized mechanized tool being used to support the data modelling area?
9.6 Has a set of data naming conventions and/or standards been established?
9.7 Is an active data dictionary in place?
9.8 Is the data dictionary fully integrated with the development method?
9.9 Has the DBMS been optimized to support any of the following:
b. Decision Support / EIS?
c. Data Warehousing?
9.10 Is the DBMS cost effective against expectations as defined in the Business Case?
9.11 Is the DBMS portable across target platforms?
9.12 Does DBMS vendor support meet formal agreements and/or expectations?
9.13 Is there (or has there been) significant interruptions to development or support activities due to DBMS behavior?
9.14 Does or will the DBMS support extensibility appropriate for current and future business needs?
9.15 Is there a clear upgrade path to future Phases of the DBMS?
9.16 If an alternative DBMS is being considered, is there a proven conversion path?
9.17 Is the DBMS consistent with SOE?
9.18 Is the DBMS regarded as ‘State-of-the-Art’?
10.0 Technical Architecture
10.1 Is the choice of hardware platform consistent with the Standard Operating Environment (SOE)?
10.2 Is the software environment consistent with SOE?
10.3 Is the development language platform-independent?
10.4 Is the mixture of technologies proven, stable and easily supportable?
10.5 Is TCP/IP or other industry recognized application interface standard being employed?
10.6 Does the user interface employ GUI representation?
10.7 Is the application software cost effective against expectations as defined in the Business Case?
10.8 Is the application software portable across target platforms?
10.9 Does the application software vendor(s) support meet formal agreements and/or expectations?
10.10 Is there (or has there been) significant interruptions to development or support activities due to application software behavior?
10.11 Does or will the application software support extensibility appropriate for current and future business needs?
10.12 Is there a clear upgrade path to future Phases of the application software?
10.13 Is the software regarded as ‘State-of-the-Art’?
11.1 Has the cost effectiveness of the platforms been measured & compared against estimates in the Business Case?
11.2 Is there adequate project-based technical support?
11.3 Is there adequate vendor-based technical support?
11.4 Do the platforms meet reliability requirements?
11.5 Does the mixture of platforms support portability of software and DBMS?
11.6 Do the platforms represent ‘State-of-the Art’?
11.7 Are the platforms considered efficient in transaction processing and data storage?
11.8 Are the platforms the SOE?
11.9 Do Service Level Agreements exist for Platform (Hardware) Support?
12.0 Networks & Communications
12.1 Has the cost effectiveness of the networks been measured & compared against estimates in the Business Case?
12.2 Is there adequate project-based technical support?
12.3 Is there adequate vendor-based technical support?
12.4 Do the networks meet reliability requirements?
12.5 Do the networks represent ‘State-of-the Art’?
12.6 Do the networks support business needs in terms of bandwidth?
12.7 Are all components of the networks in accordance with the SOE?
12.8 Do Service Level Agreements exist for Network Support?
13.0 Production & Operations Support
13.1 Do adequate operations procedures exist?
13.2 Are operations support measures in place for:
b. Inquiries & Decision Support
c. Utilities & back-ups
13.3 Do formal & documented procedures exist for:
a. User (security) maintenance?
b. Acceptance of applications to Production Support?
13.4 Is the Production Support (Application Maintenance) function well defined?
13.5 Are any of the following types of maintenance carried out on a planned basis:
a. Perfective maintenance
b. Preventative maintenance
c. Adaptive maintenance
13.6 Are Service Level Agreements in place between the Support Functions and the user departments?
13.7 Is production problem resolution supported by:
a. Formal and agreed procedures?
b. Accurate time & cost estimating?
13.8 Are Maintenance Metrics defined and in place?
(These metrics may include: defect rates; problems per no. of users; defects per module/system; defects per Function Point; mean time to repair defect; mean cost to repair defect)
13.9 Is there an improvement program in place?
13.10 Are Help-desk functions well-defined, efficient and adequately resourced?