44常緑樹
| ジェシー・ホウウィング | ![]() |
ソフトウェアとハードウェアを組み合わせた大きなプロダクトを開発しているところを想像してみてほしい。プロダクトがうまく動けば人の命を救える。動かなければ殺してしまうこともある。医療機器の開発に携わる多くのチームが直面している現実だ。
そんな環境のチームで働いていたことがある。複数のチームと言うべきか。18チームが単一のコードベースで作業をしていた。いくつかのチームが入居しているビルに初めて入ったときは、「ハーフライフ」というコンピューターゲームに出てくる研究施設に来たみたいに感じた。人が走り回り、コンピューター、機械、古いバージョンのプロダクトが至るところに散乱していた。あるとき、チームが依存関係を見える化しようとしたら、あちこち絡み合っていた。
たくさんの人がいくつもの建物や国にまたがって同じプロダクトで作業をしている場合、ものごとを壊さないようにするには厳格な規律が必要だ。予期せぬ、不要な、新しい「フィーチャー」を間違って入れないようにしなければいけない。コードの一貫性を維持するための最低限として、継続的インテグレーション(CI)の仕組みを導入した。ただ、多くのコードが単体テストや結合テストでカバーされていても、コードと機能の100%がテストでカバーされていなければ、コードが予期しないことをしないとは言い切れない。
チームの部屋や廊下のキャビネットの上に古いデスクトップPCを設置して、ビルドが壊れているという危険な状態をすぐにチームに見えるようにした。問題が発生すると、チームがすぐにオーナーシップを発揮するようになった。199人の同僚の仕事を滞らせていることを理解したのだ。規律を保ち、問題を回避しないようにすることで、多くの問題はすばやく解決され、やがて良いコラボレーションのやり方を見つけ出せるようになった。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access
