26
CRITICAL ANALYSIS OF SUCCESS AND FAILURE OF SOFTWARE PROJECTS Sachin Mathews BUSINESS PROJECT MANAGEMENT

Software Projects Success_A Critical Analysis

Embed Size (px)

DESCRIPTION

This paper has two objectives. One to uncover the potential reasons of software project failures and discuss the critical factors that influence successful projects. The other to evaluate the validity of the statement given in assessment, that is taken from Attarzadeh (2008). The first part of the paper analyses the trends of IT project success rates over the past two decades and then describes the critical factors that cause software project failures in detail. The paper then tries to recognize what constitutes a successful IT Project from the IT industry's perspective and explore the possible ways by which success rate can be improved by citing few of the best practices from sources within the industry

Citation preview

CRITICAL ANALYSIS OF SUCCESS AND FAILURE OF SOFTWARE PROJECTS

Executive Summary This paper has two objectives. One to uncover the potential reasons of software project failures and discuss the critical factors that influence successful projects. The other to evaluate the validity of the statement given in assessment, that is taken from Attarzadeh (2008). The first part of the paper analyses the trends of IT project success rates over the past two decades and then describes the critical factors that cause software project failures in detail. The paper then tries to recognize what constitutes a successful IT Project from the IT industry's perspective and explore the possible ways by which success rate can be improved by citing few of the best practices from sources within the industry. This paper then discusses the research findings along with inferences drawn and finally give our recommendations that can help managers to better navigate the common pitfalls in IT project management and enable them to achieve higher success rates. In terms of the scope of the paper, it is limited to the reasons for failure or success of IT and software projects and does not go into projects related to the other management aspects of an organization, such as sales or marketing or the affect IT projects have on them. For the purpose of the research, the author of this paper mainly used articles from journals pertaining to Information Technology that are listed in section 2. We also used conference papers and world accepted reports such as IEEE, Standish Group reports, along with articles and popular books on this subject written by renowned experts from the industry and notable authors to support our research.The main findings of the research are that around 60 percent of IT Project fails. This percentage is excluding those that are challenged or have cost and schedule overruns. The paper broadly classifies the reasons found into three categories, which are people, organizational culture and processes and lack of proper resources and technological platforms. The paper explores the critical failure factors falling under each category in detail. After analysing the causes of IT project failure, we feel that the use of agile methods such as Crystal, Extreme programming and Rational Unified Process along with some best practices in terms of organizational management and having a Project Manager with appropriate skill set and experience and good top management support can help IT projects to be more successful. However we feel that further research needs to be done in order to find out what constitutes IT project success especially in some specific cases. 1. Introduction In this global age, an age where speed, accessibility and visibility are the talking point, companies rely heavily on Information Technology for their business performance. This fact has been validated beyond doubt as companies are incessantly trying to use IT where ever applicable in order to optimize their resources, be it manpower, finances, material or information flow and most importantly "time" to gain competitive advantage and increase profitability. Software companies on the other end are trying to get as many projects as they can to garner greater respectability, expand their business and obviously their bottom-line. However, it's not a rosy picture for software firms who develop these softwares. In November 2012, the U.S Air force had to give up the "Expeditionary Combat Support System" an ERP project, after it racked up $1 Billion, with only one forth its original scope completed. It would need additional time, and would not be completed until 2020. The department felt it would not be suitable as it was not improving anything in terms of military application and was eventually scraped. Kanaracus. (2012). There are many such cases of projects being scraped in various industries.Software projects have a high failure rate compared to other projects which is matter of great concern not only for the IT industry but to all those companies who use them, as it can incur huge losses in terms of money, time and resources as seen in the above examples. In this paper we explore why this happens, what are the critical factors that cause IT projects to fail. We also look at ways by which we can improve the success rate and explain some key methodologies used by successful projects. We then discuss the findings, weather it substantiates the statement provided in the assessment, from Attarzadeh (2008). Finally the paper gives its recommendations to have better success rate in the future.

2. Scope of the Literature Review

