The Systems Development Life Cycle and Project Management

I am going to attempt to map the processes of the PMBOK Project Management Framework and the processes from the Systems Development Life Cycle (SDLC) together, to see where the SDLC’s processes fit into the PMBOK framework’s processes, and at what point they integrate.

Systems Development Life Cycle (SDLC) is an umbrella term for all methodologies for the design, implementation, and release of software. [wikipedia]

Project management is the discipline of planning, organizing, and managing resources to bring about the successful completion of specific project goals and objectives. [wikipedia]

The key processes of the Software Development Lifecycle are:

  • Initiation/planning
  • Requirements gathering and analysis
  • Design
  • Build or coding
  • Testing
  • Operations and maintenance

The key process groups of the PMBOK framework are:

  • Initiating
  • Planning
  • Executing
  • Monitoring and Controlling
  • Closing

Watch out for my next post, with the solution. It may be able to help you better manage your software development projects!

Software Project Management – which Methodology?

As I mentioned in my previous post, managing software projects is one of the most difficult forms of project management.

Over the next couple of months, I am going to be comparing a number of the different project management methodologies available, to help you decide which is the most suitable for managing your software projects. Unfortunately, there is not a single solution that is suitable for everyone. We all have unique requirements, and have to fit in with our tools, stakeholders, partners, and our project teams.

The methodologies that I am going be reviewing and comparing at this stage are:

  • Microsoft Solutions Framework (MSF)

If you would like to see some other frameworks in the mix, please leave a comment and I will consider reviewing it.

Software Project Management Methodologies – Do we need them?

Managing software projects has been rated as one of the most difficult types to projects to manage. This is due to the high failure rate of software development projects.

There have been many theories as to why software projects fail, some of the reasons why are:

  • Unrealistic timeframes/schedules
  • Not having a proper defined scope from the start
  • Not assigning the most appropriate (best) resources to the project
  • Lack of/No Requirements Management Processes
  • Lack of/No Quality Assurance Processes
  • Lack of/No Project Management Processes

In my opinion, many software development businesses (of all sizes) undervalue the benefits of having a proper project management structure in place. Implementing a project management structure/methodology is not going to generate you any additional revenue (apart from charging for the project management resource(s)), however, it will save you money in the long run, by having fewer cost blowouts and project failures due to the reasons above.

Without a proper project management structure in place, you may find it more difficult/close to impossible to land some of the larger, more lucrative jobs in the market. Large businesses have realised that without proper project management in place, there is a good chance that their projects will fail. (This does not take into account businesses that are after a bargain. Software companies that do not have proper project management processes in place are often cheaper however, they normally have more project failures)

Getting Started with a Project Management Methodology for your Software Development Business

There are a number of project management methodologies out there that can scale and be easily adapted to almost any size software development project.

A few of the commonly used Project Management Methodologies in the Software Industry are:

  • PMBOK (Project Management Body of Knowledge), developed the Project Management Institute (PMI)
  • PRINCE2 (PRojects IN Controlled Environments), developed by the Office of Government Commerce (OGC), United Kingdom
  • MSF (Microsoft Solutions Framework), developed by Microsoft