6.5 分割統治
6.6 フィードバックを短くする
6.7 ビルドを高速化する
6.8 フィードバックを早くする
内容
大前提として、私たちは常に間違うようにできている。
だから問題は発生するし、どのように問題を解決するかがポイント。
問題は小さいうちのほうが単純でわかりやすく解決しやすい。
だから複雑な問題を分解するスキルは重要。
複雑さは未知から生まれる。
未知に対するアプローチは2つ。
- 未知のことを既知になるように理解する
- カプセル化して、置いておく
複数のタスクをこなす場合、一度に取り掛かるタスクが多いと作業切り替え時の無駄が発生するので、カプセル化して置いておくと有効。
また、問題を常に小さく保つためには、常にビルドして統合しておくことが重要。
ビルドのフィードバックは開発中の失敗を検知するのに非常に有効。
間違いを検知すればそこから間違った原因を探すことができる。
なので、ビルドに時間をかけてはいけない。
3秒以内のビルドを目指そう。
できないならメモリを増やそう。
それでもできないなら設計を見直そう。
そして、フィードバックを得られたなら、フィードバックに対応しよう。
そのためのフィードバックだ。
学び
- 未知のことは理解できるようになることが、1stステップ。
- 複数の未知がある場合は、カプセル化できるところまで進めて、あとは置いておく。
- 全体統合ビルドは常に高速を目指す
学びを活かすアイディア・行動
- まだ思いつかない