3. Software Project Management The term "Software" is a widespread term and can be applied in a variety of ways depending on the requirement. For example there are real time, engineering and scientific, embedded, personal computer, artificial intelligence softwares. Softwares are intended to improve the overall efficiency of systems and process that use them. It is essential for business, science and engineering at hence effects all areas of life. Software applications are increasingly being used in various sectors such as telecom, banking, infrastructure, manufacturing, healthcare, hospitality, transportation, defence and government organizations to name a few. They have become an integral part of any office, for the main purpose of speeding up process by automation and information sharing. It has become the single most important technology in the world and is an excellent example of "law of unintended consequences" as described by Kelkar (2013).A software project like any other project is a mission to create a platform that will make the end user's life easy. It is limited by time, budget and people and constitutes of certain performance specification and features to meet the user expectation. It involves what is known as "software programming" which is building a software tool or application using programming languages. It could either use "object oriented" programming languages like C++,Java, Linux or "assembly level" like microprocessor 8085/86, or even "hardware development" language like VHDL. And there are different methods of system development each using different tools to accomplish the same task ( examples - object oriented, rapid prototyping, waterfall etc.) Dorsey (2005) Stepanek. (2012) Project management as Schawalbe (2011) describes it is " the application of knowledge, skills, tools and techniques to project activities to meet project requirements." The project manager along with the project team must make every effort to meet the specific scope, time, cost, quality and goals of projects while facilitating the entire process to meet needs, the wants and the expectations of the customer. Software Project Management as the term suggests deals with management of every stage of the development cycle and the proper management of the people involved, or its stakeholders Mc Leod (2011). They include the project sponsor, project manager, client, client team, solution architect, consultants, sub-contractor. A example of a IT project roadmap is shown in the figure 1 and the stakeholders that are involved in an IT project are shown in figure 2.

Figure 10: Example of a IT Project Roadmap, Source - Kothari (2010)

Figure 2 : Stakeholders in a IT project Source - Kothari (2010)3.1 Why is Software Development Different?In order to better understand why software projects fail we first need to understand what makes Software Projects so different from other kinds of projects. Stepanek. (2012) an experienced team leader and software developer describes how complexity, conceptuality, frequent technological changes that are inevitable ( For example, Java 6 a programming language, had 81 updates, each differing significantly) which results in the lack of developer's expertise in the new technology, lack of proven best practices. These factors along with some others make software development unique and different from other projects. To explain it in a lucid way he tells us that software development is not just a method to build software but also a process of learning how to build the software that is best suited for its function. No software is perfect as first envisioned it will always require changes, to make it more suitable to its role. 3.2 IT Project Success Rate Trends Kraft (2008) observe that on a average 66 % IT project fail, with 52 % project being cancelled and 82 % being delivered late. These stats might look shocking given the fact that companies invest huge amount of money on IT projects. In order to validate this data we explored a few other reports and came across the Standish Group Report Rubenstein (2007), that says in 2007, 35 % of software projects started in 2006 were completed successfully compared to 16% in 1994, which was a significant improvement Cerpa and Verner (2009).

Figure 3: IT Project Success Rate, Source - Chaos Research 2012 Standish (2013)The latest report "Chaos Manifesto 2013" by the same group suggest that it has further improved to about 39% as shown in Figure 3, indicating that the industry is responding well to the situation Standish (2013). However, the fact that still around 60% are either unsuccessful or had cost and schedule overruns or dint deliver the required features means there is much more to be done. Figure 4 illustrates the percentages of time, cost overruns and features for the period - 2004 to 2012. As shown there has been an increase in time and cost overruns since 2010 ( 71 to 74%). Although, percentage of projects failing to meet the "features" that is nothing but the specified functional requirements has gone down a bit to 69%, but is still higher than during the period from 2004 to 2008. These stats are very high and is a reason for concern in many organizations in the world as lot of the company's resources like people, time, money, hardware and software can be saved as stated by Purna Sudhakar (2012).

