Presentation is loading. Please wait.

Presentation is loading. Please wait.

AGILE METHODS Curtis Cook CS 569 Spring 2003.

Similar presentations


Presentation on theme: "AGILE METHODS Curtis Cook CS 569 Spring 2003."— Presentation transcript:

1 AGILE METHODS Curtis Cook CS 569 Spring 2003

2 Overview Motivation What is an agile method? Agile manifesto
Examples of Agile methods XP Scrum

3 Motivation Robert’s Rules of Order
Henry Martyn Robert - engineering officer No single correct parliamentary procedures for meetings Devised set of rules to solve problem 1870s 10 editions

4 Robert’s Rules of Order
Examples of rules How would you characterize the rules? How would you describe the process dictated by these rules? What have you used in meetings you have attended or presided over? When are Robert’s Rules appropriate and when are they inappropriate?

5 What is an agile method? Agile proponents believe
Current software development processes are too heavyweight or cumbersome Too many things are done that are not directly related to software product being produced Current software development is too rigid Difficulty with incomplete or changing requirements Short development cycles (Internet applications) More active customer involvement needed CMM focuses on process

6 What is an agile method? Agile methods are considered
Lightweight People-based rather than Plan-based Several agile methods No single agile method XP most popular No single definition Agile Manifesto closest to a definition Set of principles Developed by Agile Alliance

7 Agile Manifesto 1. Our highest priority is to satisfy the costumer through early and continuous delivery of valuable software 2. Welcome changing requirements, even late in development. Agile process harness change for the customer´s competitive advantage 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale

8 Agile Manifesto 4. Business people and developers must work together daily throughout the project 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation

9 Agile Manifesto 7. Working software is the primary measure of progress
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely 9. Continuous attention to technical excellence and good design enhances agility

10 Agile Manifesto 10. Simplicity – the art of maximizing the amount of work not done – is essential 11. The best architectures, requirements, and designs emerge from self-organizing teams 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly

11 XP (Extreme Programming)
XP by far most common agile method XP phases Exploration - customers write story cards. Project team becomes familiar with tools, technology and practices Planning - set priority of stories and contents first release Iterations to Release - iterations before releases Productionizing - extra testing and checking before release to customer Maintenance and Death - new iterations and no more more customer stories

12 XP (Extreme Programming)
XP roles and responsibilities Programmer - writes tests and then code Customer - writes stories and functional tests Tester - helps customer write tests and runs them Tracker - gives feedback on estimates and process on iterations Coach - person responsible for whole process Consultant - supplies specific technical knowledge needed Manager - makes decisions

13 XP (Extreme Programming)
XP Practices Planning game - programmers estimate effort of implementing customer stories and customer decides about scope and timing of releases Short releases - new release every 2-3 months Simple design - emphasis on simplest design Testing - development test driven. Unit tests before code Refactoring - restructuring and changes to simplify Pair Programming - 2 people at 1 computer

14 XP (Extreme Programming)
XP Practices (cont) Collective ownership - anyone can change any part of the code at any time. Continuous integration - new builds as soon as code ready 40 hour week - maximum 40-hour week. No overtime On-site customer - customer present and available full-time for team Coding standards - rules exist and are followed Open workspace - large room small cubicles Just rules - team has own rules but can be changed any at time

15 Scrum Phases Pregame Development Postgame
Planning - define system. Product Backlog Architecture - high level design of system Development Iterative cycles (sprints) - new or enhanced functionality Postgame Requirements satisfied - no new items or issues

16 Scrum Roles and Responsibilities
Scrum Master - project following rules and practices Product owner -officially responsible for project Scrum Team - project team. Free to organize as they see fit to achieve goals of each sprint Customer - participates in Backlog items Management - Makes final decisions

17 Scrum Practices Product Backlog -Current prioritized list of work to be done Effort Estimation - iterative on Backlog items Sprint - 30 day iteration Sprint Planning Meeting - decide goals for next spring and how team will implement Sprint Backlog -Product Backlog items for sprint Daily Scrum meeting - what doing, what will do, and any problems Sprint Review Meeting -present results of sprint


Download ppt "AGILE METHODS Curtis Cook CS 569 Spring 2003."

Similar presentations


Ads by Google