Models of SDLC & What They Benefit

It’s important that I permanently place a record of Software Development Life Cycle models in order to choose appropriate methodologies when doing IT work. Too many developers fail to follow a planning model and fall into traps later on. Here are the main SDLC models and what they benefit when doing software projects.

 

THE WATERFALL MODEL

  • Requirements are unchanged after their definition (they are upfront and this can be a defect)
  • Dependent on a clear understanding of the initial requirements for the system to be developed
  • Concept -> Analysis -> Design -> Construction -> Testing -> Operation

 

THE ‘V’ MODEL

  • Extension of waterfall
  • Verification and validation is added
  • Analysis and synthesis is a stronger relationship in this model

 

PROTOTYPING MODEL/S

  • Cyclical development of code (IT)
  • Strong when those who are requiring it do not understand the code
  • Disadvantages are that it requires good management and can be caught in a recursive cycle if the scope is not defined well enough.

 

SPIRAL MODEL

  • Designed to address the development of large software systems
  • Many prototyping processes
  • Risk analysis at each phase/stage of the ‘spiral loop’

 

INCREMENTAL DEVELOPMENT (MODEL)

  • Functionality addressed separately as incremental stages of independent cycles
  • Each increment may use different SDLC models
  • Provides early feedback
  • Refining of requirements can be done at any time
  • Smaller increments are easier to manage
  • “Gold Plating” is reduced
  • Is usually included in SCRUM of the Agile Methodology (from personal experience training as a Software Tester)

 

EVOLUTIONARY DEVELOPMENT (MODEL)

  • Requires significant amount of client/end-user participation
  • Commercial Off The Shelf based
  • Requires a small team and continuous process/product improvement
  • Architecture based composition with continuous integration/testing

 

AGILE MODEL

  • Flexible and Adaptable
  • Requirements are never set in stone
  • Can follow XP/SCRUM methodologies which give it order
  • Peer programming and Test driven development concepts
  • Suitable for projects with high client contact and requiring fast turnaround time
  • Suited to smaller co-located teams of developers

Leave a Reply

Your email address will not be published.