Feedback Loops, Momentum, and Excitement
When building products, there are two things that seem extremely important: scope and speed to feedback.
If you can ruthlessly prioritize, you can focus. If you can tighten your feedback loops, you can iterate faster. Both of these things will allow you to move very fast in the right direction. But more than that, James Somers talks about the perceived weight of work being reduced dramatically by working quickly in general: Speed Matters
In essence, if something takes a long time, you will avoid it. If it happens quickly, you will do more of it.
The same thing is true of the end-user's experience of the software itself. If they can focus and the software feels fast, they will use it more. The pleasure of using it makes you want to use it more. Craig Mod writes about this beautifully here: Fast Software, the Best Software
While reading up on feedback loops I ran across Andrew Certain's explanation of how communication and consensus can cripple the feedback loops that allow software to be developed faster. In order to increase speed at Amazon, Bezos basically said to ditch the idea of avoiding duplication of effort in order to execute faster (read the whole thread!):
Part of the reason for Amazon's incredible success across a staggering array of ventures is our focus on pushing autonomy down as far as possible. Jeff said from the start, "I don't want to make communication more efficient - I want there to be less communication!"
— Andrew Certain (@tacertain) August 26, 2019
The cost of communication, transparency, and consensus was so high that it wasn't worth the effort. It was actually better to get rid of cross-team communication and heavily segment the application in order to ship new products faster. Werner Vogels, Amazon's CTO goes into more detail here: Modern Applications at AWS.
This is an almost heretical idea on its face and goes against a core tenant of software development: Don't repeat yourself!
The ideas of 'fail fast' and 'move fast and break things' are now widely satirized. However, I think they're still deeply true. Moving fast is exciting, just look at any new burgeoning software framework. People love to get involved in projects that really feel fast. They're rewarding and there's the most opportunity to really stand out and feel like your contribution matters.
Anything that slows you down should be looked at with skepticism and there should be insanely high value associated with the trade-off.