Welcome Guest
Software Development Life Cycle
The software development life cycle (SDLC) is the entire process of formal, logical steps taken to develop a software product. Within the broader context of Application Lifecycle Management (ALM), the SDLC is basically the part of process in which coding/programming is applied to the problem being solved by the existing or planned application.
The phases of SDLC can vary somewhat but generally include the following:
  • Conceptualization
  • Requirements and cost/benefits analysis
  • Detailed specification of the software requirements
  • Software design
  • Programming
  • Testing
  • User and Technical training
  • Maintenance
ROOTS has a well-defined software development approach and has a value proposition that includes faster turn-around times, trained pool of engineers with decent exposure to processes and best practices followed for the entire SDLC.
We have exposure on the following SDLC models:
  • Waterfall Model
  • V-Shaped Model
  • Structured Evolutionary Model
  • Prototyping Model Model
  • Incremental Model
  • Spiral Model
  • Rapid Application Development Model
A brief description of the various models mentioned above is given below. Along with the description, we have mentioned the strengths and discussed when a particular model is suited to you:
Waterfall Model
waterfall copy.jpg
  • Easy to understand, easy-to-use.
  • Provides structure to inexperienced staff
  • Milestones are better understood
  • Sets requirements stability
  • Good for management control (plan, staff, track)
  • Works well when quality is more important than cost or schedule.
When to Use?
  • Requirements are well-known
  • Product definition is stable
  • Technology is understood
  • New version of an existing product
  • Porting an existing product to a new platform
V-Shaped SDLC Model
V-Shaped SDLC Model is a variant of the waterfall that emphasizes the verification and validation of the product. Testing of the product is planned in parallel with a corresponding phase of development.
  • Emphasize planning for verification and validation of the product in early stages of product development
  • Each deliverable must be testable
  • Project management can track projects by milestones
  • Easy to use.
When to Use?
  • Excellent choice for systems requiring high reliability
  • All requirements are known upfront
  • When it can be modified to handle changing environments beyond analysis phase.
  • Solution and technology are known.
Structured Evolutionary Prototyping Model
  • We build a prototype during the requirement phase
  • Prototype is evaluated by end users
  • Users give correct feedback
  • Developers further refine the prototype
  • When the user is satisfied, the prototype code is brought up to the standards needed for a final product.
  • Customers can “see” the system requirements as they are being gathered.
  • A more accurate end product.
  • Unexpected requirements are accommodated.
  • Allows for flexible design and development.
  • Steady, visible signs of progress produced.
  • Interaction with the prototype stimulates awareness of additional needed functionality
When to Use?
  • Requirements are unstable or have to be clarified Develop user interfaces
  • Short-lived demonstrations
  • New, original development
Incremental SDLC Model Model
  • Develop high-risk or major functions first
  • Each release delivers an operational product
  • Customer can respond to each build
  • Uses “divide and conquer” breakdown of tasks
  • Lowers initial delivery cost
  • Initial product delivery is faster
  • Customers get important functionality early
  • Risk of changing requirements is reduced
When to Use?
  • Risk, funding, schedule, program complexity, or need for early realization of benefits.
  • Most of the requirements are known up-front but are expected to evolve over time
  • A need to get basic functionality to the market early
  • On projects which have lengthy development schedules
  • On a project with new technology
Spiral SDLC Model
  • Provides early indication of insurmountable risks, without much cost.
  • Users see the system early because of rapid prototyping tools
  • Critical high-risk functions are developed first
  • The design does not have to be perfect
  • Users can be closely tied to all lifecycle steps
  • Early and frequent feedback from users
  • Cumulative costs assessed frequently
When to Use?
  • When creation of a prototype is appropriate
  • When costs and risk evaluation is important
  • For medium to high-risk projects
  • Long-term project commitment unwise because of potential changes to economic priorities
  • Users are unsure of their needs
  • Requirements are complex
  • New product line
  • Significant changes are expected (research and exploration)
Rapid Application Development (RAD) Method
  • Reduced cycle time and improved productivity with fewer people means lower costs
  • Customer involved throughout the complete cycle minimizes risk of not achieving customer satisfaction and business needs
  • Focus moves from documentation to code (What you see is what you get).
  • Uses modelling concepts to capture information about business, data, and processes.
When to Use?
  • Reasonably well-known requirements
  • User involved throughout the life cycle
  • Project can be time-boxed
  • Functionality delivered in increments
  • High performance not required
  • Low technical risks
  • System can be modularized
Phone: +91-94784-81527 Email: info@rootsitservices.com
© 2003-2018 Roots Infocomm Ltd.