Java News Tips Software
Java News Tips Software | Contact | Facebook | Twitter RSS

Why Software Projects Fail?

Today I read a nice set of ideas on "Why Projects Fail" by Andrew Stellman and Jennifer Greene (ppt or pdf). They have analyzed and categorized the reasons for failures of projects. That led me to write this post.

Ways a project can fail
1. Things the boss does
- Top level may not be communicating well with the rest of the members to pass the knowledge that they got on the requirements or they may not have gained required knowledge. Also some of them may be over confidence on what the team can actually achieve, so they make a guess and resulted in huge issues on development phase.

2. Things the software does
- One major problem is receiving unclear incomplete requirements at the start, but has to continue on what is available. This is a huge problem as it would be too late when it's figured out that the the software does not match the expectations of the end user.

3. Things the team should have done
- Development team also should think wisely and accept the project dead lines. Usually a project comes with an abstract set of requirements, then estimates and deadlines are fixed without even analyzing them thoroughly. As the time passes, developers realize the risks and issues. But many of them keep mouth shut till the end as they feel that it's too late. But the best way to handle such a situation would be to discuss that with your team or the top level immediately rather than waiting for the delivery date.

4. Things that could have been caught
- Testing is one of the areas where most of the development companies do not touch, but that makes an huge impact on the quality of the product. Getting one or two guys from the support team and training them for testing by developers is not a good patch for this. The developer is having only his view on what he build, so training by him/her would not lead to uncovering hidden issues. Also neglecting on issues we see before hand is also a problem. If a design issue or a coding error is found, no one should wait till another catch it.

What can be done?
1. Tell the truth, so that the team and top level has a good understanding on status of project.
2. Have reviews as much as possible, as this will lead to moving the project toward the correct path always.
3. Let everyone express their ideas and issues. Some members may have difficulties on understanding requirements or issues on skills, and let them to come up with those. This will lead to a far better team.
4. Treat the team well and make sure all the necessities are fulfilled to continue with the project.
5. Solve issues early as possible by not trying to point fingers later.

What are your experiences and views? We would like if you share those with us.



  1. This is nice post and nice blog. keep it up. I am from your neighboring country, India
  2. Thanks and welcome to my blog. Keep coming back for new posts with your comments.
  3. A worthwhile query indeed, though a bit broad in scope. What constitutes "failure" here? Late? Abandoned? End result is almost useless? Each of these seems to have its own set of wrong-headed decisions and communication failures.
    Typical Project Phases:
    1. Wild Enthusiasm
    2. Total Confusion
    3. Abject Failure
    4. Search for the Guilty
    5. Persecution of the Innocent
    5. Promotion of Non-participents
  4. Welcome Mike, thanks for interesting thoughts.
Page Views :
Email :
Select Month:
Free counter and web stats