iterative development: breaking from the waterfall

13
Breaking from the Waterfall [email protected]

Upload: andrei-navarro

Post on 16-Apr-2017

3.234 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Iterative Development: Breaking from the Waterfall

Breaking from the Waterfall

[email protected]

Page 2: Iterative Development: Breaking from the Waterfall

My experience as a developerLeading development teams and

managing software projectsDifferences between the academe

and the industry

Page 3: Iterative Development: Breaking from the Waterfall

Waterfall/”SDLC” What is it? Advantages and disadvantages

Agile and Iterative Development What is it? How it differs from waterfall Advantages and Disadvantages

Discussion

Page 4: Iterative Development: Breaking from the Waterfall

“Traditional” approach to software dev’t Sequential Design Process

Planning, Analysis, Design, Implementation, Support

1970: Paper by Winston Royce Focus on documentation and detail Have a plan (or plans) and stick to it “Measure twice, cut once” Developers standpoint: clear, but flexible

Page 5: Iterative Development: Breaking from the Waterfall

Planning

Analysis

Design

Implementation

Support

Page 6: Iterative Development: Breaking from the Waterfall

Perfection at every step No progress until each step is completed

DocumentationDisciplineClearly defined milestonesPredict problems before they occur

Page 7: Iterative Development: Breaking from the Waterfall

Problems are rarely fully understoodResistance to changeMistakes made at previous steps

“trickle down the waterfall”Response to problems that can’t be

known before completionNo feedback loopRoyce’s example

Page 8: Iterative Development: Breaking from the Waterfall

Cyclic software development Plan-Do-Check-Act Methods:

Agile Scrum Extreme Programming RUP RAD

Develop a system in cycles and smaller (functional) portions at a time

Page 9: Iterative Development: Breaking from the Waterfall
Page 10: Iterative Development: Breaking from the Waterfall

Feedback LoopQuick response to change (with less

investment)Continued learning about the

problemTake advantage of what is learned at

each iterationAlways have a complete functioning

system

Page 11: Iterative Development: Breaking from the Waterfall

Less focus on documentationDifficult to implementTendency to start coding before

planningCommunication overheadRequires a very efficient change

control mechanismRequirements are always at risk of

changing

Page 12: Iterative Development: Breaking from the Waterfall

Test Driven Development Unit Testing Continuous Integration Automated Testing

Pair ProgrammingSoftware Tools

Pivotal Tracker

Page 13: Iterative Development: Breaking from the Waterfall

Questions?