Last week I was lucky to read an article that made me think deep:
The fact to deliver code faster, safer, and with better quality is not new. It is a common goal in various methodologies like continuous integration, continuous delivery, agile development, DevOps, and test-driven development. As a product owner I am also very interested to ship and support developers to get their code out quickly and correctly to the people who use it, in safe, small, incremental steps.
Due to the fact Facebook is not a SMB business the way they ship and release code to their users is incredible and a very impressive.
What is so mindblown for me:
At the same time we’ve increased our release frequency, our mobile engineering teams have grown by a factor of 15, and our code delivery velocity has increased considerably. Despite this, our data from 2012 to 2016 shows that engineer productivity remained constant for both Android and iOS, whether measured by lines of code pushed or the number of pushes. Similarly, the number of critical issues arising from mobile releases is almost constant regardless of the number of deployments, indicating that our code quality does not suffer as we continue to scale.
Think about how many discussions you had in the past about scaling teams and how real big players do it. Have a look at the numbers and think about what scale really means. This way is something I’d like to go for.
The article links to a Facebook research paper which explain their way in detail with sources.
What are your experiences? Any further reads? Please share your thoughts.
Patrick