コンテキストの積み上げ方
はじめに
普段XPで開発を行っています。
そこでチームがプロダクトの進化と共にコンテキストを積み上げていくことの重要性を強く感じています。
本記事では、どのようにしてコンテキストが積み上がるのか、またそのために必要な基盤やプラクティスについて考えてみた話です。
※私自身がこれまでの開発経験で学んだ、コンテキストを効果的に積み上げる方法について、実体験を基に整理してみた内容であることを補足します。
コンテキストの積み上げを育む基盤
チームメンバー間でのコンテキストの積み上げは、プロジェクトの成功に欠かせない要素だと捉えています。
チームメンバーのコンテキストの積み上げが日々進むことで、以下のような恩恵が得られると考えています。
- シンプルなコミュニケーション
- 高い生産性
- 自律的な意思決定
どのようにしてコンテキストを積み上げていくか話していく前に、コンテキストの積み上げに必要な原則について整理してみます。
原則
コンテキストの積み上げを育むためには「機会」についてフォーカスすることが重要だと考えています。
ここでは「機会」を以下に整理してみます。
- 課題を見つける機会
- 課題についてチームで議論する機会
これらの「機会」を増やすことで、コンテキストが積み上がる頻度が高まると考えています。
実践的なプラクティス
原則を踏まえた上で、以下の具体的なプラクティスを行うと機会を増やすことができると考えています。
ドライバーとしての参加
コンテキストを積み上げるためには、ドライバーをすることが非常に効果的です。
※ペアプロに限らず実装者になることが重要だと捉えています。
実際にコードを書き、実装に関わることで、より深い理解を得るための示唆が得られる頻度が増します。
示唆(モヤモヤも含む)を得たら積極的にチームで共有を行うことで、チーム全体のコンテキストが積み上がる機会が生まれます。
共有する際には単なる情報の伝達ではなく、なぜそう考えるのか、何を目指しているのかという意思を込めてコミュニケーションを行うとより効果的です。
これにより、チームメンバーは背景にある思考や判断基準を共有できるため、コンテキストの理解が深まります。
重要な点としては、モヤモヤでも良いということです。原則でも述べたように、機会を得たのであれば違和感や疑問点も積極的に共有することに大きな価値があります。
ストーリー分割による学習機会の創出
ストーリーの切り方も重要な要素です。
小さなストーリーに切ることは、チーム全体に「機会」を増やすことに繋がります。
ストーリーがユーザーに価値のある最小単位であることは忘れないように心がけるとなお良いです。
ユーザーに価値のある最小単位は、具体的に言うと1passが通るストーリーと言い換えることもできるかもしれません。ユーザー価値にフォーカスすることでより全体感を捉えながら進めることができ、コンテキストを積み上げる機会が増えます。
まとめ
まとめると、コンテキストの積み上げには以下の要素が重要だと考えています。
-
積み上げる原則
- 機会を増やすこと
- 課題を見つける機会
- 課題について議論する機会
- 機会を増やすこと
-
「?」を得る機会を増やすプラクティス
- ドライバーとしての参加
- ストーリー分割による学習機会の創出
おわりに
コンテキストの積み上げは、チームの成長とプロダクトの成功に不可欠な要素だと感じています。
本記事がプロダクトの成功に繋がる助けになれば幸いです。
Discussion