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

Slides:



Advertisements
Similar presentations
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Advertisements

An Introduction to eXtreme Programming Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Based on the XP Game by Vera Peeters and Pascal Van Cauwenberghe ( 1Software Engineering /Spring.
AgileMan Consulting So what the heck is Agile? It came about as a response to the high failure rate of software projects (> 60%), where failure means late,
McGraw-Hill/Irwin © 2006 The McGraw-Hill Companies, Inc. All rights reserved BUSINESS DRIVEN TECHNOLOGY Chapter Nineteen: Building Software to Support.
BUSINESS DRIVEN TECHNOLOGY
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
Transforming Organizations
ECE44x SCRUM Overview slides adapted from Marty Stepp
Agile Project Management with Scrum
6 December ’s  60’s “Cowboys” wrote software anyway that they could Difference between best programmers and worst as high as 28:1 (many sources)
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Review: Agile Software Testing in Large-Scale Project Talha Majeed COMP 587 Spring 2011.
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
CHAPTER 19 Building Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
Alexander Tzokev 2005 FDIBA Lecture 6 Planning Application Development.
Software Engineering Modern Approaches
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
R ELEASE P LANNING. H ELPFUL R ESOURCES Planning Extreme Programming, Kent Beck and Martin Fowler Extreme Programming Installed, Ron Jeffries, Ann Anderson.
1 e X treme P rogramming D. Dranidis September 2000 CITY College.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
5. Planning.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Roles in a Project Team By Sebastian Wagner And Michal Pieniazek.
Planning Game in Artifacts Tracker (AT) Project Michal Pilawski.
XP – Extreme Programming
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
STEP 4 Manage Delivery. Role of Project Manager At this stage, you as a project manager should clearly understand why you are doing this project. Also.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Extreme Programming (XP) XP is an agile methodology: –aims to be responsive to change Theme running through XP is the importance of communication –amongst.
Planning for Success (aka “Avoiding Failure”) Project Planning 1.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Extreme Programming Based on and
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Planning Extreme programming
Software Engineering 2004 Jyrki Nummenmaa 1 Why new software methodologies The classic waterfall-model based techniques are strongly based on the.
Extreme Software Engineering A Hands-On Approach From Extreme Software Engineering: A Hands-On Approach Daniel H. Steinberg Daniel W. Palmer.
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
1 Advanced Computer Programming Project Management: Basics Copyright © Texas Education Agency, 2013.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Etreme rogramming (XP) eXtreme Programming (XP). 2 A Typical XP Project All programmers in a room together Work in a series of fixed iteration cycles.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Transforming Organizations
Etrics XP Metrics.
Mike Cohn - Agile Estimating and Planning
Extreme Programming.
Rapid software development
Johanna Rothman Report Your Project State Chapter 14
Lecture # 3 Software Development Project Management
Coming up: What is Agile?
Teaching slides Chapter 13
Agile Development – a new way of software development?
2-2 Estimating Size in Ideal Days
Presentation transcript:

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.