What Do Our Customers Really Want?
After more than eight years, our agile team still struggled with learning our customers’ desires in a timely manner so that we could deliver exactly what they wanted every two weeks. A fellow tester and I pushed to hire someone with business analysis expertise but didn’t get any traction on that idea.
We decided to form a community of practice (CoP) devoted to learning good ways to have conversations with stakeholders in order to obtain business rules, prototypes, and other specifications that our customers desired.
Participants in our CoP included the testers on our team, our product owner, ScrumMaster, and manager. We met every couple of weeks or so and soon reaped benefits from our efforts.
We’d experienced frustration with “requirements churn” during sprints. Yes, we embraced change, but we couldn’t start coding a feature without any examples of desired behavior from our customers. Spending many hours going back and forth to various stakeholders who constantly changed their minds was frustrating and wasteful.
Over the weeks, our “Conversational Specifications CoP” (thanks to George Dinwiddie for helping us with that name—he actually proposed “Conversational Desirements” but that didn’t sit well with everyone) produced experiments and positive results. Before each “iteration pre-planning” meeting, our product owner started creating a new page for each user story, using a template we testers had created. This page included mockups of any GUI pages or reports.
With each iteration, we discovered more areas where we lacked information. For example, we realized that we needed to know requirements for each user role that might use a given feature. Who would use this feature? What should they be authorized to do with it?
We worked on finding better ways to elicit examples from business experts and to collaborate with them to implement good solutions. Having essential information about desired system behavior, the business value each feature should deliver, and the various user roles involved helped our team deliver what our customers wanted—on the first try.
I encourage you to bring everyone interested in customers’ specifications together in a CoP and try experiments to find ways to get appropriate information in time to successfully deliver features—without burdening teams with heavyweight analysis practices.