Unformatted text preview:

eXtreme ProgrammingGoalsRolesArtifactsActivitiesXP PracticesSlide 7Pair programmingProcessTestsContinuous IntegrationDesignSimple designXP Planning GameSlide 15ExamplePlanning XP ProjectEstimatingRevise planCharacteristics of XP PlanningNext timeCS427 3-1eXtreme ProgrammingLightweight software development process for small groups (<12)Extreme Programming Explained by Kent Beckhttp://www.xProgramming.comCS427 3-2GoalsMinimize unnecessary workMaximize communication and feedbackMake sure that developers do most important workMake system flexible, ready to meet any change in requirementsCS427 3-3RolesCustomerTesterDeveloperCoachTrackerBossCS427 3-4ArtifactsMetaphorStories, sorted into “iterations”.TasksUnit testsFunctional testsCodeCS427 3-5ActivitiesWriting storiesThe planning gameStandup meetingWriting testsMaking tests workRefactoringIntegratingStandup meetingCS427 3-6XP PracticesOn-site customerThe Planning GameSmall releasesTestingSimple designRefactoringCS427 3-7XP PracticesMetaphorPair programmingCollective ownershipContinuous integration40-hour weekCoding standardsCS427 3-8Pair programmingCS427 3-9ProcessCustomer produces sequence of “stories”.Developers break stories into “tasks”.Developers implement tasks one at a time, working in pairs.Developers implement tasks bywriting tests for itdoing “simplest thing” to make tests workrefactoring until design is simple againCS427 3-10TestsUnit testsTest each unit of software.Write code only if there is a unit test for it.All unit tests must always run.Written by developersFunctional testsTest entire packageWritten by customerCS427 3-11Continuous IntegrationIntegrate your work after each task.Start with official “release”Once task is completed, integrate changes with current official release.All unit tests must run after integration.CS427 3-12DesignDesign occurs when developersDevelop metaphorBreak story into tasksDecide how to implement a taskRefactorCS427 3-13Simple designDo the simplest thing that could workFor each design problem:What are some solutions?Will it work? (yes, no, maybe)Pick the simplest one that might workCS427 3-14XP Planning GameCS427 3-15XP Planning GameCustomer writes storiesDevelopers estimateeffort (in man-weeks)risk (high, medium, low)Budget for each iterationCustomer picks enough stories to fill iterations.CS427 3-16Example20 one-week stories, 25 two-week stories, 10 three-week stories6 developers, able to implement four weeks of stories each iteration100 weeks / 4 (weeks/iteration) = 25 iterationsCS427 3-17Planning XP ProjectWrite stories until they are “complete”EstimatePlanExecute and measureRevise planExecute and measureRevise plan...CS427 3-18EstimatingIf you can’t estimate a story, work on it until you can.Group design sessionPrototyping (Spike)If story is too long, break it into smaller storiesCS427 3-19Revise planMeasure actual number of story-weeks implemented. This is project velocity.Make sure next iteration is no more than project velocity of previous iteration.Customer canadd storiesrevise, remove, reschedule storiesOnly developers can estimate storiesCS427 3-20Characteristics of XP PlanningRequires a few iterations to make good estimatesNext iterations are easier to predict than iterations that are far awayEasy to change schedule by changing storiesCS427 3-21Next timeRead chapters 4,5 and 7 of Hamlet and Maybee, plus sections 2.3, 2.4, and


View Full Document

U of I CS 427 - Extreme Programming

Download Extreme Programming
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Extreme Programming and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Extreme Programming 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?