Companies that follow established systems and patterns in developing digital products often end up with something that people just don’t want to use. They invest in building software or applications that don’t deliver tangible business results because the team who built them didn’t have a good understanding of end-user needs or business requirements.
Creating meaningful digital experiences that sharpen your competitive advantage and secure revenue for your business requires a shift in thinking. As opposed to simply delivering an app in accordance with the specifications that came out of one person’s head (which is typical for the traditional software development model), product engineering takes a more holistic approach.
It’s about focusing on delivering digital products that will generate long-term business value, reshaping how companies do business. This is achieved by orienting towards user needs and emphasizing constant improvement throughout the entire product life-cycle.
Is the existing model really broken?
Oh, yes it is and in so many places. Software is broken and everybody blames someone else. Bad spec, broken legacy codebase, wrong programming language, bad framework, mediocre developers, awful project managers, designers disconnected from what is possible, users don’t know what they want, priorities change every hour, no QA, bad QA.
Software Engineering has been treated like any other type of engineering and naturally, as engineers, we wanted to separate responsibilities and have architects plan and organize the work. This leads to what we call a ticket based programming. Ticket appears on JIRA and someone takes care of it, then someone else validates it, and then it is released. The problem is that all of this is done on an arbitrary spec, with limited details and with validation looking at the same spec to validate it.
And that’s not all. In the end, what was initially imagined will not be what users actually want.
Ticket driven software development is actually a thing 😔
And this is where software engineering companies fail big time. They become ticket lead development companies and engineers become the machines that take tickets as input and produce some technology-infused outcome at the end.
In comes product engineering
Product engineering takes a different approach. At SpiceFactory, this is built into the culture and everybody is taught to focus on the end goal and understand end-users and their problems. Instead of throwing complex technology at imaginary problems, we focus on engineering the solution by taking a holistic approach and working with others (product managers, UX, designers, data scientists, marketing) to deliver a great product.
Instead of throwing technology at the problem, product engineers take time to engineer the solution.
Let’s take a look at key principles of product engineering that will help you understand the benefits
Don’t separate business and technology
When a company decides to build new software, it’s because they saw a business opportunity that they can achieve through that product. That’s why product engineering never loses sight of the close interconnection between business needs and requirements and the capabilities of the digital product being built.
A company that practices product engineering instead of traditional software development will have a pragmatic focus on business priorities and ROI when delivering the product.
Focus on the end goal
Product engineering doesn’t focus on a particular set of skills across the stack. By focusing on the end goal instead of the means to the goal (i.e. particular technology) allows engineers to tap into their creative potential and approach product engineering from different angles.
Know your users
User-centricity is one of the defining characteristics of product engineering. Most companies aspire to deliver products that focus on the user, but many of them fail because there’s no real dedication to put the user center stage in their project.
Digital product engineering changes that and helps organizations meet user needs and find points of differentiation in their marketplace. At SpiceFactory, we follow a clearly defined process that relies on product validation through in-depth user research and user testing at all stages of development.
Iterative development helps us balance user needs and the requirements of the business. Each iteration integrates feedback from real users and allows us to deliver the features and the experience that users value, consequently contributing towards the ability of the business to become more flexible and adapt to the changing market. Think holistically
Digital product engineering abandons the old approach to software development, where the work is done as soon as the product being built fulfills the specifications in an acceptable way. Product engineering is the evolution of software development - a holistic process that relies heavily on continuous ownership and improvement.
Make it a cross-functional effort
Product engineering cannot exist in isolation, it has to be a cross-functional effort where software engineers are working with other functions, including designers, product managers, marketing, and sales, to deliver a successful product.
From MVP to MLP
MVP is all about validated learning i.e. will people actually use and buy my product? It’s about getting early insight into your target customers’ interest in your product by developing only the features that are core to your value proposition.
However, a digital product isn’t really viable until it delivers empathetic interaction, triggering not just the rational reaction in users (‘this product helps me do x’) but also an emotional one (‘I feel good using this product). For this reason, MLP (minimum lovable product) is an important part of our product engineering practice at SpiceFactory. It helps the team focus on delivering what users care about, and then iterate towards their desired outcomes.
Product engineering is not only a level up from traditional software development it is a new approach, but it’s not for every company and every project. If your company is looking to build a new digital product as quickly as possible without considering the 6 principles we discussed above, then you’re better off outsourcing to a traditional software development house. You may end up with a decent product, but we all know that decent just doesn’t cut it in today’s market.
If you, however, want to build a differentiated product that will create tremendous value for the users and consequently for your business, then you should look for a trusted product engineering partner.
*comics referenced here are created by Geek & Poke