iterative development: breaking through the waterfall

13
Breaking from the Waterfall [email protected]

Upload: andrei-navarro

Post on 02-Dec-2014

700 views

Category:

Technology


0 download

DESCRIPTION

Demo class presentation for the Ateneo de Manila University

TRANSCRIPT

Page 1: Iterative Development: Breaking through the Waterfall

Breaking from the Waterfall

[email protected]

Page 2: Iterative Development: Breaking through the Waterfall

My experience as a developerLeading development teams and

managing software projectsDifferences between the academe

and the industry

Page 3: Iterative Development: Breaking through 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 through the Waterfall

“Traditional” approach to software dev’tSequential Design Process

Planning, Analysis, Design, Implementation, Support

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

flexible

Page 5: Iterative Development: Breaking through the Waterfall

PlanningPlanning

AnalysisAnalysis

DesignDesign

Implementation

Implementation

SupportSupport

Page 6: Iterative Development: Breaking through 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 through 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 through 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 through the Waterfall
Page 10: Iterative Development: Breaking through 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 through 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 through the Waterfall

Test Driven Development Unit Testing Continuous Integration Automated Testing

Pair ProgrammingSoftware Tools

Pivotal Tracker

Page 13: Iterative Development: Breaking through the Waterfall

Questions?