Create a platform
One of the most frequently skipped or skimped areas of product development is the creation of a product platform. Understandably pouring effort into a platform is not easily prioritized, this is not what you want, it's what you need to get what you want. Typically technical architects can easily see the value of creating a solid platform, as a product owner you'll find your engineers to be your strongest supporters in finding a balance between an early focus on getting some learning prototype out there versus the value of having a solid enough platform to continue value development without wasting effort on rebuilding and maintaining poor foundations.
You really need to get your platform good enough before switching focus to impact and reach or you risk severely damaging you reputation as things are falling apart under increased use and ever higher demands to get a few extra features into the product. For many a product platform is connected to the underlying infrastructure used for the product, from a communication perspective it can with some persons be easier to refer to your investment as work on infrastructure although your platform work is a higher level artifact that you can build on different types of infrastructure.
Most of your stakeholders do not value a solid development platform, specially for digital products where the platform is intangible and difficult to describe. As the platform is there to cater to the needs of the team developing the product its workings and value is going to be obvious to the team and often hard to understand outside of the team. Even for common products such as train transportation it can be hard to explain how there is a huge platform needed in between the rails (the infrastructure) and the trip (your end product), and when it doesn't perform as expected things can go wrong in multiple ways. The lack of understanding and obvious value makes it very tempting to try to avoid building a platform in the first place or skimping effort to such degree that the result is not adequate, which will only result in rework or slower innovation at a later stage, often at huge cost or pain.
Trademarks of a good platform is that it is fairly generic and allows for your product to develop in different directions without constant rebuilding. Core value that it should deliver is the ability to change your product in various ways and experiment with the effects. One of the key aspects provided is safety and ease of use, a way to tinker with things without thinking on all the important things such as ensuring that the product is actually up and running being available to your customers. There are various third party services that can help, super generic PaaS (Platform as a service) might be a good flexible starting point, choosing higher level platforms can greatly reduce your effort if your product is a good fit, for example a database, Excel or Google docs and similar tools that offer development and customization options.
Even though a platform is a significant investment early on, often introducing lead times to your end result it is not an initial one time investment. A platform requires significant investment over time to avoid technical dept and to ensure that it continues to be relevant and providing the needed services as the product develops quickly in potentially unforeseen directions. Continuous effort in the range of 10-25% of total team effort to maintain and develop the platform is not rare.
With obvious examples of what happens when you don't get them right.
Insightful. This is a good article for product management enthusiasts.
ReplyDelete