アジャイル(カウボーイコーディング)についてせっかく経験したことなので、もう少し深くブログにフィードバックをしていこうと思う。



僕は今回の現場に入った当初に聞いた話だとかなりアジャイルっぽい思想を持っていると感じました。

要件確認会をしたらその日に実装して、次の日には出来たものを見せてお客さんと調整をしつつ次の要件確認会を行なう。。。



このスパイラルはアジャイルの思想である「敏捷」を意識している進め方だと思いました。



しかし、聞くとやるでは随分違い実際は理想どおりには進みませんでした。

どうなったかと言うと、以下の通りです。



・要件確認会で聞く内容はとても一日で実装できるレベルを超えている要求だった。

・要件確認会が終わってから戻っても、仕様書を書かなければならない為製造に割く時間が割り当てられなかった。



この二点で十分すぎるほど初めの理想をつき進めれない状況に陥りました。

それにも関わらず要件定義だけは進んでいく為、製造がまったく間に合わない状況に陥ったのです。




ちなみに、プログラマー(SE)のスキルが低いかと言うとそういうわけではありません。

むしろ、レベルは高めの人が集まりました。


それでも、雑用が多すぎることと要件の量が多いため殆どスケジュール通りには進めれませんでした。



では、この状態で少し検証します。

僕がおかしいと思った点なのでアジャイルの思想と合うかはわかりませんが・・・


まず、目に付いたのは雑用の多さです。

迅速に製造を進めるためには雑用を減らして極力製造に専念させなければなりません。これが出来なければ、製造は出来ません。


それと同時にノイズが多いと僕は感じました。


XP等を学んだ方ならば分かるかもしれませんが、今回のプロジェクトは要件確認会への参加は全員必須です。

そのため関係の無い情報もバンバン飛び交いますし、自分の関係ない要件確認会で突然自分に関係ある情報も飛び出してきます。

さらに、情報を共有すると言う名目でインフラに関わることや個人宛の情報だろうとお構いなく全員に連絡が行きます。

とにかく、情報共有という言葉が情報垂れ流しになっていたのです。


ここで、リーダー(連結ピン)のような人がノイズを取り除けば良かったのですがリーダーにはそのスキルもアジャイルの経験も無くこれを行なうことが出来ませんでした。


この状態で既に混乱しているさなか、スケジュールは不動でした。


僕の中のアジャイルかもしれませんが、本来アジャイルの思想は一つのイテレーションをこなして状況を判断し次のイテレーションに繋げるものだと思っています。

だから、初めから全てのスケジュールを決めてしまうのはアジャイルの思想とは少しずれてしまっている気がするのです。


僕らはこのスケジュール(現場ではWBSと呼んでいたが、WBSとは程遠いただの線表でした。)を守る為に無理を強いられました。


だんだんと周りを見る余裕も無くなり、動作確認テストがおろそかになり要件と情報だけが溜まっていき、、、結局各々が各自で判断してとにかくロジックを組むことになって行ったのです。


こうしてカウボーイコーディングは完成したのです。