The team was excited. We had been working on a new website for one of our clients for the past nine months, checking in with the client every month or so, going back and forth with designs and decisions. We had a fresh new design, we’d included some new technologies that were making our lives easier (plus… you know, new toys!), we had commissioned some new photographs and had a new content editor working on the copy. Today was the big unveiling to the client.
There was an uncomfortable silence after we had completed our presentation.
“That’s… exactly what we asked for,” she said. “But it’s not what we need.”
Our hearts sank. We had built them the website they needed last year. But their requirements had changed and our nine-month feedback loop was too long.
The next project I worked on, I introduced an agile approach. I wanted to make sure we built the right thing.
Within our agile toolbox we have a number of tools that help keep us focused on building the right thing to deliver maximum product value.
At the Cegedim UK conference in January, Steve Bradley presented us with four new goals around product experience, customer experience, people and culture, and sustainable growth.
The goal of the first of these, product experience, is “to deliver, develop, market and deliver innovative products and solutions that are precisely matched to our customers’ needs and that enhance the UK healthcare systems and facilitate improvements in patient care and outcomes.”
In other words, focus on business need—connect execution to strategy, and vice versa.
Everything we do, every requirement that is prioritised, every line of code that we write must align with company goals and company strategy.
We have to understand our true business priorities and make these transparent. Write them up on the wall, refer to them constantly in planning meetings, in backlog refinement meetings, when deciding on one feature over another. Every member of the company should be able to sum up in a sentence or two what our goals are for this year.
Collaboration is essential for delivering the right product. That includes both collaboration between development team members and collaboration between the team and customers/end users.
If you don’t have regular engagement with customers, business representatives and end-users, can you really call your process agile? It certainly offers much less agility.
The most successful (and enjoyable) projects I have worked on have been those with close customer involvement, where our subject matter experts sat alongside us on a regular basis—sometimes for weeks on end, other times just an hour here or there every few days.
On-site customers (or regular contact with customers) shortens the feedback loop. You can run things past them, ask them questions, draw on their expertise. They can help you change direction when needed and save a lot of time and effort and money.
Communication between team members and stakeholders should be continuous and clear. Get them involved as often as you can to validate requirements, share business expertise, and sign-off acceptance testing. Getting that level of involvement and commitment is easier said than done but it’s always valuable.
This ties in with the second and third company goals to deliver an outstanding customer experience, and promote an open, empowered, collaborative and energise working culture that embraces change and nurtures innovation.
Agile methodologies recommend building incrementally from firm foundations. This means quickly delivering to the customer a minimal viable product, getting it out there in front of real users and having them evaluate its effectiveness in a real world environment. Then iterating on what has been learned.
This approach builds customer confidence. It shortens the feedback loop by quickly confirming (or not) that what has been delivered is fit for purpose. If it’s not then work can be prioritised earlier to correct this.
As the product evolves and customers’ priorities are fed into the product backlog, there is more certainty that what is being developed meets the customers requirements even as they evolve during the project.
Again, this supports the third goal about embracing change, empowering energised teams who are constantly delivering value.
So, the next project I worked on incorporated these three elements: focused on business need, collaboration, and building incrementally and iteratively.
It was one of the most enjoyable projects I’ve worked on. There was a buzz in the team as we gradually rolled out functionality that corresponded with what the business needed. A couple of times, we changed direction in response to changing priorities. And every two to three days, the business representative—the business visionary or product owner, if you like—dropped by to check in with us, answer questions, share insights, update us on any changes. It was empowering and exciting.
I wonder what we can do to better support these three elements: focus on business need, collaborate, and build incrementally and iteratively? I wonder what we can do to be clearer about our vision, how to make these more transparent and how we can collaboratively work towards these goals. I wonder how we can work together better to identify what processes we need to change or drop completely to remove the blockages that hold us back from delivering our software to users. I wonder how we can get more customer and end-user feedback quicker?
Originally posted on my work internal blog.