Saturday, July 23, 2011

How an Agile Customer Feedback Vision can lead to Product Success!

Gaining periodic customer feedback of working software is an important aspect of agile development, because it ensures that you are constructing a valuable solution for the customer. Without customer feedback, you are not really applying agile; you are just doing a form of iterative development without aligning your work with the customer’s need. While the engineering practices applied within an agile project focus on building the product right, the validation practices focus on building the right product.

The notion of thinking through and establishing a serious feedback approach for the product, which I term the Agile Customer Feedback Vision, is missing from many agile projects—and even missing within the bailiwick of agile practices. This vision is a strategy for identifying the right customers,  applying personas, establishing feedback sessions throughout the project, and then motivating the customers to attend the feedback sessions.

Establish Customer Profiles

Customer profiles are important to a successful implementation of customer validation. A customer profile identifies common traits in your target customers, including demographics, buying patterns, and areas of interest. The goal is to identify and select customers who meet the profile you are looking for and who are willing to provide feedback.

Identify Personas

Personas represent the users of the product that is being developed.  There are often several personas that use a product for various reasons.  An example of 3 personas that may use an on-premise application are: "Regular User", "Power User", and "Administrator".  They all use the product a bit differently and features are built for their needs.  The importance of identifying the personas in regards to customer feedback is that you should invite the customers that represent that persona when those features are being demonstrated.  For example, when you are demonstrating a feature that focuses on administration tasks, then the best feedback comes from having someone from the customer who represents the administrator.

Motivate Customers to Attend

Start by inviting customers to just one end-of-sprint review or demo session and getting their input. Customers who have not experienced something like this before typically are impressed to see working software so early in a release lifecycle. If they like the first validation session, then invite them to the next end-of-sprint review and excite them by highlighting where you’ve incorporated their input. At this point, ask the customers if they want to participate periodically at a per-sprint cadence.

Capture Customer Feedback

Capturing customer feedback is important to ensuring we are "building the right thing".  I have seen feedback languish which defeats the point of gaining the feedback.  It is critical that the feedback gets incorporated into the next Sprint Review.  The feedback that you gain should be linked to the User Story and should also capture the customer by way of Customer Profile that gave the feedback.

Consider Various Types of Customer Feedback Loops

While there is significant benefit to the end-of-sprint review or demo, the customer is, in most cases, only viewing the working software at that point. Let us review the potential types of customer validation sessions and their attributes in more detail.

• Sprint Review/Demo—This is a type of feedback that demonstrates the working software completed during the sprint, shown to customers in order to both highlight progress and gain the all-important customer feedback.

• Hands-on Experience—This is a type of feedback where customers will exercise the software in a hands-on manner in a simulated or pilot working environment.  This could be in the form of alphas or betas.

• On-premise Installation Feedback—this is a type of validation where customers physically install the working software into their environment.

Once you have established the Agile Customer Feedback Vision, it is important to share it with the team so that everyone is aware of the vision and the importance of the validation activities.

To learn more about Personas, go to: http://cmforagile.blogspot.com/2013/12/personas-do-you-really-know-your-users.html.