Don’t build a platform, build one thing that works! - this post (Link) covers some very good advice on how to evolve towards platforms - or not. The key message here is to avoid enterprise thinking and premature optimisation of committing to platform delivery before there are real world use cases. I’ve added some key quotes below.
A good platform solves a problem really well for many different products.
Good platforms are derived from real-world use. Bad platforms anticipate how the world should work.
Here are a couple good indicators of when to avoid building a platform:
- When you have 1 product that can use it
- When you have 0 products that can use it
If you are building a platform that doesn’t hook into any currently live product, you are doing it backwards.
This is what the essence of agile development is all about. Pick a well-scoped problem, build it with boring, well-documented technology , and solve a problem for real users. Instead of diving head-first into a big abstract platform, it’s much easier to reason about a concrete use-case: building out a small end-to-end slice of a larger service and using that as a building block.