Agile Customer Validation Vision

[article]
Summary:
When applying validation, should you limit yourself to the end-of-sprint review or demo—the practice most people associate with agile validation—or should you utilize other validation types where customers provide feedback? Where do the customers who attend validation sessions come from? In this article, you will learn about the importance of the ACVV and how to establish a vision to benefit the product and each project therein.

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 validation, 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 validation approach for the product, which I term the “Agile Customer Validation Vision” (ACVV), is missing from agile projects—and even missing within the bailiwick of agile practices. This vision is a strategy for identifying the right customers, establishing validation sessions throughout the project, and then motivating the customers to attend the validation sessions.

When applying validation, should you limit yourself to the end-of-sprint review or demo—the practice most people associate with agile validation—or should you utilize other validation types where customers provide feedback? Where do the customers who attend validation sessions come from?

In this article, you will learn about the importance of the ACVV and how to establish a vision to benefit the product and each project therein.

Getting Started
The product owner should drive the establishment of the vision. On an agile project, this will be someone who is customer facing and has the best insight into the customer base or the potential customers. However, it is important for the product owner to discuss the vision with the team during development, since the team is also an active participant in validation activities. If there are several product owners on a large project with several Scrum teams, then the product owners can work together to establish the vision.

Initiating this vision toward the beginning of projects—for instance, during a “sprint zero” or during the early part of the first sprint—leads to success. Establishing the vision early ensures you are getting the most from the validation efforts. Once you have established an ACVV for a product, you should review it at the beginning of each release to determine if it still meets the needs and update as needed.

In order to establish an effective vision, you will need the following key elements: customer profiles, mechanisms to motivate customers to participate, and an understanding of the various types of customer validation.

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. Customer profiles are not anything new to product management and marketing folks, but they are particularly significant in the agile space because of the importance of identifying customers who are representative of what the marketplace wants.

To begin, you should create a unique customer profile for each customer. As you prepare the profile, consider attributes that you would like to capture for each customer or potential customer. Some suggested attributes include:

  • Company size—provides input for potential sales
  • Company direction—helps you understand organizational focus
  • License bought—shows current product commitment and buying patterns
  • Current requests/issues—provides current needs and areas of interest
  • Level of engagement—shows how receptive they may be to participating in customer validation activities
  • Current product release—identifies usage commitments and whether they upgrade continuously or rarely

Think of each customer profile as a trading card or sports card. You will use these profiles to identify specific customers for validation activities.

Motivate Customers to Attend
Establishing customer profiles is fairly straightforward compared to motivating customers to participate in validation activities. 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. (They usually are more receptive to this approach than if you had asked them to attend a bunch of meetings up front). Also, find out what customer outreach and validation sessions the product owner already has in place—e.g., a customer advisory board or user groups

Some additional tips:

  • Educate customers on the agile approach (e.g., an agile overview with a focus on the importance of customer validation).
  • Explain that their participation will give them more direct input to the product under development.
  • Potentially establish a reward system for initial participation, like a $50 gift card. Note: It must be lower than the company’s gift policy but enough to motivate them.

Consider Various Types of Customer Validation
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.

End-of-Sprint Review/Demo—This is a type of validation 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.

  • Activity—viewing the working software
  • Primary benefit—to get immediate feedback of newly created or changed functionality to ensure the team is directionally correct.
  • Frequency—regular cadence per the sprint/iteration cycle. Sometimes, two or more end-of-sprint reviews may occur when there are fairly different sets of customers (e.g., customers representing different industries, competing customers, etc.).
  • Who participates—a group of customers selected via the prepared customer profiles. If a customer advisory board or user group exists, it may include these folks.
  • Variations—One-on-one demos specifically to one customer or one company. This will occur as needed if you are targeting a particularly valuable customer.

Hands-on Experience—This is a type of validation where customers will exercise the software in a hands-on manner in a simulated or pilot working environment.

  • Activity—hands-on exercise of working software. Requires an Internet-accessible installation of the working software for the customer to use. This is sometimes referred to as alpha testing.
  • Primary benefit—to get customers’ feedback from hands-on use of the working software, which aids in human interface and ease-of-use feedback. This is particularly useful for cloud-based applications where customers may easily access and exercise the software.
  • Frequency—typically initiated where there is enough working software for the customer to exercise. Because of the customer commitment, this usually occurs only once or twice within a release. It is beneficial to establish several use cases for the customer to walk through, although ad-hoc use is welcome.
  • Who participates—several fairly committed customers selected via prepared customer profiles.

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

  • Activity—validation of installation process running within the environment and hands-on exercise of working software. Requires an established installation and configuration process. This is sometimes referred to as acceptance testing, user acceptance testing, or beta testing.
  • Primary benefit—to get feedback to ensure that the software will install and run within a customer site. It also provides feedback on how a customer may use the software within other environments. In addition, it aids in human interface and ease-of-use feedback.
  • Frequency—typically initiated where there is enough working software for the customer to concisely install and exercise. Because of the customer commitment, this usually occurs only once within a release and typically toward the latter part of the release.
  •  Who participates—very committed customers selected via customer profiles.

Example of an Agile Customer Validation Vision
Below is an example of a simple, working ACVV. In this case, the product in development is on premise.

Identify key customers via the customer profiles and share the customer profiles with team. In addition, the following validation activities will occur:

End-of-Sprint Review: We will hold two separate validation sessions at the end of each sprint to gain customer feedback. The first session is for customers in the product field, and the second is for customers in the healthcare field.

Alpha: During sprints four and six, we will provide a hosted alpha environment to key customers with Internet access, focusing on usability. We will provide four use cases for the customers to walk through based on the functionality where we want the most feedback.

User Acceptance Testing: During sprint eight, we will provide a product installation kit so that customers may validate the installation and configuration process (ideally in a production environment) and then focus on usability.

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

Summary
Teams should make the most of validation activities on an agile project. Agile prizes validation activities because they ensure that we are building something the customer actually values. Ultimately, this can lead to more revenue for the company. Establishing an ACVV for your product allows for you to identify the right customers, establish the most effective combination of validation sessions throughout the project, and motivate customers to attend the validation sessions. With just a little bit of vision, this can be a powerful and effective way to get the most of from your validation effort.

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.