Figure 4 : IT Project Overruns and Features, Source - Chaos Research 2012 Standish (2013)3.3 Why Software Projects Fail"If there's more than one way to do a job and one of those ways will end in disaster, then somebody will do it that way." Murphys Law. The current scenario of IT projects sums up this statement. So Why do software project fail ? Let us look at some of the causes of project failure that we have explored in our paper. Existing literature on software projects failure point towards that failure are caused by the project environment, tasks, process and individuals Lehtinen, Mntyl et al. (2014). For the purpose of this research paper we broadly classify the reasons for failures into three categories which are people, organizational culture and process, and the lack of proper resources and technology which are discussed in detail in the following sections.3.3.1 Effect of People(i) Lack of understanding between participants of a software project systemProject coordination, collaboration and common understanding among the stakeholder is necessary for a project to be successful as portrayed by Imtiaz (2013). However this is sometimes what is lacking. This could be between users and developers or among the developers within a project team. The developers may have good technical knowledge but lack the business knowledge and on the other hand users lack the technical understanding. What results is a difference in expectations. The developers might perceive certain aspects to be important and may enhance or add new features, but these may not be useful or required by the customer. The aspects that are essential to their jobs might not be there. This in turn can make their jobs more complicated as it may require additional steps that are unnecessary making it "non-fit". In addition, many of the projects are outsourced to companies in different countries, and hence factors like geographical distance, cultural differences and languages (at a communication level) add to lack of understanding between participants. (ii) Lack of User InvolvementUser involvement is another aspect that needs to be present throughout the project development cycle. Most of the time the user involvement will be good at the start of the project but at this stage all systems requirements that are needed to make it a complete fit for the purpose cannot be well understood. Majid, Noor et al. (2010) had carried out a research in this regard and found that software professionals tend not to include the end users in the technical meetings which then results in the not involvement of users in formulating the type of software used. This is why in many cases we see that user satisfaction is not met.(iii) Lack of people with the required technical skillsTechnical as well as business and soft skills of the team members and the project manager plays a crucial role in success of software projects as validated by Mc Leod (2011). Earlier while differentiating from software project from other projects we learnt that software technology keeps undergoing changes. This leads to lack of knowledge of new platforms. The team members need to adapt to the changes quickly or need to be trained as per the latest tools or versions required for the project. It becomes even more important for the project manager to have solid knowledge of the platforms, software version and programs to better guide the team. In addition to this, he must also have the ability to lead, negotiate, communicate, assess his teams capabilities and be able to reorganize and solve problems quickly and effectively. Jiang (2007) in their paper discusses how these aspects effect the performance of software projects. In his research he establishes how Information Systems (IS) personal skills and project performance is to some extent mediated by organizational technology learning. Hence skill set of the people involved in development is a critical factor for software project success. 3.3.2 Effect of Organizational Culture and Process(i) Lack of Project Selection and Insufficient Planning Planning is the foremost step in an IT project. It refers to the process of deciding in advance what to do, where to do and with what resources. It is at this stage that cost estimates, team size and composition, the customer requirement, project assumptions and other resource planning activities pertaining to the IT environment and systems are established. It is also in this stage where "Software Requirement Specification" or SRS is defined. This is a basic component of any software development project and when not well defined can cause misunderstandings. Imprecise or an unconvincing business case might lead to lack of proper approvals which in turn leads poor estimation and causes project failure. (ii) Lack of Top Management Support and CommitmentThe entrepreneur in the company is the one who makes the strategic decision and thus it goes without saying he plays the most important role in terms of the 'decision context'. All studies done so far point towards this attribute as a critical success factor. The management need to be aware upfront or be visibly and vocally behind a project. In some cases a strong backup from top management can turn things around for projects that are going badly or is going through a bad implementation phase. Commitment is another aspect that is important. At times change of management occurs in the client company. The new manager might not understand the initial project scope and might not have the complete knowledge of processes involved and sometimes may withheld approvals. He may not want to pursue the project in the current manner for a variety of reasons as elucidated by Imtiaz (2013). Also the project team might not be able to easily communicate and convince the new manager. This leads to project failure. (iv) Project scope or scope creep is managed poorlyNot all projects that are cancelled can be termed as failure. For example, some projects though well managed gets cancelled because of the expediency of original purpose ceases and can be no longer applicable Jrgensen (2014). In some of these cases, what happens is that the project scope is extended beyond the initial requirement also known as "scope creep" in order to meet the new objectives. This uncontrolled changes that keep occurring during the project life cycle leads to project failure.(v) Deadlines and project goals are unrealisticIt has been researched that there is close relation between the expectations or project goals and pressure caused by deadlines and the skills set of the team. At times, project leads neglect to understand that it's not practically possible to cover all aspects of the project within the stipulated time frame. Even over estimating the capabilities and skills of team members add on to this. This may be due to lack of experience of the project lead in properly analysing the situation. All these factors put together, lead to not meeting the desired objectives within the stipulated time frame.(vi) Absence or Bad Risk ManagementThis one aspect that has not be adhered to sufficiently enough even in the latest context of new agile methodologies being adopted by companies for software project success. Not giving due attention to risk management can cause projects to fail. Risks are unplanned events that can occur at any stage of the SDLC cycle. These may include workforce issues and financial conditions on both the clients either or the developers side. These unprecedented events include global recession, natural calamities in either ones location, high dependence on certain project team members and their unavailability, certain failures of technical platforms etc. Some of these can't be predicted but there many management process like the predictive risk analysis for example that can be used tackle the threats of these risks. In his paper de Bakker, Boonstra et al. (2012) discusses how risk management can be approached with regard to the IT Industry in particular.3.3.3 Effect of Lack of Resources and Appropriate Technological PlatformsInsufficient allotment or Poor estimation where initially itself project receives fewer resources than that would be required for carrying out the planned activities is one of the main causes of project failure. These resources could be in terms of people with appropriate skill set, appropriate technological platforms needed and the availability of financial resources. Many times projects goes wrong because wrong and inappropriate technology choices. A project may receive the right resources but if managed poorly leads to wastage and requirement of additional resources. Imtiaz (2013) points out that availability of these resources- financial, people and technology are dependent on the Top Management support discussed earlier.3.4 Defining IT Project Success

