Selecting a Software Development Life Cycle (SDLC) methodology is a challenging task for many organizations. What tends to make it challenging is the fact that few organizations know what criteria to use in selecting a methodology to add value to the organization. Fewer still understand that a methodology might apply to more than one Lifecycle Model. Before considering a framework for selecting a given SDLC methodology, we need to define the different types and illustrate the advantages and disadvantages of those models (please see Software Development Life Cycle Models and Methodologies).
How to select the right SDLC
Selecting the right SDLC is a process in itself that organization can implement internally or consult for. There are some steps to get the right selection:
STEP 1: Learn the about SDLC Models
SDLCs are the same in their usage, advantages, and disadvantages. In order to select the right SDLC, one must have experience and be familiar with the SDLCs that will be chosen.
STEP 2: Assess the needs of Stakeholders
We must study the business domain, user requirements, business priorities, and technology constraints to be able to choose the right SDLC against their selection criteria.
STEP 3: Define the criteria
Some of the selection criteria or questions that you may use to select an SDLC are:
- Is the SDLC appropriate for the size of our team and their skills?
- Is the SDLC appropriate with the selected technology we use for implementing the solution?
- Is the SDLC appropriate with client and stakeholders need and priorities
- Is the SDLC appropriate for the geographical situation (co-located or geographically dispersed)?
- Is the SDLC appropriate for the size and complexity of our software?
- Is the SDLC appropriate for the type of projects we do?
- Is the SDLC appropriate for our engineering capability?
What are the criteria?
Here is my recommended criteria, what will be yours?
|Factors||Waterfall||V-Shaped||Evolutionary Prototyping||Spiral||Iterative and Incremental||Agile Methodologies|
|Unclear User Requirement||Poor||Poor||Good||Excellent||Good||Excellent|
|Short Time Schedule||Poor||Poor||Good||Excellent||Excellent||Excellent|
|Strong Project Management||Excellent||Excellent||Excellent||Excellent||Excellent||Excellent|
|Visibility of Stakeholders||Good||Good||Excellent||Excellent||Good||Excellent|
Selecting a Software Development Life Cycle (SDLC) Methodology.(2012, 3 18). Retrieved from http://www.smc-i.com/downloads/sdlc_methodology.pdf
Software Development Life Cycle Models. (2012, 3). Retrieved from Codebetter.com: http://codebetter.com/raymondlewallen/2005/07/13/software-development-life-cycle-models/