Software Development
Processes
crafted by
The Big Two
Waterfall Process
● Gather all the requirements
●
● Design all the features
● Implement everything
● Deliver
●
Iterative Process
● Gather some requirements
● Decide what you can do now
● Design a minimal solution
● Implement it
● Deliver
● Repeat
3 - 24 months ? 2 - 6 weeks ?
crafted by
Why not Waterfall?
● It assumes you understand the
requirements correctly
● It assumes you made good design
decisions
● It assumes your implementation has
no bugs
● Gives slow feedback
crafted by
You will be wrong a lot
Iteration allows you to fix your mistakes
crafted by
Deliver Often
Iteration allows you to receive feedback fast
crafted by
Iterative Process
Some examples
crafted by
Agile
● Scrum
● Extreme
Programming
● Kanban
Lean
● Lean
Manufacturing
● Lean Software
Development
● Lean Startup
● Lean Process
Improvement
Design Thinking
● Social Innovation
● Mobility
● Education
● Prototyping
crafted by
Scrum Process
crafted by
crafted by
Understand
Explore
Materialize
crafted by
Extreme Programming
Test driven development
Unit testsAcceptance tests
Refactoring
Pair programming
Continuous Integration
Collective ownership
Planning game
Code reviews
crafted by
complexity
confusion
choices
processes
tools
details
rules
best practices
option
s
crafted by
How do you choose
what to learn?
How do you choose
what to use?
crafted by
Understand the
common values that
they share
crafted by

02.1 software development processes