I've been thinking for a while about how Amazon - specifically AWS - go about their product development (Thread!)
Spend any time with the AWS web console, and you soon discover the distinct lack of consistency in interaction design from product to product. Annoying as this may be, from an outside perspective, it seems entirely intentional.
By having product teams work more in isolation, and reducing to a minimum the need for different streams of product development to coordinate with each other, each product team can go faster.
This lack of coordination though can result in a disjointed user experience, as different teams can make different choices about how to solve the same problems. If you wanted more consistency on these aspects, you'd have to coordinate more to agree what those solutions should be
(for more excellent insight into how Amazon works internally, the infamous "Platform Rant" from Steve Yegge is a great place to start, even if it may be dated in terms of where Amazon is now: https://gist.github.com/chitchcock/1281611)
So, allow product teams more autonomy, reduce communication, means we can create and ship products fast. As one data point, two weeks before AWS re:Invent, AWS had made 1494 announcements about new product features or geographical rollouts, just in 2019.
These products that get shipped by these autonomous teams though often don't appear in any way joined up when they arrive - and that's because they aren't.
First datapoint: EKS (managed Kubernetes) and Fargate (per-second priced containers) were both announced on the same day at re:Invent 2017. When asked "so I can run per-second priced containers on EKS then?" the answer was "we're looking into that"
Another datapoint. SQS was the first AWS product launched, back in 2006. A simple queue, and a great example of a serverless cloud product. Lambda, a way to run a function in reaction to some sort of event, launched in 2014. Could they work together? Of course not!
It took until 2018 - four years after the launch of Lambda - for inserting an item into SQS to directly cause execution of a lambda function. That seems crazy from the outside.
(It should be noted of course that Lambda was a solution to a problem of AWS's making - namely that people needed to write code to glue together different AWS products that weren't integrated.)
So, at least from the outside, these autonomous product delivery teams result in disjointed UIs and unaligned product development. They also result in an incredibly successful company that dominates its sector.
It's all about tradeoffs - at least from what I can see, as an external observer, there is a conscious drive to ensure autonomous product development streams, as going fast and shipping product, no matter how disjointed, is the main goal. (Thread ends)
You can follow @samnewman.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.