Your app isn’t a project: It’s a product. No matter where it’s distributed or what platform it’s available on, your users seek out and pay for your product to help them carry out a specific task. When developing an app, you may, understandably, be tempted to focus solely on meeting your customer’s needs. But in the grand scope of the software development process, this approach can lead to feature creep and a prolonged period of development, taking the app out of the hands of the very users you set out to please.
Across the industry, developers are increasingly adopting a product-centric approach to software development. It’s an approach that still offers high customer satisfaction with the added benefits of speed to market and agility. Under a product-centric model, the product comes first. Any outstanding related concerns, such as documentation or possible future functionality, take a backseat to the development of a functional product. Ultimately, this approach quickly gets your app on the devices of as many users as possible.
According to the latest Gartner survey, 85% of the organization has adopted or plans to adopt a product-centric model.
Why is the product-centric delivery model gaining traction?
Fundamentally, software companies offer solutions that make their users’ lives easier at home, in the office and everywhere in between.
At the core of the relationship between the user and developer is the product itself — the application or service a user purchases or subscribes to in order to take advantage of its functionality. Without the product, there is no company.
In the past, it’s been tempting to divvy up the development work of a product and treat it like separate projects that add up to a whole. On the outset, this might make sense — dividing and conquering the workload to make sure an application is feature-complete and functional. But ultimately, this development structure has led to teams being separated, leaving developers to work within their own siloed-off environment. When teams are siloed off from one another, they end up lacking communication, transparency and a fundamental overview of the final product.
Worse, when operating from a project-centric development model, developers can become bogged down by focusing solely on their end goal of completing their project. This task-oriented approach can push developers to hurry their work along in order to reach the finish line rather than keeping their eye on the long-term goal. By going through a checklist of project tasks and attempting to finish them one by one, developers don’t treat software as a living product that requires care — it’s simply a laundry list of work that someone needs to finish.
Why are companies shifting to the product-centric delivery model?
The move toward product-centric delivery is thanks, in part, to the creation of the Agile software development method.
As laid out in the Manifesto for Agile Software Development, Agile development teams focus on four key values:
These principles abandon typical project management approaches in favor of building software that works and fostering communication.
Companies that adopt the product-centric development model also gain the benefits of speed to market and agility. As laid out in Agile’s values, functioning software and responding to change take precedence over documenting and following rigid processes. For a company developing a new app, this change in mindset can greatly improve the ability to build a working MVP or pivot to new market trends.
Rather than waiting for an app to become feature-complete, developers can focus on building apps quickly that offer core functionality and slowly roll out features down the line.
If user behaviour suggests certain functions are more popular than others, resources can be redirected to focus on the way customers prefer to interact with the app. And if users request new product features or functions, they won’t have to leave for a new point-zero release for them to be built — developers can adjust their strategy to respond to market demands.
When focusing on building complete products, developers can also rely less on outsourcing large portions of their projects. Instead, third-party vendors essentially become software partners, constantly refining their contributions to a product rather than supplying a one-time solution. This, in turn, can lighten your own development team’s workload and enable them to stay focused on their particular area of expertise.
One key driver toward the product-centric delivery model is the industry’s embrace of software-as-a-service (SaaS).
With a SaaS product, customers typically pay a recurring subscription fee to grant them access to an application. It’s a great way for developers to earn a consistent stream of revenue, but one danger is that customers can cancel their subscription at any time. By paying a regular subscription every month, customers also believe they should be getting more out of their apps — otherwise, why would they continue to pay for them?
Mobile and web applications have also given users a different set of software expectations. Because modern apps can be updated automatically behind the scenes, without requiring user intervention to approve an update, new experiences can be pushed to users without the cumbersome process of downloading an update file or rebooting their device.
What are the challenges to a product-centric delivery model?
Adopting a product-centric delivery model requires an adjustment of your team’s approach to software development. With the product itself in focus, developers must get used to placing a functional product ahead of all other development needs. This means increased collaboration and communication, requiring different teams to work together in order to achieve a common goal. For teams that aren’t used to operating as one unit, this new approach can introduce friction and growing pains into an already busy development schedule.
Ultimately, the product-centric delivery model gives developers and their customers the best of both worlds: a stable product that’s constantly refined and improved upon over time. By emphasizing a quality application above all, developers can ensure the long-term success of their product, and customers can rest assured that their tools are being built with their best interests in mind.