Figure 4: Defining IT Project Success, Source - 2013 IT Project Success Rate Survey Scott W. (2013) The above figure illustrates what IT professionals consider a successful project based on survey carried out in 2013 by Scott W. (2013) . Majority felt completing project on time was the most important determinant for defining project success, were as 36 % believed it was to be within budget constraints and 14% felt it was to meet the desired specifications. Agarwal (2006) in their research found that most of the stakeholders of IT project management team consider 'scope' of the software project as the most important criteria for defining success. Scope includes the functionality and quality of project outcome. Schawalbe (2011) in her book gives a more inclusive definition of IT project success, saying if it met scope, time, cost goals, satisfied customer or the sponsor.

3.4.1 Critical Factors of IT Project SuccessFrom the above discussion on what constitutes a successful IT project and after understanding the causes of IT project failure the paper find these factors to be most important for IT project success. Most of these factors were explained in section 3.3 and supported by research carried out by Imtiaz (2013) . (i) Proper Planning and Estimation(ii) Avoiding Scope Creep(iii) Top management support(iv) Well Qualified Project team and Project Manager(iv) Clear Goals(v) Effective monitoring and control(vi) Customer or User Involvement throughout the SDLC(vii) Proper Risk ManagementIn order to have greater IT Project Success rate firms need to adopt "agile" practices that cover the entire SDLC. This is discussed briefly in the following section.3.4.2 Use of new Agile Software Engineering Methods to achieve Project SuccessThe emergence of agile software engineering methods as compared to conventional methods have improved the overall efficiency in software development Chow and Cao (2008). Agile methods give greater flexibility and responsiveness in environment of constant change. Some of the agile methods used in the software industry are Crystal, Extreme Programming (XP), Scrum, Feature driven development (FDD), Dynamic System Development Method (DSDM), Adaptive Software development (ASD), and Lean Software Development (LD) and Joint Application Design (JAD) Koch (2005). The book explains how adopting these new practices helps in improving the overall project performance. For example XP's pair programming concept programmers can learn from each other and monitor each other's progress. It includes the simple designing methods that help in keeping the complexity of the software within the skill level of the whole team.4. Discussion In today's world, no field is without software programmes and systems. To work effectively one must be able to articulate one's needs to the Software developer in order to get a system that best works in the business environment. In order to do this the IT user must be able to "speak the IT language". As we have seen that all is not well with Software Project Management with success rate currently being a mere 40 %. Hence I do agree with factors discussed which are quite valid especially with regard to the software industry. But there is another side to it. The definition of IT project success with regard to the time - budget requirement is usually decided by the vendor or supplier. There needs to be a stakeholders perspective while defining success as well. Also the fact that most of the time, the budget and timelines are set at the start when uncertainty is at its maximum it is practically impossible to define the project success criteria at that stage. In addition as we have seen in section 3.1 how software development is unique in its own way and have constant technological changes that are inevitable, along with the fact that all techniques need not work with specific types of project I feel that there are more things that need to be considered in terms of the definition of IT project success. Hence the statement found in Attarzadeh (2008) is valid.5. Recommendations All is not lost for IT projects. I feel there are certain things that need to be set right, some of which are quite basic in nature with regard to project management, this along with best practices followed by leading firms could enhance the project success rate. Some of the key recommendations that I would like to propose in order to have IT project success in the future based on the research carried out are discussed below.(i) Team Motivation and Collaborative Atmosphere plays a critical role in project success. Higher the motivation greater will be the overall output. I find this the single most important factor especially considering the fact that there is a lot of pressure when it comes to software projects. People get disgruntled fast especially when things don't go right. Sometimes they even leave their jobs in middle of the project. How well the project lead can motivate the team when the chips are down, when there are disagreements or when deadlines are approaching close, more the chances of the project succeeding. I would also like to includes aspects such as user involvement, and better understanding between all stakeholders, discussed in section 3.3.1 under this point. There needs to be an overall collaborative atmosphere among team members, internal and external stakeholders, solution architects, client team and the executive sponsor. (ii) Manager should use Best Practices and Lessons Learned In order minimize or avoid the nastiest scope creep, a project manger should contemplate even minor changes to the initial project scope cautiously and rework the course of events , provide new estimates and communicate it with all the stakeholders before incorporating the changes. Jones (2010) discusses about fifty best practices used by highly successful software project companies like Microsoft, IBM, Sony and EDS. The author explores how these practices can ensure success in the field of software engineering. One practice for example is instilling a process of continuous improvement while modelling the software development process which can have a good impact on the performance of future projects.(iii) Use of Agile MethodsI believe the use of latest Agile methods can be very effective technique and can turn things around for IT projects. It covers all aspects of the SDLC right from planning to delivery in a very unique and effective way. Many of the methodologies discussed in section 3.4.2 are not yet being followed on a large scale and more the companies use them better will be the end results. However there is much more to be done with regard to use of agile methods to mitigate risk.6. Conclusion Summary: This paper investigated the prime factors that affects software project success. The study was carried out in order to understand why there is such a low success rate for IT projects compared to other projects.Findings : We found that currently the project success rate of IT projects is around 40 percent section 3.1 that is quite low compared to other kinds of projects and causes huge losses to companies. Nevertheless, in our study, we also found that the industry is responding well by incorporating new and agile methods that has helped in improving the success rate over the last decade. In addition we found that Project Managers play an important role. They need to inculcate a habit of using best practices and have a continuous learning mentality that can help the entire team in meeting the project deliverables.Limitation : We limited the scope of this study to projects pertaining to the Information Technology sector or the software projects and its success criteria. We did not explore the affects, IT projects have on other management aspects of an organization, such as sales or marketing. Also our paper does not look into specific IT projects where additional determinants needs to be considered in defining "success". Further research needs to be carried out for analysing and understanding these factors in a more comprehensive way.7. ReflectionComing from a Telecomm management background there were many things I could connect with in terms of project management, but nonetheless the learning curve was a steep one for me as it had a lot to do with software projects in particular. In order to find the criteria for success and failure, I had to start from square one, which was understanding the fundamentals of IT Project Management and how IT Project Management differ from other kinds of projects. The next challenge was to understand the way IT projects are done in the real world, the processes, tools and techniques. Only then could I move towards critical analysis of the project cycle and its pitfalls. There are two books I liked in particular and would like to mention. One was Schawalbe (2011) and the other Stepanek. (2012) which helped me understand information technology projects in a better way. From the research, I learnt that a Project Manager plays a crucial role in building the team and delivering a successful system. He needs to have experience, good technical and analytical skills along with exceptional soft skills that are needed to bring the team together and get the best from each team member. I also learnt a few things about the latest technological and statistical methods that are used in better analysing the pitfalls in software development and how they improve the process in order to achieve greater success.

8. ReferencesAgarwal, N., Rathod,Urvashi (2006). "Defining 'success' for software projects : An Explanatory reveleation." International Journal of Project Management(24): 358-370.Attarzadeh, I., Hock,Siew (2008). "Project Management Practices: The Criteria for Success or Failure " Communications of the IBIMA: 234-241.Cerpa, N. and J. M. Verner (2009). "Why did your project fail?" Communications of the ACM 52(12): 130-134.Chow, T. and D.-B. Cao (2008). "A survey study of critical success factors in agile software projects." Journal of Systems and Software 81(6): 961-971.de Bakker, K., A. Boonstra and H. Wortmann (2012). "Risk managements' communicative effects influencing IT project success." International Journal of Project Management 30(4): 444-457.Dorsey, P., Dr., (2005) "Top 10 reasons why systems project fail."Imtiaz, A., Md.,Al-Mudhary,S.,Abduljalil,Mirashemi,Taha.Md.,Ibrahim,Roslina (2013). "Critical Success factors of Information Technology Projects." International Jornal of Social,Management,Economics and Business Engineering 7(12): 1879-1874.Jiang, J., Klein,Gary,Beck,Phil,Wang,G.,T.,Eric (2007). "Lack of Skills Risks to Organizational Technology Learning and software Project performance." Information Resources Management Journal 20(3): 32-44.Jones, C. (2010). Software Engineering Best Practices. New York, NY, USA McGraw-Hill, Inc. .Jrgensen, M. (2014). "Failure factors of small software projects at a global outsourcing marketplace." Journal of Systems and Software 92(0): 157-169.Kanaracus., C. (2012). The scariest software project horror stories of 2012 - Billions of dollars were wasted and tempers ran hot as multiple projects hit the skids this year. IDG News Service.Kelkar, A., S., (2013). Software project management - a concise study. Delhi, PHI Learning Private Ltd.Koch, S., Allan (2005). Agile Software Development: Evaluating the Methods for Your Organizations. Norwood,MA 02062, Artech House.Kothari, D., Mitchell,Romeo (2010). Baselining the Schedule. NASA Project Management Challenge 2010.Kraft, T. (2008). Systematic and holistic IT Project Management approach for commercial software with case studies. 3311415 D.M.I.T., Lawrence Technological University.Lehtinen, T. O. A., M. V. Mntyl, J. Vanhanen, J. Itkonen and C. Lassenius (2014). "Perceived causes of software project failures An analysis of their relationships." Information and Software Technology 56(6): 623-643.Majid, R. A., N. L. M. Noor, W. A. W. Adnan and S. Mansor (2010). A survey on user involvement in software Development Life Cycle from practitioner's perspectives. Computer Sciences and Convergence Information Technology (ICCIT), 2010 5th International Conference on.Mc Leod, L., MacDonell,G.,S., (2011). "Factors that Effect Software Systems Development Project Outcomes - A Survey of Research " ACM Computing Surveys (CSUR) 43(4): 24.Purna Sudhakar, G. (2012). "A model of critical success factors for software projects." Journal of Enterprise Information Management 25(6): 537-558.Rubenstein, D., D. (2007). Standish Group Report: There's Less Development Chaos Today. Standish Group Report.Schawalbe, K. (2011). Managing Information Technology Projects, Course Technology, Cengage Learning.Scott W., A. (2013) "2013 IT Project Success Rates Survey Results." Ambysoft.Standish, G. (2013). The Chaos Manifesto 2013 - think big,act small: 1-52.Stepanek., G. (2012). Software Project Secrets - Why Software Projects Fail, apress.

16