FACTOID # 7: The top five best educated states are all in the Northeast.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Software development model

A software development process is a process used to develop computer software. It may be an ad hoc process, devised by the team for one project, but the term often refers to a standardised, documented methodology which has been used before on similar projects or one which is used habitually within an organisation.


Some managers who are held accountable for software development, may seek to find the commonalities in the efforts of their organizations. If those managers are process-oriented, (rather than people-oriented, task-oriented, profit-oriented, project-oriented, etc.) then they may seek methodologies or other proxies which can serve as templates for the software development process.


Of course, it is entirely rational for other managers who are not process-oriented to use a documented software development process or methodology. In such a case one might say that the methodology is used by them as a "proxy" for the necessary set of process-oriented skills required in any software engineering project.


Processes and meta-processes

A growing body of software development organisations implement 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 Capability Maturity Model (CMM) grades organizations on how well they create software according to how they define and execute their processes. ISO 9000 describes standards for formally organizing processes with documentation.


ISO 15504, also known as Software Process Improvement Capability dEtermination (SPICE), The software process life cycle is also gaining wide usage. 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 project management methodology 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 defects are 3.4 per million opportunities. However Six Sigma is manufacturing-oriented, not software development-oriented and needs further research to even apply to software development.


Agile software development methodologies, such as Extreme Programming and lean software development are full blown methods that take an incremental or evolutionary approach to software development.


Finite state machine (FSM) based methodologies allow executable software specification and by-passing of conventional coding (see virtual finite state machine or event driven finite state machine)


Lists

Some software development methods:

Some paradigms for programming software:

There are also a variety of kinds of software documentation.


See also


  Results from FactBites:
 
Waterfall - Software Development Model (879 words)
As software development is large process so work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software.
Software Requirement Analysis is also known as feasibility study.
The software should be implemented to accommodate changes that could be happen during the post development period.
Software development process - Wikipedia, the free encyclopedia (1707 words)
When these address the entire scope of software design, creation, delivery, and maintenance, the processes are sometimes referred to as supporting software development life cycle management.
This model is then used to measure what a development organization or project team actually does during software development.
Agile software development methodologies, such as Extreme Programming and lean software development are full blown methods that take an incremental or evolutionary approach to software development.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m