Tuesday, June 4, 2019

Project failure in the software industry

Project harm in the softwargon industryIntroductionProject failure is a common thing heard in the softw are system Industry in recent years. It has been observed that al most(prenominal) 50% of the bedevils in the Industry fail due to many motley reasons. Research shows that Project failure is non due to one limited reason but many reasons contributing to it. The Standish Group 1995, found in their survey that of all the realises only 1/6 of the invents were wind upd on sentence and within the specified budget. They as salubrious as found that 1/3 of the watchs were green goddesscelled and more than of them were considered challenged. In these give the gatecelled and challenged considers close to 189% were over budget, 222% were behind inventory and only 61% of the requirements were met. Factors contributing to work out success are to complete it on time, should be under budget and should proper the requirements completely, but generally these dont join the exp ectations which results in drift failures. The most common reasons for have failures are lack of drug subprogramr involvement, fantastic time scale, lightly outlined requirements, scurvy testing, miscommunication and difference of opinion amid team divisions, etc. Since now most of the companies use software for various operations, it is a mustiness for every go with to avoid make failures. A huge kernel of money is spent on making software, on that pointfore it is important to analyze and understand the reasons behind the various reasons behind project failures. The graph below shows various reasons for failure and the percentage to which each factor contributes.The above graph and the percentage of failures show that it is normal for a software project to fail due to various reasons. But the point is what we can do to avoid it. For that we need to understand the various reasons for failure and the locomote to avoid them.Reasons for Project FailuresVague Requirements Requirement gathering is the first step of any project development life regular recurrence. Any project starts with the understanding and analyzing the requirements of the customer. practically the requirements are not clearly specified and the bus assumes the requirements as per his/her understanding and admits the developers to start developing the product which results in not meeting the exact requirements of the stakeholder. some(prenominal) generation the customer, himself/herself is not aware of what they want as keep changing the requirements on regular time intervals which results in persist of product delivery, increased damage and inefficient product. some time due to time constraint the developers start the project assuming requirements and start developing it, thinking that the requirements impart be execute once we start developing which whitethorn result in incomplete project and increase in bell or in time delay in shutdown of project. Hence it is very important to understand the requirements of the customer and take form a proper software requirement document and then start the project development.ConsequencesThe result of vague requirements is severe. This leave behind cause an increase in appeal, inefficient product and a spile of re meet. The developers will adopt to spend a lot of time and put in extra hours of work to make the necessary changes as the product developed is not as judge. leadTo avoid this attitude of vague requirements which whitethorn lead to project failure, I suggest that the project manager should meet the customer to get the exact requirements of the project. The Manager should make authentic that all the requirements are mighty documented so that the developers agnize the exact requirements which will help them to know what the goals to fulfill are. The Manager should also regularly meet the developers and make sure that all the requirements are clear as they come and everyone has understood t he requirements document. The requirement analyses and developing a project development life cycle should be given fair to middling time before the actual development starts.Unrealistic Time ScalePoor schedule estimation is another reasons for project failure. Many project managers understand the need to deliver the projects fast due to which they set impossible schedule to make sure the project is produced quickly without clear-sighted the amount of work that needs to be done. Due to which they make superficial design and start coding to make the product as quickly as possible thinking that sooner the coding starts, faster the product is finished. Many generation the managers are also pressurized by the stakeholders regarding the project deadlines. The Project Managers many times dont even work together with the stakeholders in defining a realistic schedule and decide on a proper deadline for the completion of the project. But this is the most common mistake made by the project managers. As a result of this unrealistic time scale the utmost product is either improper or does not meet the user requirements or delay in delivery of project resulting in increase of the product development cost.ConsequencesThe result of unrealistic time scale is increase in cost and time to deliver. Since the schedule is unrealistic the manager will make a working model and ask the programmers to start coding quickly, which will result in low quality of work by the coders as they are under great pressure and the final product delivered will not meet the expectations of the stakeholder. This will cause the project to fail and cause waste of resources and money put in the project.SuggestionSince unrealistic time scale being a common mistake made by the project manager, it can lead to heavy losses. This mistake should be taken care of by making a proper project plan and setting realistic deadlines. This plan and deadlines should be decided based on the amount of work to be do ne and the size of the team working on the project so as to avoid unnecessary pressure on the team. This will give enough time to work on each and every module properly and fulfill all the requirements properly rather than just complete the project within the given time. More importantly the stakeholders should be provided all the required data and estimated time of completion. They should also be updated at regular intervals to make sure that the work in on the estimated time.Poor CommunicationPoor Communication is the third reason for project failure. Due to unfortunate communication between the managers and developers, the developers are not aware of the work to be done by them, which may result in delay. As this important information is not shared out between team members, the progress of the project is also not known. Trying to avoid communication between team members to avoid opposed views between them may result in project failure. Sometimes the programmers are not allowed to give their opinion about the improvement of the project which is also a reason for project failure. This kind of poor communication between the manager and the team members hinders the progress of the project. This kind of poor communication should be avoided and the manager should take the necessary move to overcome this problem for the success of the project.ConsequencesThe impact of this reason for project failure is very severe. It will necessitate the cost of development, involve the schedule and functionality. If the communication is poor it may lead to inefficient product development.SuggestionCommunication is very important between the team members, the management and the stakeholders for the project success. Since poor communication can lead to severe losses to a project I would suggest that manager should regularly communicate with the team regarding the project progress. This will help the manager to keep a track on the ongoing progress and also make sure that the team has understood all the requirements properly and avoid conflicting views between the members. And all the members will know their role in the project thus avoiding unnecessary work. Communication with the stakeholder will also help the stakeholder to know about the progress of the project and to know if the project is going as per the requirements.Scope CreepScope Creep gives the overall view of the final system to be delivered. Scope creep happens due to increase in the scope of the project during development. Often it is seen that the manager or the customer wants to add more functionality to the system mend it is being developed. Like if a student record system is developed for the subjects taken and scores of the students by semester. But then the customer wants to add personalised details and fees structure for each course. This will increase the scope of the system as the new functionality is required to be added along with the old requirements. This will affect the sch edule of the project. Many times it happens that the customer might change the requirement at regular intervals or might require change as they are not comfortable with the existing system resulting in scope creep.ConsequenceThe consequence of this is very severe. As the requirements of the system change it will increase the cost of development and even affect the project schedule.SuggestionScope creep should be avoided as it may lead to major project failure or unnecessary delay in the project deliverable. This can be avoided by getting all the requirements from the user at the start of the project and even the precession in which the requirements need to be fulfilled. The cost and the time of delivery should be documented as per the present requirements. So any change will affect the cost and time should be told to the customer and everything should be documented.Inappropriate StaffingInappropriate staffing is another reason for project failure. The manager needs to find the righ t population for the job. Many times there are programmers who lack the required experience in the technology and are not qualified enough for that job. It also happens that the managers employ or allocated to a project dont have enough experience in handling such a huge task or dont have enough technical knowledge. These programmers and managers are hired simply to keep the cost of development low. So it is very important to get the right set of people to work on the project, who are experienced enough and can work well in a team for project to be successful. Many times it may happen that a member of the team or a high level manager might leave the job, which may affect the project schedule. Many times it happens that resources are not allocated properly while shows inefficiency in work, thus delaying the project schedule. This problem has been a major problem with all the companies.ConsequencesThis will have an impact on the project schedule as every time new resources are alloc ated, it will consume time to understand and complete task.SuggestionTo overcome the problem of wrong staffing the management must hire the right set of people for the required task who are efficient enough for the job. They must have a well balanced team and people who work well as a team and appreciate each other to achieve the bigger goal of successful project completion.Lack of User InvolvementUser involvement is very important for any project to succeed. If the user is not involved in the project development by continuously communicating with the project manager, it may result in a project failure. Many times it happens that the user doesnt know how to use the system as the user is not much involved in the working of the system. The developers get the requirements from the user but the users are not actively participating in the design class, requirement analysis phase, testing phase or the users are changing the requirements which may lead to delay in the project schedule an d might not meet all the user requirements. Many times it is seen that the user will specify the requirements and then endure for the final product. Due to this the users sometimes dont get the expected functionality or they might not be familiar with the system which may result in a lot of time wasted in learning the system.ConsequenceThe consequence of this is medium effect. There can be a lot of change in the functionality as the user is not aware of the system working till the end. It may also increase the cost of the project and schedule as the user will take a lot of time to get familiar with the system.SuggestionTo overcome this problem of lack of user involvement, the user should actively figure in all the phases of project development. The user should be eager to learn the system before it is put live and hence should be trained to use the system. This will help the user to get familiar with the system and will also be able to test the system for all the features that are expected of the system.Poor PlanningPlanning is the most important part of any project. If the project is well planned it will be completed on time and within schedule, resulting in success with all the requirements full filled. Project plan defines the objectives of the project and the goals to be achieved. The project plan contains the amount of resources required, the cost of development and the deliverable schedule. It helps in knowing what is to be done and what resources are required in which area of the project. Sometimes it is seen that the manager doesnt have much time to make a project plan due to time constrain from the senior management due to which implementation starts before the project plan is completed. This will hinder the project schedule as the flow of project development will not be clear. Many times it happens that project activities are dependent upon the previous activities completion but in case of poor planning this will get affected. This will result in t he increase in the project development cost and increase the deliverable schedule.ConsequencesThe effect of poor planning is very severe. It will have an impact on the project development cost, incomplete requirements and will also affect the schedule.SuggestionTo avoid the problem of poor planning, the management should make sure that the project is well planned with all the resources, phases of development, cost estimation and the schedule of delivery before the implementation starts. Then at regular intervals it should be check if everything is going as planned, so that any kind of problem can be taken care of right away before its too late.Poor TestingPoor testing plays an important role in project being a failure. Developers do test the project after the coding is done but it is the duty of the user to do an acceptance test to know if the system meets the requirements. But sometimes this testing fails as the requirements are poor enough to be tested. The user is unaware of the importance of this testing. It also happens that the user is not trained enough to test the system resulting in a poor test. Many times it is seen that the development phase takes so long that there is no time for testing, due to which it is avoided. So the user should be encouraged to do the acceptance testing so that the user is comfortable with the developed system.ConsequencesThe result of poor testing is that not very heavy. If the testing fails, then the development team will have to do a lot of rework on the failed areas. This will increase the cost and delay in project deliverable time.SuggestionTo make sure that testing is done properly the project should be well designed and planned. If the project is to be delivered in modules, then every module should be tested which is very useful as all the functionality is checked at the end of each module. This help in avoiding the entire system test at the end of the project, since most of the modules are tested as they were complet ed. Then the user should be trained to use the system so that they can do a proper test of the system. This can help in overcoming the problem of poor testing.View PointThe analyses shown above are based on my research about various reasons for project failure and their consequences. From my research on the above I analyzed and suggested that all of the above reasons are important and should be taken in to consideration during the life of project development as they have fitting effect on success of a project or its failure. I think that most projects fail due to vague requirements, poor planning and inappropriate staffing.Making sure that all the requirements are properly gathered is the first step in any project development process. If the requirements are not properly gathered then it may lead to problems down the line during development. I have observed that many times due to time constraint or not clear requirements the development phase is started considering that once a work ing model is ready then all the left out requirements can be handled but this is the biggest mistake made as it will require a lot of rework and increase the cost of development. Many times vague requirements impel the developers to make a functionality that is actually not required thus wasting of time and resources results in a lot of rework.Poor planning is also a factor for project failures. Due to vague requirements the planning done is also poor resulting in project failure. Planning phase comes after requirements gathering phase. In this phase all the details about the project development, the resources required, the cost of development, the time schedule of deliverable project parts or whole are decided. This phase takes a good amount of time as the whole project development is planned in this phase, so if the planning is poor, it may lead the project down the hill instead of up. So during the planning phase all the aspects of development should be taken into consideration by the developers and managers.Another problem which is approach by most of the companies is of inappropriate staffing. A project team should have the right combination of people. People, who are experienced, can work well in a team. Generally managers try to cut the cost of development by hiring people who are less experienced with the kind of project to be developed and even inexperience in using the technology being used. This will affect the project schedule. Many times it happens that a manager or team member leaves the project due to work pressure as they are kept to do parts in many projects. Due to this the project is delayed and a lot of time is lost in training the new member. So managers should chose the right people for the team and also the members should be dedicated to a particular project.Many times I have seen that there are dependencies between teams during a project development. Like now a days there is outsourcing where in the design and testing is done by one t eam and the coding is sent to another team. So whenever there is a change in the functionality or the design the coding team seating elsewhere are given the changes resulting in a lot of rework which relatively affects the project schedule. Many times there is miscommunication between the teams working in different modules so changes in one module is not conveyed to the other resulting in errors during the testing phase. So there should be proper communication between teams and regular updates should be given to all the teams working on the project to avoid any error at later stage of the project. And other than these all the other factors should be taken into consideration by the management for a successful project.Lessons LearntFrom my research on project failures I learnt that project management is the most important aspect for any projects success. From research on this topic I learnt that over the years this problem has haunt the software industry but still the management has not learnt from the previous mistakes. All the reasons shown above are very critical and can lead to project failure if not handled with care. Manager must also focus on the team development for any project as it the overall team feat that makes the project successful and not an individual.ConclusionThe research gives an insight into various reasons of software project failure. These reasons have been experienced by every manager in the industry and so now companies have started focusing on proper management of the projects.Referenceshttp//www.coleyconsulting.co.uk/failure.htmhttp//ezinearticles.com/?Causes-Of-Software-Project-Failureid=453814http//www.ibm.com/developerworks/rational/library/feb06/marasco/http//www.docstoc.com/docs/24462435/Why-Projects-Fail-Graphhttp//www.projectsmart.co.uk/why-software-projects-fail.htmlhttp//www.projectperfect.com.au/info_it_projects_fail.phphttp//ezinearticles.com/?Causes-Of-Software-Project-Failureid=453814http//74.125.155.132/search?q=cacherp supt-SPl0Jwww.tier1performance.com/content/features/mets_files/MajorCausesofSoftwareProjectFailures.pdf+reasons+for+software+project+failurecd=3hl=enct=clnkgl=ushttp//www.computerworld.com/s/article/71209/Why_Projects_Failhttp//knapton.blogspot.com/2007/05/why-do-software-projects-fail.htmlhttp//www.adaptivepartners.com/projfailb.htmhttp//portal.acm.org.libaccess.sjlibrary.org/citation.cfm?id=1370099.1370100coll=portaldl=ACMCFID=12421101CFTOKEN=86551462

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.