Extreme programming installed
Ron Jefferies, Ann Andreson, Chet Hendrickson
Editors: ?
Summary:
Chapter 7 focuses on the advantages of having a short release cycle. Short release cycles allow the team to supply the customer with working builds at each iteration. This allows for the customer to provide timely and useful feedback to the programming team. In turn the programming team is able to take this feedback and use it to iteratively shape the system to the customer's needs.
Chapter 8 focuses on effectively planning release schedules. A release can consist of one or more iterations with each iteration implementing one or many stories. It is important to decide what stories are included in each release in order to increase the business value of the release while still releasing it in a timely manner. The process of determining these stories starts with the exploration phase, where the customer provides stories to the programming team and the programming team provides feedback on the stories. Then, in the commitment phase, the programming team members are assigned stories to work on and estimate how much time it will take to complete all of their assigned stories. A point value is then assigned to each story, signifying how hard the story will be to implement. Finally, in the steering stage, the customer picks which stories to implement after receiving feedback on the difficulty of each story.
Chapter 9 focuses on iteration planning, or the process of assigning user stories to members of the programming team for each iteration. An iteration planning meeting starts with the customer presenting user stories to the programming team. After the team members have heard all of the user stories, they are expected to collectively brainstorm engineering tasks. Each programming team member is expected to help generate as many ideas as possible in order to benefit the team. After all the stories have been explained to the programming team, the team members should sign up for stories that they wish to implement.
Discussion:
This section of the reading was interesting because it brought up many useful ideas, such as team brainstorming and discussing user stories with the customer. I fell that team brainstorming would help gather the collective knowledge of the group in order to help avoid as many engineering road blocks as possible. Discussing user stories with the customer seems to be critical in order to start the project off in the right direction so as to not waste any time or effort. I feel like the authors should have gone over some of the ways to provide continuous or iterative updates to the user. For example, using automated build systems to remotely update the software on the customer's site. This reading could be applied to our project proposals meetings. We volunteered for specific tasks, and determined how long each task would take. However, It would be useful to engage in a team brainstorming discussion before we begin the project.
No comments:
Post a Comment