SCMWise.com

Software Development Life Cycle Models


SDLC Methodologies

Software Development Life Cycle Models are systems and processes a software developer or software development team leverage to systematically produce software.

These methods help the development team ensure they are building the "Right" software "Correctly".

Meaning, the SDLC Method ensures the software being built is meeting the customer's needs and is working the way it was designed.

Software Development Processes are the practices and techniques required to produce Software.

Software Methodologies are the abstract representation of these software processes.


Software Development Life Cycle Models

There are many different Software Development Life Cycle Methods.

Some have been around for years and years, while others are relatively new.

These are the more commonly known and used SDLC Models.

  • Agile Development
  • Feature Driven Development
  • Hybrid
  • Spiral
  • Object-Oriented
  • Prototyping
  • Waterfall



Agile Method

Agile Development attempts to minimize risk by developing software in short iterations.

This development methodology is about adaptability. Because of the chaotic nature of software development, it may be impossible to control or to predict.

Agile Model Benefits:

  • Very Adaptable
  • Simple to Plan and Schedule
  • Simplistic in Nature

Agile Methodology Downsides:

  • Not Well Suited for Large Development Teams
  • Constant Communication Difficult for Remote Teams - Daily Stand-ups


Feature Driven Development Method

It is a short-iteration development process that delivers features in logical incremental intervals.

Feature Driven Development Model:

  • Develop an Overall Model
  • Build a Feature List
  • Plan by Feature
  • Design by Feature
  • Build by Feature

For more information about Feature Driven Development


Hybrid Method

As the name implies, the Hybrid Development Model is a combination of other Software Development Life Cycle Models.

Typically how this works is a development team will adopt the best features of multiple development methods.

The team will disregard the features that they do not find beneficial.

Hybrid Model Benefits:

  • Highly Flexible
  • Adopts Best of Breed

Hybrid Methodology Downsides:

  • Does not Conform to Typical Standards
  • Every Hybrid Model is Different


Spiral Method

Because of the inflexibility of the Waterfall method, the Spiral Model incorporated all the different stages into each round of the spiral.

Specifically meaning that you proceed through each development stage multiple times during the process. These are called loops.

Spiral Model Loop Phases:

  • First Loop - Objective Setting
  • Second Loop - Risk Identification and Mitigation
  • Third Loop - Development and Testing
  • Fourth Loop - Project Assessment


Object Oriented Method

Object Oriented,OO, Development focuses on design and structure.

OO would seem to be more of a technical design decision rather than a Software Development Life Cycle Models, but it does get included into SDLC Methodologies by many in the field. So, it is included here.

Object Oriented Model Benefits:

  • Object Oriented Systems are Easy to Change
  • Objects are Reusable
  • Simplifies the Evolution of the Software

Object Oriented Methodology Downsides:

  • Focuses on System over Function


Prototyping Method

Software Prototyping allows you to test design options and customer user interface requirements.

Prototyping allows both the customer and the developer to see the strength and the weaknesses of their requirements and software.

Prototyping Model Benefits:

  • Validates the Software Requirements
  • Used to Test User Interfaces
  • Explore Engineering Solutions
  • Improved System Usability
  • Improved Design Quality
  • Reduces Development Effort

Prototyping Model Disadvantages:

  • Sometimes Prototypes have to be Thrown Away


Waterfall Method

The Waterfall Methodology is a sequential software development method.

Meaning that each phase of this method is suppose to be completed before moving onto the next.

The Waterfall Method is the original of the Software Development Life Cycle Models.

Waterfall Model Benefits:

  • Very Intuitive
  • Simple to Plan and Schedule
  • Simplistic in Nature

Waterfall Methodology Downsides:

  • Inflexible for Late Requirement Changes
  • Testing Does Not Start Until After Coding is Complete
  • Not Very Adaptable


Software Development Life Cycle

Software Development Life Cycle is the process in which you encapsulate your software development.

Specifically meaning, it is the processes, standards and tools that your software development team uses to ensure the accuracy and timeliness of your software development efforts.

For more information about Software Development Life Cycle Models


Software Development Process

Software Development Processes are standards that a Software Development Team uses to help manage, control and report on their software development.

Here are some very typical SDP Steps:

  • Plan
  • Define
  • Construct
  • Test
  • Deploy

For more information about Software Development Process


Software Engineering Best Practices

There are many Software Engineering Best Practices.

Here are some of the more commonly used SE Best Practices

  • Iteratively Develop Software
  • Actively Manage Specifications and Requirements
  • Develop and Leverage Component-based Software
  • Continuously Review and Improve your Software Development Practices
  • Verify and Quantify Software Quality
  • Manage Software Change

For more information about Software Engineering Best Practices


Software Engineering

The IEEE Computer Society defines Software Engineering as the application of a systematic, disciplined and quantifiable approach to the development, maintenance and operation of software.

For more information about Software Engineering



Software Development Life Cycle Table of Contents

Software Development Life Cycle Software Development Life Cycle is the process in which you encapsulate your software development. Specifically meaning, it is the process and tools you use to ensure the accuracy and timeliness of your software development efforts.

Agile SCM Implementing Agile Software Configuration Management processes and practices will help your ability to successfully implement Agile software development processes.

Agile Software Agile software attempts to minimize risk by developing software in short iterations. This development methodology is about adaptability. Because of the chaotic nature of software development, it may be impossible to control or to predict.

Agile Source Code Providing agile source code control processes and procedures greatly aids an organization's ability to successfully implement Agile software development processes.

Feature Driven Development Feature Driven Development, FDD, is a short-iteration development process. It consists of five basic activities: Develop an Overall Model, Build a Feature List, Plan by Feature, Design by Feature, Build by Feature

Software Development Processes The Software Development Process, SDP, is the methodology used by a development team to produce software.

