Choosing the right Software development life cycle model

Selecting a Software Development Life Cycle (SDLC) methodology is a challenging task for many organizations and software engineers. What tends to make it challenging is the fact that few organizations know what are the 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 Life Cycle 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 the Software Development Life Cycle Models and Methodologies).

How to select the right SDLC

Selecting the right SDLC is a process in itself that the 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. In order to select the right SDLC, you should have enough experience and be familiar with the SDLCs that will be chosen and understand them correctly.

As described in the software development life cycle models article, models are similar to the tools that important to know each tool usage to know which context it can fit into.

Imagine the image below by Jacob Lawrence, if the carpenter did not know the tools he will use, what will be the results? Did you visualize the disaster?

Jacob Lawrence
By Jacob Lawrence

STEP 2: Assess the needs of Stakeholders

We must study the business domain, stakeholders concerns and requirements, business priorities, our technical capability and ability, 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 arguments that you may use to select an SDLC are:

  • Is the SDLC suitable for the size of our team and their skills?
  • Is the SDLC suitable for the selected technology we use for implementing the solution?
  • Is the SDLC suitable for client and stakeholders concerns and priorities?
  • Is the SDLC suitable for the geographical situation (distributed team)?
  • Is the SDLC suitable for the size and complexity of our software?
  • Is the SDLC suitable for the type of projects we do?
  • Is the SDLC suitable for our software engineering capability?
  • Is the SDLC suitable for the project risk and quality insurance?

What are the criteria?

Here are my recommended criteria, It will be good to share any new criteria you see that it will be valid

FactorsWaterfallV-ShapedEvolutionary PrototypingSpiralIterative and IncrementalAgile
Unclear User RequirementPoorPoorGoodExcellentGoodExcellent
Unfamiliar TechnologyPoorPoorExcellentExcellentGoodPoor
Complex SystemGoodGoodExcellentExcellentGoodPoor
Reliable systemGoodGoodPoorExcellentGoodGood
Short Time SchedulePoorPoorGoodPoorExcellentExcellent
Strong Project ManagementExcellentExcellentExcellentExcellentExcellentExcellent
Cost limitationPoorPoorPoorPoorExcellentExcellent
Visibility of StakeholdersGoodGoodExcellentExcellentGoodExcellent
Skills limitationGoodGoodPoorPoorGoodPoor
DocumentationExcellentExcellentGoodGoodExcellentPoor
Component reusabilityExcellentExcellentPoorPoorExcellentPoor
Selection Criteria

STEP 4: Decide

When you define the criteria and the arguments you need to discuss with the team, you will need to have a decision matrix and give each criterion a defined weight and score for each option. After analyzing the results, you should document this decision in the project artifacts and share it with the related stakeholders.

STEP 5: Optimize

You can always optimize the SDLC during the project execution, you may notice upcoming changes do not fit with the selected SDLC, it is okay to align and cope with the changes. You can even make your own SDLC model which optimum for your organization or the type of projects you are involved in.

[cite]

References

Software Development Life Cycle Models and Methologies. (2012, 3). Retrieved from melsatar.blog:  Software Development Life Cycle Models and Methodologies

Donate-Button

Help to do more!

The content you read is available for free. If you’ve liked any of the articles at this site, please take a second to help us write more and more articles based on real experiences and maintain them for you and others. Your support will make it possible for us.

$10.00


Also published on Medium.

Summary
Choosing the right Software development life cycle model
Article Name
Choosing the right Software development life cycle model
Description
Selecting a Software Development Life Cycle (SDLC) methodology is a challenging task for many organizations and software engineers. What tends to make it challenging is the fact that few organizations know what are the criteria to use in selecting a methodology to add value to the organization.
Author
Publisher Name
Publisher Logo

