Extreme Programming Practice: On-Site Customer
Sanplex Content
2020-12-28 08:53:35
2475
In Scrum, customers are typically only involved in product feedback and acceptance. In Extreme Programming (XP), having an on-site customer is an important practice to ensure that the deliverables meet the customer's expectations. The "customer" in Extreme Programming is not necessarily the person who pays for the system, but the person who actually uses the system.
Responsibilities of On-Site Customers
As mentioned in our previous blog on the Extreme Programming: Planning Game, user stories originate from customers. Teams that have used user stories will find that they are actually very simple. Compared to detailed functional specifications, user stories are general descriptions, which means the details need to be supplemented through continuous communication between the developers and the customer. Therefore, throughout the lifecycle of an Extreme Programming project, there should be at least one on-site customer representative responsible for clarifying user stories, making business decisions, and writing functional acceptance tests to ensure the right features are developed.
Benefits of On-Site Customers
The on-site customer practice not only improves communication efficiency between the team and the customer but also helps enhance cooperation and trust. Additionally, frequent small releases allow customers to try new features faster, enabling them to confirm the accuracy of the developed functions in a timely manner.
How to Implement the On-Site Customer Practice
The on-site customer practice can be implemented through the following steps:
- Communicate at any time: The setup needs to ensure that the development team and the on-site customer can communicate at any time during implementation. This allows the customer to make business decisions in a timely manner to avoid project delays.
- Scenario-based user stories: When discussing user stories with customers, use real-world scenarios and layman's terms. This avoids misinterpretation during the development process.
Ideally, the on-site customer is an active member of the team and discusses user stories face-to-face with the developers. However, considering factors such as labor costs and logistics, this is not always possible, and continuous online communication is often used as an alternative.
However, having an on-site customer becomes ineffective if the customer does not have clear product expectations, especially when the development team is building entirely new, exploratory products.
The true value of Extreme Programming lies in comprehensively applying its 12 best practices together in a project, rather than using them in isolation. Stay tuned for more insights into the other practices of Extreme Programming.