kagamihogeの日記

kagamihogeの日記です。

ウォーターフォールと裏プロセスに関するメモ

ひとりにはなりきれない空を見あげる のエントリに、俺は下記のような半ばヤケクソ気味に脊髄反射なブクマコメを残してきた。

【建前】『外部設計』の工程ではプログラムを書いちゃだめ【現実】どっかの小人さんがホントに作りこめるのか検証・先行実装してる裏工程がだいたい存在している。スケジュール表には出てきませんがw

はてなブックマーク - 極道的研修のあらまし「引数と戻り値が分かりません」 - 歩きつづける ゆり 咲きつづける

裏工程って単語を使ったのだけど、これは俺の言葉ではない。どっかで読んだ記事でそんなよーな言葉使ってたよな、と思い出してコメントに使用した。で、何処の記事だったか探し当てられたのでリンクを張っておく。

「ITエンジニアは職人気質を取り戻すべき」− @IT自分戦略研究所

この連載シリーズの第三回目。「現状のソフトウェア開発は間違っていないか?」(プロセス編) − @IT自分戦略研究所 に「●ウォーターフォール開発には裏プロセスが存在する」という段がある。非常に良くまとまっている内容なので、ちょっと長い引用になってしまうけど、開発プロセスに興味のある人・ウォーターフォールに疑問を感じている人は読んでみて欲しい。

ウォーターフォール開発には裏プロセスが存在する

オープン系の開発でウォーターフォール開発をし、それなりに成果を出しているように見えるプロジェクトには、いままで挙げたようなリスクをヘッジするための裏プロセスが存在する。

 その裏プロセスを表プロセス化すると、それはもはやウォーターフォール開発ではない。筆者の感覚でいうと、反復プロセスとも違う。一般的な裏プロセスを含むウォーターフォール開発は、並行開発プロセスのようなものに近い。

つまり、ユーザーにはウォーターフォール開発でやっていると見せて、裏では先に挙げた要求の検証とアーキテクチャの検証のためのプロトタイプ開発などを並行で走らせているわけである(図3)。なぜ裏プロセスかというと、あえてやり方が公表されていない、つまり、プロセスが「見える化」されていないからである。

 オープン系の開発でウォーターフォール開発を行い、それなりに成果を出しているように見えるプロジェクトのマネージャあるいはリーダーは、この裏プロセスを持っていると考えてよい(注2)。ただ、それをプロセスとして定義していなかったり、言葉にしていえなかったりする。従って、筆者は裏プロセスと呼ぶ。裏プロセスを持たないウォーターフォールによるシステム開発は、非常にリスクの高いプロジェクトといえる。

 ただ、裏プロセスを持つ開発がよいものかというと、「それなりに成果を出しているように見える」と書いたように、表面上はうまくいっているように見えても、実際は多大なコストを使って開発しており、それが明らかにされていない場合も多い。なぜなら、裏プロセスを表に出し「見える化」しない限り、プロセスの改善は進まないからである。

「現状のソフトウェア開発は間違っていないか?」(プロセス編) − @IT自分戦略研究所 より抜粋 強調は俺によるもの

この記事では、ウォーターフォール開発の場合、プロジェクトのマネージャあるいはリーダーが裏プロセスを持つことでそれなりの成果を出せるようになる、と書かれている。ただし、この裏プロセスは良く言えば柔軟だが悪く言えば場当たり的なやり方なので、根本的な解決にはならない点についても指摘している。

この連載記事は、ソフトウェア開発に関して興味深いことが他にもたくさん書かれているので一読の価値があると思います。