How to identify the most appropriate methodology for a project

By | 21/05/2016

Introduction

There are 2 main types of software development life cycles (SDLC) that can be followed.

The methodologies that follow these are commonly used in IT projects because they manage the 3 constraints of time, cost and scope.

The 2 main types are:

  1. Sequential
  2. Agile

Sequential

Examples of sequential are the waterfall methodology and the v-model.

This is where requirements are defined before design starts, then design is completed before development etc.  Each stage of the project is signed off before moving to the next one.

The rationale is that uncovering changes in the later stages will have a bigger impact on cost.  Therefore by fixing the requirements and then the design and so forth will require less re-work because the assumption is that they are defined and complete so do not then need to be repeated.  In the event that there are changes a change control will be impact assessed separately to understand the impact.  The emphasis is very much on controlling the project by fixing the scope.

Disadvantages of sequential methodologies are that it can be difficult to control the time constraint as any delay to one stage will have a knock on impact on the next.

Agile

Examples of Agile are RUP (Rational Unified Process) and SCRUM.

These are where the different stages of the project are broken down into chunks and worked on iteratively.  The requirements, design and development evolve rather than being all defined in sequential order.

The rationale is that scope and requirements might change and breaking and delivering the work in smaller pieces will get the project delivered faster and enable continuous improvement by output being seen quicker with the ability to make changes faster.  The emphasis is very much on controlling the project by fixing time.

Disadvantages of agile approaches are that they tend to be very resource intensive as the developers and testers need to be involved sooner and there is much more involvement required of the customer stakeholders.

Factors to be considered when choosing which SDLC methodology to use for a project

As shown on the diagram above the main factors for consideration when identifying which methodology is the most suited for a project is timescale, project size, requirement stability, geographical team location and stakeholder involvement.

Timescale

If time is an important factor then agile techniques have the ability to deliver work sooner due to being iterative, the ability to run work in parallel and more releases.  Step 5 of the article when a project is estimated to take 12 months to deliver and it is needed in 3 also explains how agile can be an important factor in reducing time scales.

Size of a project

This depends on how easy it is to break the project down into chunks if the project is large.  If it is difficult to do this then agile can introduce the risk of not being able to ever fix the scope and the project could then run on and on.

Requirement stability

If requirements are expected to stay fairly static once defined then sequential techniques could be a good fit.  If requirements are expected to have potential for change because there are a lot of unknowns or due to a fast paced industry or environment then agile might be a better fit.

Geographical team locations

If all of the stakeholders and development teams are all in one geographical location then using agile will be easier than if they are dispersed.  This is because agile approaches tend to have daily meetings to establish progress, what needs doing each day and blockers.  Also see stakeholder involvement for other reasons.

Stakeholder involvement

Agile approaches tend to be more resource intensive and require all types of stakeholders at the same time.  They tend to require a dedicated team of the customer(s), business analyst(s), developer(s) and tester(s) all working together from the early stages of the project. If these resources cannot be made available at the same time then agile is less feasible.  The sequential approach means that resources only need to be made available at the relevant stages of the project and these are set out over a longer timescale.

Conclusion

Many companies already have a SDLC methodology that they use and is generally set in stone.  However this article will hopefully provide an insight into what factors may play a part in when to consider alternatives and the risks and benefits each of the methodologies contribute.

Thoughts? Questions? Please share in the comments.

Author: Helen Winter

An Management Consultant responsible for structuring programmes, success criteria, mobilisation, management of scope, budget, timely delivery, benefits realisation and stakeholder satisfaction. Helen has led on large transformation programmes to execute delivery along with strategic business outcomes. Helen is also a global business author with publisher Kogan Page where her first book “The Business Analysis Handbook” was a finalist for 2 major industry awards. One was for contribution to project management literature with PMI and the other was the Specialist book category for the business books awards. She is an active member of the APM programme management group. She is currently involved in a focus group sharing examples of good programme management practice and is an established speaker for project management forums. In her free time, she loves sharing her knowledge on her blog BusinessBullet.co.uk which is followed by over 5000 visitors a month.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.