連載
開発をもっと楽にするNAgileの基本思想

第1回 アジャイル開発ではドキュメントを書かないって本当?

――より良いコミュニケーションを実践するコツ――

福井コンピュータ株式会社 小島 富治雄(Microsoft MVP 2006 − Visual C#)
2006/02/22

はじめに

 本連載は、人気連載「NAgileで始める実践アジャイル開発」の姉妹版となる別枠の新しい連載である。「NAgileで始める実践アジャイル開発」の連載が基本的にプラクティスを実行する方法やツールにフォーカスしているのに対し、本連載ではアジャイル開発の基本思想を身に付けるためのコツを中心に書いていこうと思う。

 どちらの連載もNAgile開発を実践するうえで欠かせない知識となるので、基本版「NAgileで始める実践アジャイル開発」と姉妹版「開発をもっと楽にするNAgileの基本思想」の両連載(NAgileシリーズ)を併せてお読みいただければ幸いだ。

 本連載では、会話形式の物語として話が進む。今回の登場人物は、以下の3人だ。

登場人物:
師匠:ナジャイラ師(マスター)(♂)
NAgiler(ナジャイラー=.NETにおけるアジャイル開発の実践者)。なぞの多い人物。ちょっと偉そう。だが、実は弟子思い。
弟子:点網 滝(てんもう たき)(♀)
.NET開発者。ウォーターフォール型の開発を行っているが、アジャイル開発を明るく真摯な態度で学ぼうとしている。
師匠:井坂 十蔵(いさか じゅうぞう)(♂)
怪しげな関西弁(?)を操る怪しげなNAgiler。今回はコミュニケーションを題材に語ってくれるらしい。

 なおNAgileに関しては、「NAgileで始める実践アジャイル開発 第1回 .NET+アジャイルなら本当に幸せになれるのか?」を参照のこと。

※ご注意 ……本稿の物語やそこで交わされる会話はすべてフィクションであり、実在の人物、団体などとは一切関係ありません。登場人物の役柄はストーリー上の設定であり、筆者や読者を代表するものではありません。あくまでフィクションとしてお読みください。

■■プロローグ■■

NAgileで始める実践アジャイル開発 第2回 ソフトウェア開発をシンプルにする考え方のコツ」では、NAgileにおける5つの価値の中から「シンプルさ」にコミットすることで、開発を楽にするコツを話した。覚えているか?

   

はい。もちろんです!

   

忘れていたら、できればいますぐ読み直してほしい。リンクは上にある。これはお前にではなくて、外の人(?)にわざと聞こえるように独り言をいっているだけだから、気にするな。

   
……。「リンク」? 「外の人」? 何ですか、それ??
   

だから気にするなって。

 ……でだ。今回は、そこからさらに発展させて、シンプルさという価値から「コミュニケーション」という価値につなげてみたい。ついては、NAgiler(ナジャイラー:NAgileの実践者)、井坂 十蔵氏のところを訪ねてみるとよいぞ。彼はコミュニケーションの達人だ。

   
はい。行ってきまーす
   
 ………………
   
ごめんください。
   

玄関で誰か謝ってはるがな……。はいー。

 なんや。ナジャイラ・マスターとこの滝ちゃんか。よう来たな〜。まぁ、上がり〜。

十蔵さん、よろしくお願いします。相変わらずの関西弁ですね。関西はどちらのご出身なんでしたっけ?

いや。実はわい、エセ関西人や。何せ筆者(?)が関西に住んだ経験ゼロやからな。キャラクターの都合上、関西弁っぽくしゃべっとるけど、ほんまは関西弁よう分からへんねん。

? 「筆者」って誰ですか?

そんなん知らんがな。……まあこれは独り言やねんけど(?)、とにかく関西弁についてのツッコミは勘弁願いたいわ。

   

一体、誰に話し掛けてるんですか?

■■NAgileにおけるコミュニケーションの極意“NCommunication”■■

さて。マスターから聞いとってやと思うけど、今日話したいのはコミュニケーションについてや。特に、開発者同士のコミュニケーションを例に話してみよう思てんねん。

 知ってのとおり、コミュニケーションはNAgileにおける重要な価値の1つやな。

NAgileで重視する5つの価値(毛筆版)

 今回も「NAgileで始める実践アジャイル開発 第2回 ソフトウェア開発をシンプルにする考え方のコツ」と同じように、N*(エヌ・アスタ)になぞって、これを「NCommunication」(エヌ・コミュニケーション)と呼ぶことにしよか。まあ、NCommunicationいうてもNTT Communicationsの略とちゃうけどな!

   

……。

   

……ここ笑うとこやで。

   

(うっ、おやじギャグ。でも、ここは軽く受け流して……)

 なるほど。間違える人がいるかもしれませんね!

   

そんなやつおらんやろ。

   
……。
   

ま、分かってると思うけど、ソフトウェア開発にとってコミュニケーションいうたら、そらもう、ごっつ大切なもんや。

顧客と開発者のコミュニケーション
 ・顧客の要望をどのように形にすればよいか。

管理者と開発者のコミュニケーション
 ・プロジェクトに必要な情報をどのように共有するか。

開発者と開発者のコミュニケーション
 ・アーキテクチャや設計をどのようにして伝えるか。

……などなどや。

   

はい。

 ちまたのソフトウェア開発プロジェクトの失敗の多くは、コミュニケーション・エラーが原因だなんていわれてるそうですね。

   

そう。そこやがな!

   

え? どこですか?

   

探すな、探すな。何きょろきょろしてんねん。話のポイントはそこや、いうてるんやないか。

 滝ちゃん、べたべたやな。ほんまに。

   

ひとくちにコミュニケーションいうけどな、人と人の会話ばっかりがコミュニケーションやないで。その名のとおり、情報を伝えること全般やな。例えば、ドキュメンテーションなんかもコミュニケーションの代表格や。

   

ドキュメントですか。なるほど。

 そういえば、「アジャイルではドキュメントを書かない」「ドキュメントが不要」って聞いたんですけど?

   

アジャイルではドキュメントを書かんて。そんなあほな……。

 よういうわ、そんなこと。え? 誰がいうてるんや? そんなこと。分かった。おんなし職場の田中はんか。いうとくけどな、あの人いちびり*1やで。あんまり当てにしたらあかんよ。

 え? みーんないうてるて? みんなって誰と誰やねん。どうせ田中はんだけやろが。ほんなら何か? 田中が死ねいうたら死ぬんか、じぶん?

*1 調子に乗って悪ふざけする人。
   

(汗)何もいってませんけど……。

   

アジャイルではドキュメントを書かへんて、何をあほなことを。めちゃめちゃ書くっちゅうねん、そんなもん。

   

でも、アジャイルではドキュメントよりソース・コードを重視するって聞きましたよ。

   

ああ。なるほど。そっちの話かいな。

 それはまあそうや。それはそうやけどもやなあ。

 そやけどな。ちゃうねんて。勘違いしてはるわ。田中はん。

   

いえ。田中さんは何もいってませんし、まったく関係ないんですけど……。

   

田中はんなー、ええ人やねんけどな。ちょっとちょけ*2なとこがあってな。

*2 調子に乗ってふざけたりする様子。いちびると同義。
   
(……こっちの話聞いてないし)
   

確かにな、ソース・コードは大事や。けどな、ソース・コードが大事でドキュメントが要らん、いうわけやないんや。

 アジャイルでは、ソース・コードも設計書であって、大事なドキュメントの一部や、いうてるだけなんや。

   

でも、ソース・コードじゃドキュメントの代わりにはならないのでは?

   

それはな、滝ちゃん。屁にもならんようなソース・コード書くから、そうなんねんて。質の悪い、分かりにくいもん書いたら、そのドキュメントはあまり有用やないっちゅうだけのこっちゃ。そんなん当たり前やろ。ソース・コードに限ったことやあらへんわ。

 ……そやな。ほしたら、今日は、

NAgileの価値の1つ、「コミュニケーション」にコミットしたソース・コードの話

をしたろやないか。

 
 

 INDEX
  開発をもっと楽にするNAgileの基本思想
  第1回 アジャイル開発ではドキュメントを書かないって本当?
  1.アジャイル開発ではドキュメントを書かないの?
    2.アカウンタビリティは大切
    3.ソース・コードのアカウンタビリティとは?
    4.ソース・コードにアカウンタビリティを持たせよう!
    5.モデリングのコツ
 
インデックス・ページヘ  「開発をもっと楽にするNAgileの基本思想」

@IT Special

- PR -

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • Visual Studio 2017が目指す世界とは? (2017/3/24)
     Visual Studio 2017はもはやWindowsアプリ開発者のためだけのものではない。どんなアプリを開発できるのかを見てみよう
  • foreachループで現在の繰り返し回数を使うには? (2017/3/23)
     LINQのSelect拡張メソッドを使用して、foreachループの中で現在が何回目の繰り返しなのか、そのインデックスを得る方法を紹介する(C# 7/VB 15対応)
  • Listの要素を並べ替えるには? (2017/3/22)
     LINQのOrderBy/ThenByなどの拡張メソッドとListクラスのSortメソッドを利用して、Listの要素を並べ替える方法を解説する
  • .NET Portability Analyzer (2017/3/21)
     .NET Portability Analyzerは、さまざまなプラットフォームをまたいだ.NETプログラムの移植性をチェックするためのツール
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Insider.NET 記事ランキング

本日 月間
ソリューションFLASH