113 responses to “Choosing the right Software development life cycle model”

  1. hehe Avatar

    Which SDLC model best fit for this situation, The owner would like to have a new Information System that will be more particular in the correctness of the output. Moreover, all the details needed by the project team were already collected during the initial requirements gathering.

  2. Talia Avatar

    Hello Which model is suitable when the customer give requirements in subsets?

    1. Mohamed Sami Avatar

      Agile and iterative

  3. richa Avatar
    richa

    which model is good for educational portal?

    1. Mohamed Sami Avatar

      Any model can fit, the important question is what are the business needs?

      1. Bill Avatar
        Bill

        which model is the best for making a portal for tourists ?

  4. Amit Pawar Avatar
    Amit Pawar

    Software Development Lifecycle varies from project to project depending upon various integral factors. While Approaching towards a lifecycle involves understanding the type of projects to be made, available as well as required Development team, resources required, Infrastructure planning, type of database and UI integration, etc. The SDLC should match our project context or else it lead to extended time period or in some cases may lead to failure. Chossing the right SDLC is crucial to plan on the very first stage of Initialization and getting all the requirements ready on that stage itself.

  5. Uthpala Vijayanthi Avatar
    Uthpala Vijayanthi

    What process model do you think for online video rental system

    1. Mohamed Sami Avatar

      I would say an iterative model would be great here, also Agile will be suitable as well.

  6. Uthpala Vijayanthi Avatar
    Uthpala Vijayanthi

    Video-Rental LTD is a small video rental store. The store lends videos to customers for
    a fee, and purchases its videos from a local supplier. A customer wishing to borrow a
    video provides the empty box of the video they desire, their membership card, and
    payment – payment is always with the credit card used to open the customer account.
    The customer then returns the video to the store after watching it. If a loaned video is
    overdue by a day the customer’s credit card is charged, and a reminder letter is sent to
    them. Each day after that a further card is made, and each week a reminder letter is
    sent.
    This continues until either the customer returns the video, or the charges are equal to
    the cost of replacing the video. New customers fill out a form with their personal details
    and credit card details, and the counter staff give the new customer a membership card.
    Each new customer’s form is added to the customer file. The local video supplier sends
    a list of available titles to Video-Rental LTD, who decide whether to send them an order
    and payment. If an order is sent then the supplier sends the requested videos to the
    store. For each new video a new stock form is completed and placed in the stock file.

    Sir Suggest suitable Software process model and justify answer

  7. hailin Avatar
    hailin

    What process model do you think TikTok fits into

    1. Mohamed Sami Avatar

      Interesting, I would say Agile for sure

  8. Aania Avatar
    Aania

    I read your blogs and they are indeed very helpful. I am conducting research on the Selection of appropriate development methodology. I have a query on this blog. The question that I want to ask you is how can you validate that the choice that will be made based upon the table you have given, is correct or what is the accuracy. Did you run any test, or have you compared your results with case studies/ any dataset? Also on what basis did you make this choice i.e. the rankings that you have provided (poor, good, and excellent), how did you rate all this.

    1. Mohamed Sami Avatar

      Hi Aania,

      Very interesting and challenging questions. The support for the ranking and criteria is based on my won experience first and other researches as well.

      I can not see it can be applicable for all organization, it can be different from company to another based on many factors but in common, they will be like that.

      I didn’t run a test, but you will find many case studies that provide lots of information around when waterfall worked well or not, similar to the agile model and the rest.

      So, you need to assess the situation using this methodology or another with your judgment on what will most suitable for the target organization

  9. iqra tul ain Avatar
    iqra tul ain

    hello sir!!! can you please help me about these models… I just want to know that how we recognize the same phases of all these models and built our new model which can meet our needs.. and any easy tips to gather user requirements… I’m beginner sir that’s why much confused in SDLC models….

  10. Zahid Avatar
    Zahid

    For Aircraft control system which SDLC model will best ?

Let me know your thoughts

Mohamed Sami

About the author

Mohamed Sami is a Industry Advisor who has a solid engineering background, he has more than 18 years of professional experience and he was involved in more than 40 government national projects with holding different roles and responsibilities, from national projects execution and management to drafting of the conceptual architecture and solutions design. Furthermore, Mohamed contributed to various digital strategies in the government sector, which improved his business and technical skills over his career development.

Discover more from Mohamed Sami

Subscribe now to keep reading and get access to the full archive.

Continue reading

Discover more from Mohamed Sami

Subscribe now to keep reading and get access to the full archive.

Continue reading