How to Choose an SDLC model for your Project

25 Comments

  • Sharebar

Choosing the right SDLC for your project is extremely important to the success of your project.  SDLC methodologies are like aiding tools which facilitate in smooth software development as well as implementation of software project management best practices. There are many types of SDLC methodologies such as Agile Methodologies, Waterfall Model, XP, RUP, etc., but to know which one suits best to your needs is crucial to determine the success of your project.

Choosing wrong SDLC may hamper

  • Quality of your software
  • Software project management best practices
  • The budget of your project
  • Meeting project deadlines
  • Pre-set project goals

But the question is how do you choose the right SDLC for your software project?

Though every SDLC model is touted to have positive and negative characteristics, these characteristics surface more in context of the nature of your software project. It is ideal to say that you may choose one SDLC model over others for your type of software development project, but (as experts would agree) there is no one SDLC model that may perfectly fit your project. You may have to define your own SDLC methodology picking and choosing the processes from two or more SDLC methodologies and then arriving at the one that suits your project the best. In short, you may have to customize your own SDLC model.

Image Courtesy: www.jewishsoftware.com

We can draw a corollary here from the use of a mechanic tool. We have a very simple and small kit for screw drivers of different shapes and sizes (see the image). The base (the handle) of the screw driver remains same whereas the top portion of the screw driver can be chosen from five or six different options, based on the type of screw that needs to be fixed. It’s that simple. To customize your SDLC methodology you need to define the ‘base’ which can be kept constant. This ‘base’ can be one of the SDLC methodologies itself from the many that exist today. You can then define which best practices can be adopted from other SDLC models which can lead to superior software development in your organization.

This leads us to ask – What are the factors that should be considered for choosing the SDLC? Here is the list:

  1. Complexity of the project
  2. Nature of the project development – whether it is a software maintenance project or an embedded product development
  3. Size of your organization, the project and the team
  4. Structure of your team – whether it is in house or geographically distributed
  5. Alignment with your organization’s stage of business and its business strategy – whether your organization is a startup with a new product launch or an established enterprise that is releasing a new product feature
  6. Engineering capabilities of your developers
  7. Culture of your organization – whether the teams are used to the collaborative work culture or not, as adopting some SDLC methodologies like agile, demands collaborative work culture
  8. The industry of your business, as different industries may have very different software development needs and objectives

This approach to choosing SDLC for your project requires you to objectively assess various SDLC models against the business context of your organization. By business context I mean factors such as your industry requirements, nature of the project and the business stage of your organization. Assessing the SDLC models against these criteria will help you align your business objectives. It will also help you increase developer productivity and facilitate in delivering superior software quality.

What do you think?

 

25 Responses to “How to Choose an SDLC model for your Project”

  1. chandan

    Hi,

    This is chandan here and i just went through your description and i am very satisfied to your
    description.It defines the right meaning of the SDLC.and whatever you have written that is the right way to choose and your example is very impressive.Lastly thank you for your help of sharing such great information with everyone

    Reply
  2. ankit

    can you please tell me an example on selecting which life cycle model is best suited for the -so-and-so given attributes??

    Reply
  3. aliha

    very informative.and by reading this iam able to choose a model for my project.
    thankyou

    Reply
  4. Bhaskaran

    Hi Mirdula,

    Can you tell that could be the base on every SDLC project for Eg: new product development? according to your example “the handle” of the screw driver.

    What is the “the handle” or the base of SDLC?

    Thank you!

    Reply
  5. Bhaskaran

    Hi Mridula,

    Can you tell that could be the base on every SDLC project for Eg: new product development? according to your example “the handle” of the screw driver.

    What is the “the handle” or the base of SDLC?

    Thank you!

    Reply
  6. Purushothaman & Boobesh

    Hi
    In real time project, how i came to know which methodology is using by seeing itself.

    Reply
  7. Jerome

    Hi. this is jerome.i just went through this description. its informative , understand the value of choosing SDLC model,and its also useful for interview point view. But i’ve some confusion about example that u described finally. can u just tell me what is the base on every SDLC ?

    Reply
  8. karikalan and vinoth

    hi
    I read your document its very help full for me and u framed very simple sentences its very easily
    understandable

    Reply
  9. Ankush Sharma

    You havn’t mentioned any technical aspect on how to choose a SDLC model. You talked about team i.e whether it is geographically distributed or not and if the team is acquainted with collaborative work culture. Although these points are helpful in making a selection but are not sufficient. If possible, plz throw light on some technical points to choose one SDLC model.

    Reply
    • Anand Agarwal

      Hi Ankush/Venkat

      For example If your team size is small, then its easy to adapt Agile methodolody . But if your oranization is big say about 1000, it will involve huge effort to train people on Agile
      and you need to see after spending that kind of money will you will be getting improved ROI.
      In agile team member owns a lot of responsibility and if your team comprises new/immature developers, then agile might not work for you.

      Reply
  10. Charles

    Mr.Purushothaman, you can’t find which methodology is used by seeing itself, first you have to know the requirements of the client. If the requirement is clear or no further changes in the functional requirements then we go for waterfall model.
    If the client is not clear about his product, then we go for prototype model. if the client needs any future enhancement then incremental model is preferred, if the client is continuously changing his requirements then spiral model is preferred..

    Reply
    • kirti

      Mr Charles ,

      I found your brief reply v helpful. Thank you ! Also thanks Mridula for a layout of few base points for choosing sdlc.I wish if i could find some case studies some where .

      Reply
  11. Jerome

    Hi…i just went through this description. It is useful for understand the value of choosing SDLC model. and also useful for interview point of view. . but I’ve confusion about example that described finally. can u just tell, what is base on each SDLC model according to your example. .

    Reply
  12. Venkat Reddy

    hi Mridula
    Can you justify what is the need of “Size of your organization, the project and the team”. for selecting the SDLC model.

    Reply
  13. Pranitha

    This explanation is useful but based on engineering capabilities of developers how will you choose SDLC.

    Reply
    • Mridula Velagapudi

      Pranitha,

      As Anand has pointed it out above, suppose you are choosing Agile. In agile, a team member owns a lot of responsibility and if your team comprises new/immature developers, then agile might not work for you. And if you do choose Agile in any case, then you will have to first provide training to your developers in Agile methodologies. This in turn will depend on the budget that your organization is willing to sanction. Again, budgets also depend a lot on a company’s size, its business strategies and stage of growth. Budgetary decisions will vary from case to case.

      Reply
  14. Deepika Bagai

    Hi ,

    I appeared for an interview and they asked me on which model was your project based.I said them that mine was a support project (as according to me a project only works on a particular model only at the time it is being developed).He insisted on his question like whether waterfall model was used or agile.I was blank.Can someone pls. tell that models are also used for support projects?or it is the same model(used at the time of development) carried forward to support project.If this is the case how will support team come to know which model was used?Really confused…someone pls. explain

    Reply
  15. IT Manager

    I could not agree more that a hybrid model based on the project and organizational capabilities is the key. Ther is no such thin as a single perfect model that fits all projects. Agile is not always the best model, regardless of what some managers may insist. Applying Agile to a simple enhancement to an existing product is an unnecessary complication.

    Reply

Leave a Reply