Processes in software development

Preview:

DESCRIPTION

Highlevel Intro for students into different processes in software development; Waterfall, Scrum, Kanban, Lean

Citation preview

Software Development Processes

Sergey Nezdoliy, Mobile developer, CSM

Old school style: Waterfall

Waterfall: Pros

Pros: - discipline - fixed costs ($) - precise plan of development - complete requirements - improved quality based on requirements (many issues are caught on design stage)

Waterfall: Cons - not flexible scope, 'change requests' are impossible - initial phase is too long (product may become out of date) - overwork in case of unexpected issues - redundant communication between devs, designers, managers on different phases - frequently failed deadlines - high risks, no re-visit of phases

As a result

Waterfall: Cost of change

Iterative Waterfall

Agile processes: Scrum, Lean, Kanban

- focused on delivering fully-tested, independent, valuable, small features - less risks: if one feature goes wrong, it does not impact other features - more flexibility (time-cost-scope triangle) - easy 'change requests' - ready for release with each new feature - phases are not separate - works for both FTE and Time & Material - ...

Time-Cost-Scope-Quality triangle

Scrum iterative model

Regular Scrum Board

Lean development process

- you select, plan develop, test, release one feature before you select, plan develop, test, release next feature - you aim to eliminate 'waste' wherever possible - you therefore do nothing until you know it's necessary or relevant

Scrum and Lean: difference

Agile

Lean

Kanban

- Came from Toyota manufacturing: JIT (just in time) - As flexible as you can imagine - Limit WIP (Work in progress) as main concept

Regular Kanban board

Q&A

Thank you!

Any questions? sergey.nezdoliy@gmail.com

Recommended