160 likes | 305 Views
2009 Agile Conference. XP Customer Practices: A Grounded Theory. 985202042 王鈺 歆. Angela Martin The University of Waikato, Hamilton , Now Zealand angela@cs.waikato.ac.nz. Robert Biddle Carleton University, Ottawa , Canada Robert_biddle@carleton.ca. James Noble Victoria University of
E N D
2009 Agile Conference XP Customer Practices: A Grounded Theory 985202042 王鈺歆 Angela Martin The University of Waikato, Hamilton , Now Zealand angela@cs.waikato.ac.nz Robert Biddle Carleton University, Ottawa , Canada Robert_biddle@carleton.ca James Noble Victoria University of Wellington, Now Zealand kjx@mcs.vuw.ac.nz
Why this paper? • Customer 在 XP 中扮演極關鍵的角色,但幾乎所有的 XP practices 都是針對 developers-developers • 當 XP 要求 Real Customer 參與時,XP 並未說明 • What they should do • How they should do it
propose • 作者應用 Grounded Theory 從 成功的 XP teams 找出 八個 Customer practices • 補充: • Grounded theory (GT) is a systematic qualitative research methodology in the social sciences emphasizing generation of theory from data in the process of conducting research (Wikipedia) 研究設計 → 資料收集 → 資料編排 → 資料分析 → 資料比較
propose • Support the well-being and effectiveness of customers • CustomerBootCamp • Customer’sApprentice • CustomerPairing • Programmer’s Holiday
propose • Support team and organization interactions • Programmer On-site • Roadshows
propose • Support Customers steering the whole project • Big Picture Up Front • Re-calibration
propose One of the things that is unsaid in the XP literature is how to be a customer (analyst) – Martin Fowler • XP Customer Practices
Customer’s Apprentice • Programmer works on the customer team for an iteration or two so that they can understand the complexity of the customer team’s role. • An way for developers to understand the Customer • Walk a mile in their shoes • Gain a deeper understanding and appreciation of the extent of the customer’s task • take that understanding and empathy back into the team
Programmer On-site • Schedule site visits for programmers so that programmers can understand more about the end-users of the software • Concerned with the whole team understanding the end user and context of use, with the programmers gaining enough information to make helpful suggestions
Programmer Holiday • An iteration of technical tasks so that the customer can have some time to think-ahead • Ex: • The programmers would spend an entire iteration on technical tasks of their choosing, and the customer team would step away from the iteration process and “break the back” of the third release • Typically, some of the programmers would work as Customer’s Apprentice during this period • The customer gets a break from supporting the current iteration and is able to focus almost solely on setting the direction for next stage of the project
Roadshow • Demonstrate the software to end-users and other stakeholders so that the team can obtain feedback on the direction of the project • How did the customer obtain the feedback on the software from the large communities they represent? • The executive management was assured that the team was making demonstrable progress towards a shippable product • Demonstrating the product and getting feedback on what has been developed since the last meeting • Scrum has a process that initially appears to be the same as the Roadshow practice is called a Sprint Review (meeting with interested project stake holders to review the functionality developed)
Customer Pairing • Two members of the customer team working collaboratively to provide a single-voice to the development team • The pair can: • Support each other to make tough decisions • Bounce concepts and decisions off each other • Sanity check their interpretations of meeting • Brought the information back into the pair in order to forge a single-voice for the development team
Customer Boot Camp • A customer-focused training event • How do the customer team learn how to interact with an XP development team effectively? • Help people buy in to the process, and gain a practical understanding of their role and what they need to do on the project • Ex: story writing • Invited their customers to attend their agile training, and as such the customers were quickly exposed to the ideas, principles and practices of XP • Supports the customer to become an effective member of the whole team
Big Picture UP-Front • A short period of envisioning amongst the business stakeholders and project team to set the direction of the project • Help answer the question “what to build” • Set the direction of the project • Ex: a set of use cases and a release plan ( several milestones and an associated set of stories )
Re -Calibration • Plan to adjust commitments and resources regularly based on what both customers and developers learn during the iterations • Not going to deliver everything that they initially hoped they could during release planning • The velocity data from the first iteration will typically indicate that the release plan is unrealistic • Allows the business team to make the scope reductions required in order to meet the deadline • In some cases the customer’s sense of “betrayal” appeared to be greater than if the situation occurred on traditional projects • Perhaps the customer believed XP was a silver bullet
Conclusion • Support real Customer Involvement by preparing the business representative for their role • Customer boot Camp • Support Whole Team by providing opportunities for the programmers to develop empathy • Customer’s Apprentice and Programmer On-Site • Energized Work by reducing the intensity of the process • Pair Customering and Programmer Holiday • Support teams to work together more effectively and how to ensure they “build the right thing”