But if shipping so much software has taught me one thing, it’s to be an agnostic. Different methodologies optimize for different goals, and all of them have downsides.
web からモバイルファーストに移行する時に、fb のエンジニアも価値観の変更をするのが大変だった。web のリリースコストは 0 に近いのに比べ、モバイルは高いので、コードフリーズ、QA、ドキュメントでの spec 定義などが必要になってくる。move fast and break things はモバイルには適さなかった
Learning new programming languages and frameworks wasn’t what made it hard for Facebook engineers to pivot to mobile. It was hard because they had to undo all their assumptions about how to make software.
At the heart of that debate were different assumptions about tolerance for risk. Appetite for risk was baked into Facebook’s culture — after all, this company brought you the slogan “Move Fast and Break Things!” Longtime Facebook engineers viewed embracing risk as an essential cultural trait — and at the time, did not realize that mode of operating relied on assumptions about the universe that were true for the web but not for mobile.
It’s probably obvious to the world that VMware is substantially more risk averse than Facebook. Realize that it is not because Diane Greene and Mark Zuckerberg have different personalities, nor because one of them is right and one of them is wrong. They are different businesses with different technology stacks and they appropriately ship software in completely different ways based on how much risk their customers can absorb.
デプロイの戦略はプロセスではなくカルチャー
But how you ship is not just process, it’s culture and identity. Swapping out a process is easy. Changing culture is hard. And it’s even harder for a small company to embrace different cultures for different teams.
組織内に複数のデプロイ文化があるのは大変
If you find multiple “shipping cultures” in tension in your company, you’re dealing with one of the fundamentally hard execution challenges of building and shipping software. There are no easy answers when people stake out positions grounded on emotions rather than reason. On the plus side: your team’s emotions are engaged!
if you see something presented as an absolute or a binary choice then use that as a red flag to do some critical thinking. Ask what would need to be also true for this to be true and what would challenge the assertion. It’s fun when you start to do this.