Defining a clear product vision — what should you be working on?
In my previous post, I detailed my journey into software development, and my experience of delivering software projects with Lean development principles.
I’ve used these principles both during my time as Head of Development at PCA Predict, and over the last 18 months at home for my personal projects. I always begin by defining a clear product vision.
There are many different ways of starting a new project, and this is simply what has worked well for me. Ultimately, my main aim is to avoid becoming bogged down by terminology, process and bureaucracy, and to instead focus on clearly understanding the marketplace and what will work well for customers.
Defining the product vision
The product vision is a statement that provides clear direction to the whole business about the significant benefits that you’ll be delivering to customers. It should be high-level, short, simple, and achievable.
It’s important that the whole business can buy in to the product vision statement, from the team who will be delivering it, to sales, technical support, marketing and senior management.
Once the business has agreed that the chosen vision is worth focusing on, you can arrange your activities to ensure that you’re always working on the most important tasks and features (more on this in my next post).
Aim to be proactive rather than reactive
Getting the product vision right enables you to stay in control of the release schedule, maintain a positive working environment and most importantly to ensure that you deliver value to customers.
A poor choice of product vision can lead to teams spending months or even years developing functionality that no-one wants.
If there’s no product vision at all, it’s easy for teams to drift along, producing little of value. Top talent moves on, the competition catches up, and panic sets in.
The right product vision can help you to be proactive, prioritising the development of what will be useful for as many customers as possible. It also helps you to avoid becoming reactive, focusing on the competition too much or ignoring the bigger picture.
Collate feedback from key colleagues to determine the product vision
As the aim is to get everyone to buy in to the vision, it’s important to collate input from all relevant areas of the business at the beginning of the project.
Ask key colleagues in sales, marketing and support to summarise common customer feedback, complaints and feature requests. A face-to-face session gives you the opportunity to show that you understand the pain points, and crucially that you’re listening to what they and their teams have to say.
A company currently provides a portal that allows applicants to apply for open job roles. The company sells the portal to other businesses, who download and install it themselves on their own servers.
Face-to-face meetings with colleagues and key customers have gathered feedback about the current system, and there are reports that deals often fall through because the system doesn’t work well on mobile devices, and the installation of the system is error-prone and support intensive.
The team sets the vision for a new product:
“A mobile-friendly, cloud-based portal for businesses to manage candidates applying for new roles”
A vision statement like this is broad enough that everyone can understand what they’re trying to achieve, without mentioning specific features. A bounded problem, satisfying the growth plans of the business, whilst addressing the concerns of sales and technical support.
Trust the development team to deliver the vision
For complex technical products, it’s important to understand the business opportunity and combine what customers want, with what is technically possible. The vision must be achievable before the market moves on, with a realistic amount of available resources.
Working with a clearly defined vision, you can trust the development team to design and deliver the best possible solution. A hybrid lead developer / product owner role works well, giving the business a single point of contact within the team, whilst giving the team a sense of ownership over what they’re working on.
Build a cross-functional team capable of delivering the vision within a reasonable time frame
Once a clear product vision is in place, it’s time to identify key features and pieces of functionality, and ensure that the team is always working on the most valuable task.
The full product vision can be delivered incrementally with a cross-functional, self-contained team, with Kanban and continuous delivery to maintain momentum and minimise wasted time.
In my next post, I’ll explain how I break the product vision down into releases, avoiding arbitrary deadlines and instead focusing on high quality, Lean development. I’ll also touch on techniques for managing external expectations during the delivery of the product vision.