大規模開発へのアジャイル開発方法論の応用とその実践(TISセミナー)

http://www.tis.co.jp/seminar/2003/030624.html
行ってきました。
セミナー行くの久しぶりでしたが、たまには外の空気を吸うのも良いもんです。
Relaxerの浅海さんが出るって言うんで行ってきましたよ。

はっきり言って私「アジャイルって何よ」という感じでこのセミナーに臨んでいたわけですが、
ざっくり言うと、「アジャイルとは行動様式である」ってことでよい?
4つのバリューってのがあってそれぞれ

    • プロセスとツールではなく個人と対話
    • 総括的な文書ではなく動くソフトウエア
    • 契約にも続いた交渉ではなく顧客との協調
    • 計画の遵守ではなく変化への対応

これが大事だよーって言ってるわけですよ。
目的は動くプログラムを作ることであってドキュメントやモデルじゃないですよ。と。
次の開発に生かしたいんだったら、プログラム作ったあとにリバースでモデル作ればいいじゃん。と。
作るモデルも必要最小限で良いよ。だって使わないもんつくったって意味ないし。
というスタンス。非常にわかりやすい。
モデルを作ることが目的じゃないですよ。と。
規模が小さければモデルすら必要じゃないんですよ。はっきり言って。
必要最小限の成果物を出しましょうね。と。
極力端折るのがアジャイル
で、アジャイルってXPとかとセットで語られることが多いんですけど、
XPって開発プロセスですよね。だから、べつにRUPでもいいんですよ。
アジャイル+XPでもアジャイル+RUPでも可。だってアジャイルってさらに上位概念だから。
排他的なものではない。
でもねー、必要最小限って言っても難しいと思うんですよ。
RUPにしてもXPにしてもUMLが前提になってるわけですけど、
アジャイルを導入した開発部隊のマネジャーの立場の人が、
これを理解できない人だとしましょう。
出てくるものは成果物としてのソースコードUML
UMLあんまり知らない世代にとっては不安でしょうね。
やっぱりWordで欲しがるでしょう^^;
現実的にはドキュメント漬け。いつ使うかわからないものがたーっぷり。
となると、理解ある上司が必要です。是非是非うちの部署の上司にも理解していただきたい。*1

  • で二つ目「TCCの紹介」

ソースコードUMLが完全に同期しています!TCCは!
という話。確かにすごい。使ったこと無いけど。
でも使ってる人曰く、スゲー便利らしい。
ライセンス買ってくれーー。
http://www.togethersoft.co.jp/products/controlcenter/index.jsp

実は正直このセッションには期待していなかったのですが非常に興味深かったです。
とくに開発方法論に対する課題に関して。
よく悩むのが、
「どうやってXPを実践しよう」とか
「どうやって標準をつくろう」とか。
私も実際そういうことで悩んだ記憶があります。
でも、目的は成果物であって、上記のことを達成することが目的ではない。
手段に目がいくことでかえって話をややこしくしているのでは?というお話でした。
たしかに往々にして「うちの部署としての開発方法論を確立しよう」
とかいう話になりがちです。
でも「開発方法論でなくて行動原理を確立しようよ」ということなんでしょうか。
RUPやXPは別になくてもよい、行動原理として「反復」であるとか「量の削減」
が組織として残れば良い。と。
そうはいっても、RUPやXPはあったらあったらで便利。
たとえばデザインパターンみたいに
AbstractFactoryって言って全員がわかっていれば話が早いわけです。
それと一緒。あったら便利。話は早い。でも必ずしも必要ではないというお話。
うむ。確かに。
で、TISでXPを導入してるんですが、XP導入に対する解として説得力のあるお話を聞けました。
要は簡単な話です。規模によってプロセスを選ぼうよ。と。
XP導入!とか言うとXPが絶対のものみたいに聞こえちゃうんですよね。
一人でできる開発にペアプログラミングでやってもしょうがないわけで。
適切なプロセスの選択が重要なんじゃないかと。これは浅海さんの話でもありましたが。
なるほど・・・と思いました。
あと、XPの各practiceの実際の効果とか。
XPって言われはじめて2年ぐらいたつんでしょうか。
その頃導入したところがやっと実際の結果を認識できてきたんだなー。と。
うちもそのころ導入してたらなー・・・。
細かい話は割愛。

  • で。

どうすればいいかってーと

    • 一定以上のプログラミングレベル
    • UML(実装レベルのクラス図、シーケンス図)を知っている

こういう奴らがあつまった組織で、
規模が数千万ぐらいの開発で、ルーチンでない開発なら
Agile+XPって効果的でない?
でもねー、規模感って開発経験少ないからなかなか難しいよねー。
そうなると理解あるマネージャーが!マネージャーーー!!

*1:つーかそもそもこのセミナーマネジャーレベルが聞くべきセミナーよね・・・。