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.

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?

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

Factors Waterfall V-Shaped Evolutionary Prototyping Spiral Iterative and Incremental Agile
Unclear User Requirement Poor Poor Good Excellent Good Excellent
Unfamiliar Technology Poor Poor Excellent Excellent Good Poor
Complex System Good Good Excellent Excellent Good Poor
Reliable system Good Good Poor Excellent Good Good
Short Time Schedule Poor Poor Good Poor Excellent Excellent
Strong Project Management Excellent Excellent Excellent Excellent Excellent Excellent
Cost limitation Poor Poor Poor Poor Excellent Excellent
Visibility of Stakeholders Good Good Excellent Excellent Good Excellent
Skills limitation Good Good Poor Poor Good Poor
Documentation Excellent Excellent Good Good Excellent Poor
Component reusability Excellent Excellent Poor Poor Excellent Poor

STEP 4: Decide

When you define the criteria and the arguments you need to discuss with the team each one, 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.

References

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

 

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
https://melsatar.blog
Publisher Logo
Advertisements

25 thoughts on “Choosing the right Software development life cycle model

  • I want to implement a software development methodology for a side project I’m doing as a way to learn more about the methods. I’m creating a Linux OS using LFS and BLFS. All the requirements are pre-defined. What would you suggest would be the best methodology to use.

    • Good luck, it looks a hard project. Indeed, I think something like operating systems cannot be published with the absence of basic features. I think Spiral Model will be suitable here.

      Spiral model for risk and integration between iterations and extensive testing as well. The important that you should list what are the minimum functionalities you should have and the OS cannot be published for the users without them. Actually, you should have more than the minimum to make the users favor your OS than the others already exist.

      Would like to know your feedback.

      • Turns out, LFS has pre-defined steps that I have to follow in order to implement a stable OS. I have decided to use custom waterfall model with iterative and incremental development in the implementation phase, since I need two sets of requirements, one for the whole project and the other for each steps that I have to follow. I am building the Linux distribution for myself but I wanted to implement SDLC as to practice and get a fill for it. I also thought about Spiral in the beginning but since risk management is not that big of a problem for a single user use, I have decided against it.
        Thank you very much.

    • Developers only are not a software engineers who understand and manage the process of project implementation. So, they can fit in any process if they are mixed with software engineers who understand the process. If not I think traditional model like waterfall will be the best

  • hello, D.Mohamed Sami, I have a question of which methodology is suitable if the project was to develop an campus Notification system.
    with respect.
    from Ethiopia.

  • hello, D.Mohamed Sami, I have a question of which methodology is suitable if the project was to develop an automated tracking and monitoring system and I know that I may add some feature or requirement after.
    And explain the answer, please .
    better to tell me which one is suitable or not and why.
    hopefully that you understand me.
    I am waiting for your answer 🙂

    • Hi Reem,

      Thank you for your comment, let us start with the ones will not work, Waterfall and V-Model will not work as they are not flexible with requirements change. So, the most suitable models will be the iterative model or the agile model as well.

      This is a broad answer but as you know there are a lot of other factors to decide which model to choose 🙂

      Thank you I hope that will help you

  • HI,
    I’m the SE for a development team that customize BMC Remedy, Service Now base on clients requirements.
    We also do integrations between ticketing system, CMDB, Using BAO, TIBCO REMEDY API, AI. and more
    I’m looking for a suitable SDLC.
    I defined my criteria’s look at the suitable models. also make a development project history reviewed for our last 5 years.

    Found out that we are using almost all the model depending of the project. so basically I’m looking for a SDLC that can do hybrid Models and Mythologies. is that kind of SDLC exist?

    Best Regards
    Martin L

    • Hi Martin,
      Yes, you can mix between different models. you will notice that some models are partially originated from other models like V models and the iterative model, they are enhanced versions of the waterfall to overcome the waterfall process limitations and disadvantages.

      I think there is no SDLC can fit all type of projects. but you can make some grouping for the projects which have similar characteristics and select a preferred model based on these preferences.

      If you would like more help we can talk privately. You can contact me through “contact me” link the menu

      Thank you

  • I have proposed systems in one of my subjects. Inmates Information System and Online Pets Consultation. Based on your recommended criteria, Spiral Model has the highest “Excellent”. Do you also recommend Spiral Model in my two proposed systems? Will be waiting for your response. Have a nice day 🙂

    • Hi Eufro,
      Yes, may be it has the highest “Excellent” count but it does not mean it is the best choice.
      You may need to give each criteria a different weight, for example, you can give the cost a weight of 50% compared to other criteria based on project situation, context, and constrains. At this case, Spiral model will not be the best option to choose.

      You can explain more about the projects and I can help you in which model can help you.

      Thank you and have a nice day

      • Thanks for your reply. This is the brief explanation about my two projects.

        Inmates Information System – It’s a system that stores prisoner’s info. From paper-based record keeping to computerized record keeping. It will be easier for the prison officers to access the prisoner’s info, add and update their records.

        Online Pets Consultation – Many pets that live in areas where ready access to routine veterinary care, much less emergency care, isn’t available. With the proposed system, the pet owners will be able to obtain preliminary advice from veterinary professionals online regarding their pet’s condition. Save pet owners
        from the costs of unnecessary travel and can avoid stressful car trips with pets.

  • i want a case study which explain all model and one of the example that describe all model can you please help me

Let me know your thoughts