無料ブログはココログ

« IMPACT MAPPING - 戦略を共有する言葉 - | トップページ | [#TiDD] ソフトウェア開発と時間 - 時の記念日特集寄稿コラム - »

実装優先時の考慮点 その5 - ドキュメントを優先すべき時 -

実装を優先してプロジェクトを進める場合でも、先にドキュメントを作った方が良い時があります。

  • 変更が多いとき

実装を優先するのは、より早くフィードバックを得るためです。アーキテクチャの検討が必要な時などは、ドキュメントの方が大胆に変更できるでしょう。

  • ドキュメントの方が軽量なとき

変更量は小さくても方向性が決まらない間は、ユーザインタフェースなどでもドキュメントの方が簡単な場合があります。きちんとしたドキュメントではあまり軽量化できないので、レイアウトをツールやホワイトボードで描くなどします。

  • コミュニケーションが容易なとき

ユーザインタフェースを伴わない場合は、コードよりも図の方が理解が容易な場合があります。理解してもらわないとフィードバックが得られないので、必要なドキュメンテーションをします。

軽量なドキュメンテーションは、実装優先でなくても活躍します。ホワイトボードにシーケンス図を書いてそのコピーを元に開発を進めた事もありますし、多くの業務アプリでも手書きのラフなモデリングは利用されています。

アジャイル1次ブームの不思議な話

2000年に始まったアジャイル1次ブームでは、ドキュメントは書かないという不思議な話を聞く事がありました。しかし、XPにはトラッカーという記録の担当者があるほか、必要なドキュメントは作成されます。

当時はCMMの守破離の第1段階であるレベル3を達成しようと、多くの企業が標準化に躍起になっている時代でした。以前からライト・オンリー・ドキュメントと言われるほどムダの多いドキュメントが、スリム化されないままにより厳格に標準化されたので、反発もあったのでしょう。

もちろん、分かりやすいコードは大切ですし、しっかりした基盤上の小規模な開発や、スタイルの確立した優秀なプログラマであれば、ドキュメントなしに開発する事も可能かもしれません。しかし、上に挙げたようにドキュメントの方が有利な場面もあります。

プロジェクトはバランス

プロジェクトで大切なのは、ムダなくゴールに向かう事です。業務や組織で異なる様々な制約を考慮して、合理的な判断をする事です。

たとえば、開発が一旦終了して継続的に開発(保守)が行われない事がわかっている場合には、早めにドキュメントを用意するでしょう。これは顧客のためだけではなく、開発者が未来の自分のために書くものです。いつでもだれでも対応できるように、理解に必要なポイントをまとめておきます。

チケット駆動開発の導入も同じです。情報共有や過去の履歴の活用など多くのメリットがありますが、合理的な理由がなければプロジェクトに導入してはいけません。

ソフトウェア開発はプロジェクトのゴールに向けて、ムダの少ないバランスを追求するものです。プロジェクトにまつわる様々な制約を踏まえて、より合理的な方法を実践します。

どのようなタイミングで、どのようなドキュメントを作成するか、それも大切なバランスの一つだと思います。

« IMPACT MAPPING - 戦略を共有する言葉 - | トップページ | [#TiDD] ソフトウェア開発と時間 - 時の記念日特集寄稿コラム - »

私のアジャイル」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« IMPACT MAPPING - 戦略を共有する言葉 - | トップページ | [#TiDD] ソフトウェア開発と時間 - 時の記念日特集寄稿コラム - »