Tuesday, February 8, 2011

Extreme Programming installed: Chapters 7-9

Extreme Programming Installed
Ron Jeffries, Ann Anderson, and Chet Hendrickson

 These three chapters cover small releases, customer defined release, and and iteration planning.  XP projects rely on quick releases.  The only way to do this is to make iterative small releases.  By doing this, the customer always has some kind of product with some kind of basic functionality.  By doing quick small releases, your customer is constantly giving you feedback on the direction on the project.  This allows you and the customer a greater level of understanding. The project will be on track and please the customer much faster.  In XP, the customer decides the release date based on how they assign the releases.  Sometimes the customer has a hard time creating user stories that are able to be done in small releases.  If this is the case, the customer needs to be there when the programmers are grading the user story on difficulty.  Stories cannot be rated in months so the customer really has to learn how to define user stories on a smaller scale.  This should get better as the project moves along.  Since the customer is making the user stories, he is also determining the release date of certain tasks.  This helps to define the priorities of the project.  This goes hand and hand with iteration planning.  The customer is responsible for determining what gets done each iteration.  So a programming team has a velocitry of 30 points.  In the planning meeting, the customer presents the user stories, the team brainstorms the tasks, and then each programmer picks a task.  Each of these tasks have a point value associated with them which in turn determines how much work the team will be doing this iteration.



These 3 chapter focus more on the practicing side of XP.  It defines what exactly goes on in the planning process fro each iteration.  Some people really like this part of XP while others really hate it.  It largely depends on the people in your programming team.  It takes a lot of self discipline in order to pick a task and then complete it before the end of the given period.  Sometimes teams run into issues when certain people are not pulling there weight.  I have actually run into this a couple times when certain people have not pulled their weight.  This usually forces someone to step up to the plate and take on extra work in order to keep the iterations on time.  It really isn't fair for that person and increases the overall stress associated with the project.

No comments:

Post a Comment