1/ The longer you work on internal software platforms, the more you hear talk about how your platform should be more like AWS. More agnostic, more generalist abstractions. Here is my take on why AWS is NOT your ideal. Read on ..
2/ There are many ways in which your platform differs from AWS.

Firstly, AWS serves the median use-case whereas you are expected to serve the entire spectrum.
Secondly, you cater to captive audiences and you have no notion of revenue or metrics which serve as proxy for revenue.
3/ For captive audiences, solutions can not compete and better solutions cannot win. Like a command economy, platform products are designed rather than evolved. Design takes priority over market economy.

So why is design bad?
4/ For design to work, we need a software specification. Since we do not have metrics to guide our specifications, we rely on user-interviews to fill the gap.

This is an unreliable source since captive users do not know of the ideal state of abstractions that could be available.
5/ The only way to flip this situation is to let go of command-economy-style designed abstractions, and to let your platform self-organise along the principle of markets.

How does that look in practice?
6/ Firstly, partner to prototype with multiple teams facing related problems to develop multiple specific solutions. Once considerable iteration has gone into each solution, assimilate the best solution(s) while migrating the rest to the chosen solution.
7/ Secondly, look for overloaded use-cases are guides to unmet needs of the users.

Lastly, use user-interviews judiciously. They should not be the resort guiding every product decision.
8/ That's it! You have reached the end of this thread 👏🏽👏🏽You can read the extended version in this post: https://sujithjay.com/not-aws 
You can follow @suj1th.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: