Infolinks In Text Ads

Tuesday, August 26, 2008

SDLC

Definition:

  • A software development process is a structure imposed on the development of a software product. Synonyms include software development life cycle (SDLC) and software process. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process.


Task or Activities involved:

  • Requirements
  • Specification
  • Architecture
  • Design
  • Implementation
  • Testing
  • Deployment
  • Maintenance


Models:

  • Agile
  • Cleanroom
  • Iterative
  • RAD
  • RUP
  • Spiral
  • Waterfall
  • XP
  • Scrum


Support Disciplines:

  • Configuration management
  • Documentation
  • Quality assurance (SQA)
  • Project management
  • User experience design


Tools:

  • Performance analysis
  • Debugger


Processes and meta-processes:

  • A growing body of software development organizations implements process methodologies. Many of them are in the defense industry, which in the U.S. requires a rating based on 'process models' to obtain contracts. The international standard for describing the method of selecting, implementing and monitoring the life cycle for software is ISO 12207.


  • The Capability Maturity Model (CMM) is one of the leading models. Independent assessments grade organizations on how well they follow their defined processes, not on the quality of those processes or the software produced. CMM is gradually replaced by CMMI. ISO 9000 describes standards for formally organizing processes with documentation.


  • ISO 15504, also known as Software Process Improvement Capability Determination (SPICE), is a "framework for the assessment of software processes". This standard is aimed at setting out a clear model for process comparison. SPICE is used much like CMM and CMMI. It models processes to manage, control, guide and monitor software development. This model is then used to measure what a development organization or project team actually does during software development. This information is analyzed to identify weaknesses and drive improvement. It also identifies strengths that can be continued or integrated into common practice for that organization or team.


  • Six Sigma is a methodology to manage process variations that uses data and statistical analysis to measure and improve a company's operational performance. It works by identifying and eliminating defects in manufacturing and service-related processes. The maximum permissible defect is 3.4 per one million opportunities. However, Six Sigma is manufacturing-oriented and needs further research on its relevance to software development.

No comments: