Presentation is loading. Please wait.

Presentation is loading. Please wait.

Iterative, Evolutionary, and Agile You should use iterative developmen only on projects that you want to succeed. - Martin Fowler.

Similar presentations


Presentation on theme: "Iterative, Evolutionary, and Agile You should use iterative developmen only on projects that you want to succeed. - Martin Fowler."— Presentation transcript:

1 Iterative, Evolutionary, and Agile You should use iterative developmen only on projects that you want to succeed. - Martin Fowler

2 S.E. as a Layered Technology ● Goals – desired results, e.g., quality ● Process – set of activities performed toward a specific purpose ● Methods – technical details on how to perform parts of the process ● Tools – support for the programmer to carry out methods

3 Software Development Process ● an approach to building, deploying and possibly maintaining software ● Unified Process(UP) – popular iterative software development process for OO systems ● Rational Unified Process (RUP) – popular refinement of the Unified Process ● UP is open to methodologies: XP, refactoring, continuous integration, etc.

4 Iterative Development ● development is a series of short (e.g., two weeks) iterations (e.g., mini-projects) ● Phase1: Requirements->Design - >Implementation->Release ● Phase2: Requirements->Design - >Implementation->Release ● Phase3: Requirements->Design - >Implementation->Release

5 Comparision ● Final result is a production-grade subset of the final system ● Not a throw-away prototype ● Not an experimental proof of concept ● Sytem may not be usable until after multiple iterations

6 Embrace Change ● Change on a project is inevitable; your project is not a special case ● Solve a small part of the entire project successfully instead of solving the entire project (unsuccessfully) ● Promotes early feedback ● Drive to goal one step at a time ● Important part of open-source development

7 Benefits ● Less failure, better productivity, lower defect rates..... ● Early mitigation of risk ● Early visible progress ● Early feedback and user engagement ● Complexity is better managed ● Leads to improvements in process, not just product

8 Waterfall is Evil ● Attempts to complete all of one stage before moving to another ● Attempts to make a schedule of the unknown ● Assumes that specifications are predictable, stable, and can be planned (25-50% changes) ● Early advice on using Waterfall was based on speculation and hearsay ● Avoid “Waterfall Thinking”


Download ppt "Iterative, Evolutionary, and Agile You should use iterative developmen only on projects that you want to succeed. - Martin Fowler."

Similar presentations


Ads by Google