How to apply product thinking in software development
Product thinking in software development is about verifying your digital product with the market as early as possible. And it’s about continuously growing the value returned for the business by better meeting the needs of the customer.
When it comes to product thinking, we don’t just focus on timelines and dates, but on delivering outcomes and solving real problems for the customer over the lifespan of the product.
At a time where customer and business needs are changing faster than ever, this approach has never been more valuable.
In this post I explore how applying product thinking in your software development can benefit your teams.
What is product thinking?
Product thinking is the first step towards digital product management.
It’s a mindset that values analysing the market to find how to best serve customers. It values researching customer needs, validating ideas, and making sure a product fits the market need – and continues to solve real problems for customers over time.
A digital product is something that is made at a cost, and often (but not always) sold at a price. It's designed, developed, tested, and launched to provide some benefit to a market. You’ll invest in it, manage it, and try to grow the product over its lifecycle.
Thinking about your app, website, or even just part of your website as a product is a way to ensure it continuously evolves to remain relevant to your customers and business goals until it reaches end of life and has to be reinvented or replaced.
Product thinking teams are always thinking about the problems to solve and the outcomes to achieve, rather than fixating on a defined project scope to achieve by a set date. They continuously work towards those outcomes and they experiment with different ways to achieve them.
This thinking pattern unlocks more opportunities and possibilities to focus on over a longer period of growth. It helps differentiate the customer experience and stay one step ahead of the competition.
Taking a product thinking approach to development
If you’re looking to build or enhance a website, app, or online service of some sort, like many other organisations, your default might be to take a project approach to the software development.
This would involve:
- Getting some funding and a budget on the basis of benefits projected in a business case
- Setting a timeframe
- Creating some form of scope or backlog
- Organising a temporary team to develop and launch the system or application
You’ll work through the build process until you reach a milestone or use up your budget. When the project is done, your attention may switch to a completely different project, the team may move on or handover to a maintenance and support team, and the focus for what you delivered may change to stability rather than growth.
This kind of project approach can be too focussed on the short term without a holistic view of how to innovate and drive value from a changing set of circumstances.
And when project schedules and budgets are fixed, the quality of the product can fall behind. Optimising and learning from what is developed and released can be deemed less important than getting that base product launched and ticking the ‘complete’ check box.
On the other hand you have the product thinking approach which involves thinking about how to evolve your digital product continuously over time so that it delivers ongoing return on investment and value to your customers.
Unlike a traditional or project approach to development, you do not have temporary teams working with a fixed schedule and budget, delivering the product, and then moving on to something else. Instead you have multi-disciplinary teams focused on improving a particular area of the product or solving a specific problem.
The product-based approach to software development favours continuous delivery, fast and frequent feedback, and experimentation.
It involves really getting to know your customer and their needs before you put effort and money into fulfilling needs you haven’t tested or verified with your customers.
And it focuses on verifying the meaningfulness of the product within the market – fast, in a safe environment – then drawing conclusions and modifying the product ongoing based on what you learn.
It brings together the disciplines of human-centred design and Agile delivery in a way that’s intended to continuously grow and adapt your product over a longer period, but with shorter cycles and more frequent releases.
So product thinking shifts the focus onto the value returned to the business by a product through focusing on how to better meet the needs of your customers – and on an ongoing basis.
The fixed timescales are replaced with short cycles of ideation, research, development, measurement, and learning to evaluate the return on investment and value to the customer.
The budget may vary over time but is generally sufficient to fund a dedicated team of people with interchangeable skills to work through these cycles, and to solve a particular problem the customer has with the product.
Illustrating a product vs. project approach to development (Gartner, May 2017)
The benefits of product thinking
At Inviqa we’re finding that many of our clients are interested in applying product thinking and taking a product-oriented approach to software development.
Our clients need different types of support at each stage of the product lifecycle and this can require the involvement of a multi-skilled team of specialists in strategy and ideation, technology engineering, and experience design.
The key benefits that we observe from taking a product-oriented approach are as follows:
- You’ll get a better understanding of how your product can meet the needs of your customer
- You’ll continuously grow your product and achieve a return on investment
- You’ll be able to pivot or change your product quickly
- Your product will have a better fit with changing customer and market needs
- You’ll be able to validate actual benefits and learn from what you deliver
- You’ll optimise the profit from your product