Software Development Life Cycle Models Software Development Life Cycle Models are systems and processes a software developer or software development team leverage to systematically produce software: Agile, Feature Driven Development, Waterfall, Object Oriented, Prototyping.

Software Engineering The IEEE Computer Society defines Software Engineering as the application of a systematic, disciplined and quantifiable approach to the development, maintenance and operation of software.

Software Engineering Best Practices Software Engineering Best Practices, SE Best Practices are the processes and techniques that have been proven over time to provide successful Software Engineering Results. When searching the Internet, there are many Software Engineering Best Practices to be found on the World Wide Web. Here are some of the more commonly used and proven SE Best Practices.

Software Requirements Software Requirements are the details and specifications about how the software should act and behave. There are several types requirements: Business, Functional, Non-Functional, User and System Requirements.

Software Requirements Template Software Requirements Template is an outline of a Software Requirements Specification that was used in a large software company. It is not meant to be the one and only way to do cover your Software Requirements. It is intended to be a starting point for you or your organization to approach Software Requirements.

Software Engineering Salaries Software Engineering Salaries - This page is dedicated to publishing salary information about Software Engineering jobs around the World.

Software Engineering Salaries Australia Software Engineering Salaries Australia - This page is dedicated to publishing salary information about Software Engineering jobs in Australia.

Software Engineering Salaries Bulgaria Software Engineering Salaries Bulgaria - This page is dedicated to publishing salary information about Software Engineering jobs in Bulgaria.

Software Engineering Salaries Canada Software Engineering Salaries Canada - This page is dedicated to publishing salary information about Software Engineering jobs in Canada.

Software Engineering Salaries Egypt Software Engineering Salaries Egypt - This page is dedicated to publishing salary information about Software Engineering jobs in Egypt.

Software Engineering Salaries Estonia Software Engineering Salaries Estonia - This page is dedicated to publishing salary information about Software Engineering jobs in Estonia.

Software Engineering Salaries France Software Engineering Salaries France - This page is dedicated to publishing salary information about Software Engineering jobs in France.

Software Engineering Salaries Germany Software Engineering Salaries Germany - This page is dedicated to publishing salary information about Software Engineering jobs in Germany.

Software Engineering Salaries Ghana Software Engineering Salaries Ghana - This page is dedicated to publishing salary information about Software Engineering jobs in Ghana.

Software Engineering Salaries India Software Engineering Salaries India - This page is dedicated to publishing salary information about Software Engineering jobs in India.

Software Engineering Salaries Italy Software Engineering Salaries Italy - This page is dedicated to publishing salary information about Software Engineering jobs in Italy.

Software Engineering Salaries Jamaica Software Engineering Salaries Jamaica - This page is dedicated to publishing salary information about Software Engineering jobs in Jamaica.

Software Engineering Salaries Kuwait Software Engineering Salaries Kuwait - This page is dedicated to publishing salary information about Software Engineering jobs in Kuwait.

Software Engineering Salaries Macedonia Software Engineering Salaries Macedonia - This page is dedicated to publishing salary information about Software Engineering jobs in Macedonia.

Software Engineering Salaries Malaysia Software Engineering Salaries Malaysia - This page is dedicated to publishing salary information about Software Engineering jobs in Malaysia.

Software Engineering Salaries Mongolia Software Engineering Salaries Mongolia - This page is dedicated to publishing salary information about Software Engineering jobs in Mongolia.

Software Engineering Salaries Netherlands Software Engineering Salaries Netherlands - This page is dedicated to publishing salary information about Software Engineering jobs in Netherlands.

Software Engineering Salaries Pakistan Software Engineering Salaries Pakistan - This page is dedicated to publishing salary information about Software Engineering jobs in Pakistan.

Software Engineering Salaries Philippines Software Engineering Salaries Philippines - This page is dedicated to publishing salary information about Software Engineering jobs in Philippines.

Software Engineering Salaries Poland Software Engineering Salaries Poland - This page is dedicated to publishing salary information about Software Engineering jobs in Poland.

Software Engineering Salaries Qatar Software Engineering Salaries Qatar - This page is dedicated to publishing salary information about Software Engineering jobs in Qatar.

Software Engineering Salaries Sri Lanka Software Engineering Salaries Sri Lanka - This page is dedicated to publishing salary information about Software Engineering jobs in Sri Lanka.

Software Engineering Salaries Sudan Software Engineering Salaries Sudan - This page is dedicated to publishing salary information about Software Engineering jobs in Sudan.

Software Engineering Salaries United Kingdom Software Engineering Salaries United Kingdom - This page is dedicated to publishing salary information about Software Engineering jobs in the United Kingdom.

Software Engineering Salaries United States Software Engineering Salaries United States - This page is dedicated to publishing salary information about Software Engineering jobs in the United States.

Software Quality Assurance Software Quality Assurance is the systematic testing of a software product to meet the planned requirements. Quality Assurance is the testing of a software product and the process improvement of the testing cycle.

Software Testing Software Testing is the systematic and sometimes programmatic, investigation of software for defects and to ensure the application runs appropriately.

SCMWise Software Configuration Management SCMWise is dedicated to Software Configuration Management. This site is a central repository for the collection of best practices, processes, methodologies and tools that surround SCM.



SCMWise Configuration Spec



© Copyright 2007 - 2016
Powered by Site Build It!
Page copy protected against web site content infringement by Copyscape SCMWise.com's Privacy Policy
ADD TO YOUR SOCIAL BOOKMARKS: add to BlinkBlink add to Del.icio.usDel.icio.us add to DiggDigg
add to FurlFurl add to GoogleGoogle add to SimpySimpy add to SpurlSpurl Bookmark at TechnoratiTechnorati add to YahooY! MyWeb