Monday, March 10, 2008

Why Software projects fail?

We all have heard the following statement before in project management books and literature, at seminars, symposia, and in professional certification classes.
“25 percent of all software projects fail!” or “80 percent of all software projects fail to meet schedule and cost objectives”
It's not uncommon for projects to fail. True project success must be evaluated on all three components scope, time and cost. Even if there is a failure vis-à-vis any of these components, a project could be considered a "failure."
There are many reasons why projects fail; the number of reasons can be infinite. However, if we apply the 80/20 rule the most common reasons for failure are following

Lousy Project Management

  • Inadequately trained and/or inexperienced project manager
  • No formal project management methodologies and best practices aligned to the company's specific needs are used to assist project performance.
    A project plan that is non-existent, out of date, incomplete or poorly constructed and just not enough time and effort spent on project planning.
  • inadequate communication, tracking and reporting; not reviewing progress regularly or diligently enough
  • Ineffective scope ,time and cost management
  • Lack of leadership and/or communication skills
  • Ignoring project Warning Sign or no risk management
  • Poorly defined roles and responsibilities
  • Goals and success criteria of the project not clear to the team
  • Team conflicts resulting into major issues.

Project managers will need to ensure that project cost, scope, and time are optimally balanced to achieve the desired deliverables and the desired time. Effective planning and monitoring are necessary to help develop a strong start for the project. However, project managers must remain aware and anticipate change and perform re-planning which is necessary throughout the project. Project manager should identify the warning signs such as anticipated delay in an activity or resource unavailability for some period that affects the critical path etc at early stages and take measures to mitigate risk.

Failure to set and manage expectations

  • Mismatch in expectations for schedule, budget and deliverables between customer and the project team.

Project managers should collaborate with key stakeholders in defining reasonable project schedules and deadlines to ensure that business conditions and requirements are met and better manage expectation levels.. Additionally, all people involved in the project effort should have periodic joint sessions, to ensure the same communications on project expectations are received by everyone.

Inadequate Requirements management

  • No clear definition of the project's benefits and the deliverables that will produce them.
  • Failure to adequately identify, document and track requirements
  • Scope creep (increase in the scope) during the life cycle of the project not properly managed and integrated with the change control systems.
  • Lack of Change Management Process.

Scope changes can significantly impact the cost, schedule, risks and quality of the entire effort. Project managers should watch out for early and frequent changes to the project scope.

Project managers should collaborate directly with key project stakeholders to define specific detailed project requirements and deliverables. Defining specific project requirements is necessary to maintain alignment of project tasks to desired business outputs, as well as to ensure that projects have clear and specific project objectives established.
A formal and structured change management process is necessary to ensure effects of any changed requirements are properly analyzed, prioritized, and balanced according to the project’s budget, schedule, and scope.
Inadequate budget forecasting due to any of the following reasons.

  • Unrealistic schedule/timelines committed to the customer
  • Poor effort estimation, scheduling and budgeting.

Inappropriate staffing

  • Required resources underestimated and scheduled inaccurately.
  • When managers fail to provide timely, adequate and properly trained resources.

Technology

  • Technical Lead inexperienced in the technology or new to the domain.
  • Technology or Architecture chosen not in alignment with the business needs or project goals.

Software development methodology

  • Absence of a sound development methodology.
  • Software development methodologies exist but are not religiously followed.

Insufficient quality assurance and quality control

  • Absence of testing methodologies.
  • Absence or very less time allocated for verification and validation.



No comments: