This Note contains:
- Evolution of software engineering method
Evolution of Software Engineering Method


Waterfall Approach
The waterfall methodology is a project management approach that emphasizes a linear progression from beginning to end of a project.
Waterfall Lifecycle
Risk
Waterfall Method has most Risk profile on the late stage, between integrate and test stage.
It delays critical risk resolution, delays discovery of defects, and precludes early development.
Iterative & Incremental approach
Iterative: Project is divided into iterations.
Incremental: Functionality is added incrementally.
Key aspect: Work is prioritized based on Risk.
Reduces project risks early
Method Example
- Spiral
- Rational Unified Process (RUP)
Agile approach
Agile is also Iterative & incremental, but:
Key aspect: Work is prioritized based on Value.
Which means that in the first iterate, the team will deliver the functionality that costumer wants the most but not the functionality that will gives highest project risk.
Delivers value to customers early
Method examples
- Extreme Programming (XP)
- Scrum
Lean approach
Lean: Lean is the western term for what the Japanese call Toyota Production System, which is the approach to manufacturing behind Toyota’s success. It has been shown that this approach is largely applicable to software development.
Key aspect: Optimize end-to-end flow, from original idea to delivering to customer, by reducing waste.
A waste is anything that does not add custom value. Most of the waste is generate between process.
Lean focused more on entire workflow instead of individual processes.
Method example
- Lean Software Development
- Kanban
Hybrid Method
Hybrid: Mix of approaches.
Key goal: Leverage the best of different worlds
Example of hybrid frameworks
- Scaled Agile Framework
- Disciplined Agile Delivery
- 本文作者: Depasinre
- 本文链接: https:/Depasinre.github.io/2024/01/23/18652-week1/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!