processes in software development

18
Software Development Processes Sergey Nezdoliy, Mobile developer, CSM

Upload: sergii-nezdolii

Post on 06-Jul-2015

189 views

Category:

Education


3 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Processes in software development

Software Development Processes

Sergey Nezdoliy, Mobile developer, CSM

Page 2: Processes in software development

Old school style: Waterfall

Page 3: Processes in software development

Waterfall: Pros

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

Page 4: Processes in software development

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

Page 5: Processes in software development

As a result

Page 6: Processes in software development

Waterfall: Cost of change

Page 7: Processes in software development

Iterative Waterfall

Page 8: Processes in software development

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 - ...

Page 9: Processes in software development

Time-Cost-Scope-Quality triangle

Page 10: Processes in software development

Scrum iterative model

Page 11: Processes in software development
Page 12: Processes in software development

Regular Scrum Board

Page 13: Processes in software development

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

Page 14: Processes in software development

Scrum and Lean: difference

Agile

Lean

Page 15: Processes in software development

Kanban

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

Page 16: Processes in software development

Regular Kanban board

Page 17: Processes in software development

Q&A

Page 18: Processes in software development

Thank you!

Any questions? [email protected]