TGViewer
TechLead Bits TechLead Bits @techleadbits · 516 subscribers
Post #226 222
Software Platforms 10 lessons

As I promised I read the whole series of articles "Software Platforms 10 lessons" by Jan Bosch. While reading I had several "Aha!" moments .
You know that feeling when you understand there is a problem but you cannot clearly put it into words? The author brings those issues to the table and clears them up, one by one.

Let's check the lessons 🧑‍🎓:

1. Focus on speed, not efficiency. Delivery speed is more important then local efficiency. More details here.

2. Avoid platform\product dichotomy. Treat them as one configurable system instead of two competing layers. The author suggest to have a single codebase to speed up feature development and delivery.

3. Balance architecture and continuous testing. The number of configurations and connections between different parts of the system is so high that it's not possible (or too expensive) to test them all. The best approach here is to clean architecture with strong interfaces and decoupled functionality. It helps to simplify testing and move most of the tests on the component level.

4. Don't integrate new functionality too early.
The idea is provide new functionality as experimental outside the platform and include it to the main delivery only when there are active users.

5. Prefer customer-first over customer-unique. Reject functionality that will not needed by any other customers, it's too expensive in support and maintain.

6. Control variability. Each variation point has a constant ‘tax’ to keep it working. So you need regularly remove not used variations as part of technical debt management. Of course, it's no so easy if you don't know who and how uses your features. To solve that problem the author suggests to instrument the code to collect statistics on platform feature usage and make informed decisions on what to remove.

7. Optimize total cost of ownership. Reduce cost on keeping features up and running, that allows to have time for innovations. Otherwise the whole RnD efforts can be spend on supporting existing functionality only.

8. Instrument the platform for data driven decisions.
More or less the same as p.6 about variability. This lesson is fully focused on platform instrumentation importance.

9. Be careful to open up to 3rd parties. If you decide to open you platform to other vendors for extensions, you need to carefully manage requests priorities. Remember that 3rd parties are focused on building and promoting their own business first.

10. Keep one stakeholder at a time. Focus on building features to satisfy one group of stakeholder first, then got to the next.

From first look platform development looks easy. But in reality there are a lot of common pitfalls that prevent platforms to be really beneficial. I think these 10 lessons is a really good point to rethink your platform development processes to make them more efficient.

#platformengineering #engineering
  • 👍 3
  • 🔥 2
More from @techleadbits
  1. Oct 1, 2026Tracer Bullets Continuing the topic from the previous post, let's talk in more detail abou…
  2. Sep 28, 2026Why Software Factories Fail "Read the Code!" is one of the key ideas from Dex Horthy's tal…
  3. Sep 21, 2026Illustrations from The Culture Map showing how different cultures compare on the scales. #…
  4. Sep 21, 2026The Culture Map Have you ever worked in international distributed teams? Or collaborated w…
  5. Sep 10, 2026Loop Engineering from First Principles Continuing the topic of Loop Engineering, I'd like…
  6. Sep 7, 2026Loop Engineering Over the past year, AI has been constantly bringing new terms and practic…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →