Program/Software Development Life Cycle - Project failures Consequences, causes and solutions January 2013 Alain Chacun – all rights reserved 1 Project failures - Consequences, causes and solutions Many IT projects fail being either: • Cancelled or • Going live with an over budget and an over time in comparison to the original forecast with in most cases an implemented solution that does not meet the business user expectations WHY? January 2013 Alain Chacun – all rights reserved 2 Project failures - Consequences, causes and solutions Some figures: The Standish Group Research reveals in the Chaos Report 1995 that: About 30% of IT projects are cancelled before completion About 52% of IT projects are challenged with a cost over of 189% of their original estimates About 16% of IT projects are completed on-time and on-budget The same Standish Group Research reveals in the Chaos Report 2011 that: About 21% of IT projects are cancelled before completion (-9%) About 42% of IT projects are challenged (-10%) About 37% of IT projects are completed on-time and on-budget (+11%) If progress have been shown in 16 years, it remains nonetheless 63 % of projects either cancelled or over time and over budget. Source: Standish Group Report http://www.projectsmart.co.uk/docs/chaos-report.pdf January 2013 Alain Chacun – all rights reserved 3 Project failures - Consequences, causes and solutions This progress is partly thanks to: - A better project management in general - More small software developments mainly with the web based applications not as complex to manage as large programs including several applications and connectivity complexity. But as we saw, 63% of projects remain either cancelled or challenged for completion. Progress remains to be done. January 2013 Alain Chacun – all rights reserved 4 Project failures - Consequences, causes and solutions Consequences of failure (1): Money lost or additional costs 1) When the IT project is cancelled, Waste of time, money and resources. In 1995 in USA it was estimated that American companies spent $81 billion per year for cancelled software projects. 2) When the IT project is challenged: Requirements are not fully met, the implemented solution does not meet the business user expectations Milestones not met, planning slips, behind the schedule, go-live date postponed 1, 2, n times Project over initial budget Sustainability of the investment: the implemented solution might not be viable on the medium/long term regarding the competitors/the market evolution requiring new investments In 1995 In USA, it was estimated that American companies spent an additional $59 billion per year to complete their software projects. Source: Standish Group Report http://www.projectsmart.co.uk/docs/chaos-report.pdf January 2013 Alain Chacun – all rights reserved 5 Project failures - Consequences, causes and solutions Consequences of failure (2): Defects costs Another consequence of the project failure is the number of defects increasing due to specification changes impacting the code and finally the overall quality of the project. The later a defect is found, the more expensive the resolution will be. Source http://en.wikipedia.org/wiki/Software_testing January 2013 Alain Chacun – all rights reserved 6 Project failures - Consequences, causes and solutions According to the Standish Group Research, the factors that cause projects to be cancelled are: 1. Incomplete Requirements 13.1% 2. Lack of User Involvement 12.4% 3. Lack of Resources 10.6% 4. Unrealistic Expectations 9.9% 5. Lack of Executive Support 9.3% 6. Changing Requirements & Specifications 8.7% 7. Lack of Planning 8.1% 8. Didn't Need It Any Longer 7.5% 9. Lack of IT Management 6.2% 10. Technology Illiteracy 4.3% Other 9.9% 9.9% Source: Standish Group Report http://www.projectsmart.co.uk/docs/chaos-report.pdf January 2013 Alain Chacun – all rights reserved 7 Project failures - Consequences, causes and solutions According to the Standish Group Research, the factors that cause projects to be delayed are: 1. Lack of User Input 12.8% 2. Incomplete Requirements & Specifications 12.3% 3. Changing Requirements & Specifications 11.8% 4. Lack of Executive Support 7.5% 5. Technology Incompetence 7.0% 6. Lack of Resources 6.4% 7. Unrealistic Expectations 5.9% 8. Unclear Objectives 5.3% 9. Unrealistic Time Frames 4.3% 10. New Technology 3.7% Other 23.0% Source: Standish Group Report http://www.projectsmart.co.uk/docs/chaos-report.pdf January 2013 Alain Chacun – all rights reserved 8 Project failures - Consequences, causes and solutions To summarize: The main causes of projects cancelled or delayed are: The lack of user input/involvement The incomplete or changing requirements and specifications The lack of executive support The unrealistic expectation Source: Standish Group Report http://www.projectsmart.co.uk/docs/chaos-report.pdf According to the OASIG study (1995), the TOP5 causes of failure are: The lack of attention to the human and organizational aspects of IT The poor project management The poor articulation of users requirements The inadequate attention to business needs and goals The failure to involve users appropriately Source: IT Cortex www.it-cortex.com/Stat_Failure_Cause.htm January 2013 Alain Chacun – all rights reserved 9 Project failures - Consequences, causes and solutions We can define the TOP5 causes of failure as follows: Incomplete requirements / Poor articulation of users requirements Lack of user involvement / Failure to involve users appropriately Lack of resources / Poor project management Lack of attention to the human and organizational aspects of IT / inadequate attention to business needs and goals Unrealistic expectations Additional consequences for the project are: Part of code and test cases/scenario to be reviewed / rewritten because of inaccurate functional specifications Regression and additional defects in the functionalities because of respecifications and code rewriting Re-schedule of the planning, milestones slippery, go-live date postponed January 2013 Alain Chacun – all rights reserved 10 Project failures - Consequences, causes and solutions Two additional causes of project failure to be clearly identified are: 1) The lack of executive support / of a ‘sponsor’ in the project. The role of the ‘sponsor’ is to : Clarify the business case (reason of the project) Define the business targets for the internal services, the clients, versus the competitors at short, medium, long term Explained to the business users the necessity of the project A business case and a Project Initiation Document (PID) should be written in that purpose. 2) The lack of QA role of the test team during specification phase and before test preparation. The test team has to be involved early in the SDLC (Software Development Life Cycle) to provide with static testing by reviewing the quality of the deliverables to ensure consistency between them and from the very beginning of the project starting with the PID. If the test team cannot play this role, his role will be limited to dynamic testing once the code will be delivered. This code will be based on requirements that have not been ‘static’ tested increasing the risk to not to meet the business expectations. January 2013 Alain Chacun – all rights reserved 11 Project failures - Consequences, causes and solutions QA Role of the test team Specification phase / static testing Dynamic testing Project Initiation Document Test Strategy User requirements Test team has to be involved early in the SDLC Timeline January 2013 UAT SIT Functional specifications Technical designs Test Planning UT If the test team is involved in the SDLC once the code is delivered, it is too late as the discrepancies between the requirements have not been identified Alain Chacun – all rights reserved Coding 12 Project failures - Consequences, causes and solutions According to the Standish Group surveyed IT executive managers, the three majors reason for a project to succeed are user involvement, executive management support, and a clear statement of requirements. Below is the complete list of software project success factor: 1. User Involvement 15.9% 2. Executive Management Support 13.9% 3. Clear Statement of Requirements 13.0% 4. Proper Planning 9.6% 5. Realistic Expectations 8.2% 6. Smaller Project Milestones 7.7% 7. Competent Staff 7.2% 8. Ownership 5.3% 9. Clear Vision & Objectives 2.9% 10. Hard-Working, Focused Staff 2.4% Other 13.9% Source: Standish Group Report http://www.projectsmart.co.uk/docs/chaos-report.pdf January 2013 Alain Chacun – all rights reserved 13 Project failures - Consequences, causes and solutions 1) Provide with accurate business user requirements (1): A key factor is to bring some methodology and best practices into the roll-out of the project from its initiation to the post go-live stage. Methodology means: executive management support/strong sponsor leadership, business users involvement, requirements, planning, QA&Testing are the key success factors. a) ‘AS IS’ and ‘TO BE’ situation: With the business users, a clear understanding of the ‘AS IS’ situation is essential to defined the ‘TO BE’ situation, then to define the solution to be implemented. The study of the ‘AS IS’ situation allows to clearly identify what has to be kept, decommissioned, enhanced and implemented to define the ‘TO BE’ situation (future solution) January 2013 Alain Chacun – all rights reserved 14 Project failures - Consequences, causes and solutions 1) Provide with accurate user requirements (2): b) Business Process Management (BPM - BA role, swim lanes/business processes and conceptualisation) It is essential to clearly understand the current Business Process in order to be able to reconsider the Business Process Management to match the expectations The role of the business users is crucial to put on paper clear business requirements with the help of the business analyst. The psychological aspect has to be considered because the business users will be asked to change their uses and habits with the new solution to be implemented A swim lanes / Business Process Management graph helps to understand the organisation of the company, the interactions between departments, who is doing what in which order, in which timeframe The requirements must be conceptualised (conceptualisation of the more important and complex treatments, conceptualisation of data, screens and reports prototyping…) January 2013 Alain Chacun – all rights reserved 15 Project failures - Consequences, causes and solutions 1) Provide with accurate user requirements (3): c) Choice of the future solution Once the ‘TO BE’ situation is known, the next step is to select a panel of solutions fitting the expectations Solutions must be rated against the business requirements, the Business Process Management, the ‘TO BE’ situation, the conceptualised treatment and data, the screens and reports prototyping. Representative business users must be involved in the ratting of the solution. January 2013 Alain Chacun – all rights reserved 16 Project failures - Consequences, causes and solutions 1) Provide with accurate user requirements (4): d) To resume: - PID is done - ‘AS IS’ and ‘TO BE’ situations are known - Main treatments and data are conceptualised - Screens and reports are prototyped - A panel of possible solutions is proposed. The solutions are rated The first deliverables are there. The test team must be involved during all these stages to play a QA role by checking the quality of the deliverables and their consistencies. The QA&test team has to identify potential discrepancies reviewing the PID, business requirements, the business process management, screens and reports prototyped, the conceptualised main treatments and data Once this major QA milestone is validated: The best solutions can be selected The QA&test team can start to work on the test strategy and the test planning, to estimate the resource needs for test (human, test environment, test data…), to prepare the UAT test scenario and test cases The overall project planning is re-assessed The functional analysis can start January 2013 Alain Chacun – all rights reserved 17 Project failures - Consequences, causes and solutions 1) Provide with accurate user requirements (5): e) The V model: Specification phase / static testing Dynamic testing Project Initiation Document Test Strategy User requirements Test Planning UAT Functional specifications Coding Timeline January 2013 Alain Chacun – all rights reserved 18 Project failures - Consequences, causes and solutions 1) Provide with accurate user requirements (6): f) Considering the TOP 5 causes of project failure, the progress is as follows: TOP 5 causes of project failure Status Incomplete requirements / Poor articulation of users requirements User requirements identified and matched against PID, functional specification to be done Lack of user involvement / Failure to involve users appropriately Users are involved in the business requirements and the decision of the solution. Their involvement continues with their answers coming up following questions during functional specifications Lack of resources / Poor project management Overall planning, first resource estimations and go-live date estimated (but to be refined once functional specifications are accurate) Lack of attention to the human and organizational aspects of IT / inadequate attention to business needs and goals ‘AS IS’ and ‘TO BE’ situations done, swim lanes/business processes and user requirements done Unrealistic expectations Expectations assessed during the PID, business needs January 2013 Alain Chacun – all rights reserved 19 Project failures - Consequences, causes and solutions 2) Provide with accurate functional specifications, technical specifications, solution architecture: a) The preparation of the functional and technical specification including the solution architecture raises questions. Discrepancies between the deliverables are identified, adjustments and update are done on all deliverables where necessary b) QA&testing team continues his QA role to: Ensure consistency between the deliverables Adjust the UAT, SIT and Unit Test cases Adjust the test strategy and the test planning The project enters in an adjustment phase in an iterative mode The quality of the project increases by ensuring a top bottom consistency between the deliverables January 2013 Alain Chacun – all rights reserved 20 Project failures - Consequences, causes and solutions The V model: Specification phase / static testing Dynamic testing Project Initiation Document Test Strategy User requirements Test Planning UAT SIT Functional specifications Technical designs UT Coding Timeline January 2013 Alain Chacun – all rights reserved 21 Project failures - Consequences, causes and solutions 2) c) Provide with accurate functional specifications, technical specifications, solution architecture: Considering the TOP 5 causes of project failure, the progress is as follows TOP 5 causes of project failure Status Incomplete requirements / Poor articulation of users requirements User requirements identified and matched against PID, functional specification verified and matched with business requirements Lack of user involvement / Failure to involve users appropriately Users are involved in the business requirements and the decision of the solution. The user involvement continues during functional specifications by answering to question coming up during the functional specifications Lack of resources / Poor project management Overall planning, first resource estimations and go-live date estimated, refined during the functional specifications Lack of attention to the human and organizational aspects of IT / inadequate attention to business needs and goals ‘AS IS’ and ‘TO BE’ situations done, swim lanes and user requirements done Unrealistic expectations Expectations assessed during the PID, the business needs and functional specifications January 2013 Alain Chacun – all rights reserved 22 Project failures - Consequences, causes and solutions January 2013 Alain Chacun – all rights reserved 23 Project failures - Consequences, causes and solutions January 2013 Alain Chacun – all rights reserved 24