Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agile Software Development Lab Dr. Günter Kniesel, Daniel Speicher, Tobias Rho, Pascal Bihler Spring 2008 Planning and Tracking Sina Golesorkhi Alexis.

Similar presentations


Presentation on theme: "Agile Software Development Lab Dr. Günter Kniesel, Daniel Speicher, Tobias Rho, Pascal Bihler Spring 2008 Planning and Tracking Sina Golesorkhi Alexis."— Presentation transcript:

1 Agile Software Development Lab Dr. Günter Kniesel, Daniel Speicher, Tobias Rho, Pascal Bihler Spring 2008 Planning and Tracking Sina Golesorkhi Alexis Raptarchis golesork@cs.uni-bonn.de@cs.uni-bonn.de raptarch@cs.uni-bonn.de

2 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques2 What is planning and why do we do it? “Planning is the (psychological) process of thinking about the activities required to create a desired future on some scale” We plan because we: uNeed to ensure that we are always working on the most important thing we need to do. uWe need to coordinate with other people. uWhen unexpected events occur we need to understand the consequences for the first two.

3 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques3 Planning in XP uThe most surprising aspect of XP is it’s simple rules and practices. uThey might seem awkward and naïve at first, but soon become a welcome change. Before we can discuss the planning process in XP we need to explain some basic terms that will be used throughout this presentation.

4 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques4 The customer In XP we talk allot about the customer. By customer we mean the person who makes the business decisions. uIn XP the customer is not the one who pays the bill, but the one who really uses the system. A lot of planning processes see the customer as some kind of disembodied entity outside of software development who provides requirements. uIn XP the customer is part of the team and should be on hand at all times and available for questions.

5 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques5 User stories A user story is a chunk of functionality that is of value to the customer. It provides a simple way for developers and customers to chop up what the system needs to do so the system can be delivered in pieces. uThe best user story is a sentence or two in plain English that describes something important to the customer. uUser stories should only provide enough detail to make a reasonably low risk estimate of how long the story will take to implement. uThe customer has the sole responsibility for supplying the team with user stories.

6 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques6 Release The business cycle revolves around the activities of business and is at least months long: uPress releases uSoftware releases, manufacturing and installation uTraining uBilling We will call one of these one- to six-month turns of the business crank a release.

7 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques7 Iteration In order to be able to make midcourse corrections for a release, we must shrink the development cycle to no more then a few weeks. uWe will call one of these one- to three-week development cycles an iteration. In such a small time window it is impossible to complete anything “big”. uThat is why we use the user stories as a measure of progress.

8 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques8 Overview: The XP process has releases that take a few months, that divide into two-weeks iterations, that divide into tasks that take a few days. Planning allocates stories to releases and iterations in reaction to the realities of development.

9 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques9 Release Planning In release planning the customer chooses a few month’s worth of stories, typically focusing on a public release. uThe customer: èDefines the user stories to be build in this release. èDecides what business value the stories have. uThe programmers: èEstimate how long it will take to build each story èWarn the customer about significant technical risks èProvide the customer with an overall budget. Release planning is a joint effort between the customer and the programmers.

10 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques10 Iteration Planning At the beginning of each iteration the team creates an iteration plan. This plan breaks down the iteration into development tasks of a few days. uTasks are scheduled by asking programmers to sign up for the tasks they want. uOne of the most important principles in planning for Extreme Programming is that the dates are hard dates.

11 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques11 Iteration Planning vs. Release Planning uThe release plan is synchronized to the rhythms of business. It gives the business people a way of thinking about sets of stories that together tell a good story to the market. uThe iteration plan is synchronized to the rhythms of programming. Unlike the release plan, the iteration plan is very much the developers'. They decide how to do things and in what order. But the customer is still involved.

12 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques12 Project Velocity The project velocity is a measure of how much work is getting done on your project. To measure the velocity you simply add up the estimates of the user stories that were finished during the iteration. During the iteration planning meeting customers are allowed to choose the same number of user stories equal to the project velocity measured in the previous iteration.

13 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques13 Example

14 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques14 Tracking an Iteration A couple of times a week the trackers needs to find out where everyone is with the iteration. He asks the developers two questions: 1.How many ideal days have you worked on this? 2.How many more ideal days to you need before you’re done? It’s in the programmer’s judgment whether she will be able to get in enough ideal days before the end of the iteration.

15 Agile Software Development Lab, Spring 2008 Prolog: Language and essential logic programming techniques15 Visible Graphs Anyone should be able to sense the state of the project by looking at a handful of graphs in the team’s working area. uRemaining Effort: Sum of the estimated time that is needed to finish the tasks. uRemaining Tasks: Number of unfinished tasks at the morning of the day.


Download ppt "Agile Software Development Lab Dr. Günter Kniesel, Daniel Speicher, Tobias Rho, Pascal Bihler Spring 2008 Planning and Tracking Sina Golesorkhi Alexis."

Similar presentations


Ads by Google