Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 658 B After Width: | Height: | Size: 658 B |
Before Width: | Height: | Size: 616 B After Width: | Height: | Size: 616 B |
After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 118 KiB |
After Width: | Height: | Size: 124 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 146 KiB |
After Width: | Height: | Size: 208 KiB |
After Width: | Height: | Size: 228 KiB |
@ -0,0 +1,39 @@
|
||||
# Software development life cycles (SDLC)
|
||||
|
||||
Here are several popular SDLC models:
|
||||
|
||||
## Waterfall
|
||||
The waterfall model is best suited for well-defined complex projects, where problems can be spotted early and complexity is dealt with in an orderly way. Key distadvantages include low customer visibility and low flexibility to mid-project changes.
|
||||
|
||||
## Incremental development
|
||||
"Incremental" here refers to adding to the work products (requirements, source code, etc.) in stages. In each stage, more functionality is added (core functionality first).
|
||||
|
||||
## Iterative development
|
||||
In iterative development one iterates through the whole process (requirements → ... → deployment) multiple times. Iterative and incremental development often go together.
|
||||
|
||||
## Spiral
|
||||
Spiral is a type of incremental and iterative development where risk assessment occurs at the start of each cycle.
|
||||
|
||||
## Agile
|
||||
Agile is a form of incremental and iterative development with emphasis on frequent face-to-face communication, high customer visibility, adaptability to change, and minimizing non-software work products.
|
||||
|
||||
## Evolutionary
|
||||
In an evolutionary model, deliverables are given to the customer frequently and incrementally. The focus is on high-value features first and getting customer feedback early and often.
|
||||
|
||||
## Code & Fix
|
||||
This is a kind of incremental development where life cycle phases other than coding and debugging (requirements analysis, software design, testing, etc.) are skipped, and code refactoring is often neglected.
|
||||
|
||||
## Prototyping
|
||||
This isn't really a life cycle on its own (although it can be adapted as such, as with "evolutionary prototyping"). Rather, it's a technique that is good for dealing with unclear requirements, assisting in communication, or in developing initial user interface design.
|
||||
|
||||
# Questions guiding the choice of SDLC model
|
||||
This list is adapted from *Rapid Development* by Steve McConnell.
|
||||
- How well do the customer and development team understand the requirements?
|
||||
- How likely are requirements to change?
|
||||
- Are major archiectural changes likely?
|
||||
- Are there hard schedule constraints?
|
||||
- Are the relevant tools and technologies well-understood by the development team?
|
||||
- Is high visibility important to customers and/or management?
|
||||
- How will human factors affect the project (discipline, skills, training, and intellectual limits)?
|
||||
- What opportunities are there to parallelize work phases?
|
||||
|
Before Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 118 KiB |
Before Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 223 KiB |