The spiral model is a risk-driven software development process model. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping.
This model was first described by Barry Boehm in his 1986 paper, "A Spiral Model of Software Development and Enhancement". In 1988 Boehm published a similar paper to a wider audience. These papers introduce a diagram that has been reproduced in many subsequent publications discussing the spiral model.
These early papers use the term "process model" to refer to the spiral model as well as to incremental, waterfall, prototyping, and other approaches. However, the spiral model's characteristic risk-driven blending of other process models' features is already present:
In later publications, Boehm describes the spiral model as a "process model generator", where choices based on a project's risks generate an appropriate process model for the project. Thus, the incremental, waterfall, prototyping, and other process models are special cases of the spiral model that fit the risk patterns of certain projects.
Boehm also identifies a number of misconceptions arising from oversimplifications in the original spiral model diagram. He says the most dangerous of these misconceptions are:
that the spiral is simply a sequence of waterfall increments;
that all project activities follow a single spiral sequence;
that every activity in the diagram must be performed, and in the order shown.
While these misconceptions may fit the risk patterns of a few projects, they are not true for most projects.
In a National Research Council report this model was extended to include risks related to human users.
To better distinguish them from "hazardous spiral look-alikes", Boehm lists six characteristics common to all authentic applications of the spiral model.
Authentic applications of the spiral model are driven by cycles that always display six characteristics.
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
This course is an introduction to microwaves and microwave passive circuits. A special attention is given to the introduction of the notion of distributed circuits and to the scattering matrix
In software engineering, a software development process is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Iterative and incremental development is any combination of both iterative design or iterative method and incremental build model for development. Usage of the term began in software development, with a long-standing combination of the two terms iterative and incremental having been widely suggested for large development efforts. For example, the 1985 DOD-STD-2167 mentions (in section 4.1.2): "During software development, more than one iteration of the software development cycle may be in progress at the same time.
Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to software development put less emphasis on planning and more emphasis on an adaptive process. Prototypes are often used in addition to or sometimes even instead of design specifications. RAD is especially well suited for (although not limited to) developing software that is driven by user interface requirements.
This PhD thesis focuses on improving reliability of the LCA of buildings by a better control of the origin and magnitude of uncertainties. It contributes to: - The development of a methodology for assessing uncertainty in LCA of buildings; - The constructi ...
Université Paris Est2015
Robots are steadily becoming one of the significant 21st century learning technologies that aim to improve education within both formal and informal environments. Such robots, called Robots for Learning, have so far been utilized as constructionist tools o ...
While the claim that water-carbon interactions result in spatially coherent vegetation patterning is rarely disputed in many arid and semiarid regions, the significance of the detailed water pathways and other high frequency variability remain an open ques ...