アジャイル炎上とは僕が勝手に作った言葉だが、本質的にはRails炎上と同じことになるだろう。
結局は表面的なものしか理解せずに「アジャイル開発は効率が良い」と言う事だけを聞いて開発を行って炎上してしまうところが特に似ている。本質的なものを何一つ解決していなければ炎上するのは当たり前の話である。
今回はこんな話を書いていこう。
この話を書く前にアジャイルで代表される開発プロセスであるXPの事を少し書こておく。
XPには4つ(5つ)(*1)の価値と10~12のプラクティスが存在する。それを徹底することによってアジャイルという開発プロセスを実践している。逆に言えば、どれか一つでも欠けてしまうとアジャイル開発プロセスの実践が出来ないという比較的敷居の高いものである。
なので、XPを実践する際にはチームに最低1~2人はXPの経験者が必要である。その経験者が指南することによってXPは実践できるのである。
何が言いたいかというと、アジャイル開発はそれだけ難しいものだということが言いたいのである。
さて、僕はこのアジャイルプロセスマネジメントを学びたくてアジャイルを実践しているという現場にもぐりこんだ。
しかし、そこで行われていた開発プロセスはアジャイルとは程遠いカウボーイコーディングだった。
アジャイルやXPを学んでいる方ならばカウボーイコーディングは知っていると思うが、念のため簡単に紹介しておく。
カウボーイコーディングとは各技術者が良いと思うコードを各自で行う事を指し、アジャイルを批判する際によく引き合いに出されるものである。カウボーイコーディングは俗人性に委ねた開発手法であって開発プロセスとは呼べない代物である。一言で言えば無秩序(無統制で雑な作業の塊)な状態を指すのだ。
僕はアジャイルプロセスマネジメントを学べると思って入っただけに、現場の状況をみて本当に落胆した。
その時に思い浮かべた言葉が
アジャイル炎上
だった。
XPには週40時間労働という週に40時間以上働かないプラクティスが存在する。詳しくは書かないが、これは理論に基づいて出来ているプラクティスであり非常に有意義なものである。
僕はこの週40時間労働とはアジャイルの真髄だと思っている。それだけに、プロジェクト開始からこれが守られていない今の現場は炎上という言葉に相応しいくらい破綻している。
僕から言わせて貰えば、現場で行っていることは開発プロセスとは程遠いものであって、設計工程をただ単に省いただけのウォーターフォール開発なのである。
なんというか、、、アジャイルを表面的にしか理解していない人たちが無理やりアジャイルを真似るとこうなるんだと感じる現場だった。
僕の私的感情から言えば、このような状況の開発プロセスを自慢げに説明している今の現場は理解に苦しむ。何かというと「○○開発だからやらなければいけない」という台詞が飛び交う時点で僕は「本質を理解せずに使っているから説明が出来ないのだろう」と思う。
少し補足をすると、○○開発だからというのはまったく理由になっていないのだ。(「ウォーターフォール開発だから詳細設計書を書かなければいけない」と言っているようなもので、結局まったく理由が無いのだ。)
もしこのような開発プロセスがアジャイル開発だというのならば、僕もアジャイルをカウボーイコーディングと馬鹿にするだろう。
結局、カウボーイコーディングをすると負の遺産だけが残る。僕が入る前のプロジェクトで残っていたDB設計とコードは負の遺産という呼び名に相応しい代物であり、今の僕の足かせになっている。
(XPではこのような状況にならないように「シンプルデザイン」と「リファクタリング」と「ペアプログラミング」の三つのプラクティスで補っている。)
最後に。
僕は思うんだ。なんでもそうだけど、表面的に物事を見て真似てしまうと大体失敗してしまうと思うんだ。ただ、このIT業界は開発自体が殆ど失敗しているため成功/失敗の区別を付けれる人があまり居ないから、失敗していることにすら気づかないんだと思うんだ。(成功/失敗の基準が難しく、長期的みれば失敗の場合が殆どである。)
だから、アジャイル開発とかを気軽にやって表面的な部分しか見ないでまねするようなことが起こるんだと思うんだ。
僕はこのようなことが知れたので、ある意味収穫だった。そして、アジャイル開発を行う時には本質を知るためにもXPを完全に真似て一度やってみようという気持ちが沸いて来た。
そして、、、僕はTownSoftをやる意義を再び見つけた気がしたのだ。
(この現場は大手なので、大手がアジャイル開発を成功させているならば僕はもう何もやることがないと落胆していたのだ。)
【参考文献】
- 初めてのアジャイル開発 ~スクラム、XP、UP、Evoで学ぶ反復型開発の進め方~/クレーグ・ラーマン
- ¥2,520
- Amazon.co.jp
- アジャイルプロジェクトマネジメント 最高のチームづくりと革新的な製品の法則/ジム・ハイスミス
- ¥2,520
- Amazon.co.jp
*1・・・4つの価値とは次のものである。シンプル・コミュニケーション・フィードバック・勇気・(尊敬)。5つめの価値は文献の時期によってあったり無かったりする。