iterative development: breaking from the waterfall

Post on 16-Apr-2017

3.233 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Breaking from the Waterfall

andrei@dreinavarro.com

My experience as a developerLeading development teams and

managing software projectsDifferences between the academe

and the industry

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

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

Discussion

“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

Planning

Analysis

Design

Implementation

Support

Perfection at every step No progress until each step is completed

DocumentationDisciplineClearly defined milestonesPredict problems before they occur

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

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

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

Less focus on documentationDifficult to implementTendency to start coding before

planningCommunication overheadRequires a very efficient change

control mechanismRequirements are always at risk of

changing

Test Driven Development Unit Testing Continuous Integration Automated Testing

Pair ProgrammingSoftware Tools

Pivotal Tracker

Questions?

top related