omadog-blog

自分が体験したこと、自分の頭で考えたことを書きます

ウォーターフォール・モデルってのは川上から人が流されてきて最後は全員で滝壺に落ちるって意味だよ。

 

この時期になると研修を終えた新人と話をする機会も増えてくる。

ひとまず五月病を乗り越えたね。おめでとう。 

そして研修で習ったウォーターフォールやV字型モデルなどの用語を早く声に

出して言いたそうにしている。きっと格好いいパワポのスライドを見ながら

理路整然とした説明を聞いて「なんて俺たちの仕事はスマートなんだろう!」と

信じちゃったんだろうね。特に文系卒エンジニアは信じやすい。

 

まぁ現実に即して簡潔に言えば、ウォーターフォール・モデルっていうのは

川上からどんどん人が流されてきて滝壺に皆で突っ込んで死ぬというプロセスだ。

 

ウォーターフォールっての伝統的なソフトウェア工学のモデルで前の工程がきちんと

完了してから次の工程に移ってモノを作り終えようぜっていう分かりやすいモデル。

 

でも、すごい欠点がある。

それは「前工程で絶対に間違いはない」という仮定があること。

 

フツウこんなの現実に通用しないって直感で分かるけど、エンジニアってのは

変な所で純粋な人種なのでこれを実現しない事は自分達の仕事に落ち度があると

思い込んでしまうところがある。研修を終えたばかりの新人は偉大な先輩方が

さぞかしスマートにこのセオリーに従って仕事していると思いこんでいるが、

まぁ実態は全然違う。むしろIT土方と言ったほうがしっくり来る。

 

プロジェクトのゴールから逆算して完璧なスケジュールと見積もりを立てるなんて

人間にはできっこない。まして我らはIT土方ですから、そんな先のことなんか知らん。

目の前の地面を掘ったり石を積んだりするのは得意なんだと。土方だから。

いま現場監督をやってるリーダー達も土方上がりの肉体派。

スケジュールは人月で測ったドンブリ勘定。守れない無理な納期を要求されると

なぜか逆に職人魂に火がついて頑張っちゃう。

 

「人月の神話」にもあるが人月はコストを測るのに便利だが仕事の大きさを判断する

単位としてはまったく使えない。要件や工期を決めて顧客の承諾を得るまでは良いが

実際に手を動かすとなった時に初めてこんなに大変だったのか気づく。

そして計画をはるかに上回る要員が工程が進むにつれて投入されていくが、

単純に人を充てればそれで解消するような、そんな単調な作業ではない。

システムそのものへの理解がかならず必要になる。

つまり後になって投入すればするほどに1人当たり生産性は落ちていき、人月を

1単位増やすことによる生産の増加率は逓減していくわけだ。最初はほんの数人

から始まったプロジェクトがいつのまにか人がひしめき合う炎上プロジェクトへと

姿を変えてしまうのだ。

 

このプロセスこそ、まさに川上から人が流されて滝壺へと押し寄せて皆で一緒に

落ちていく地獄絵図そのものだと言えはしないだろうか。

 

こんな事を繰り返しているのが一見スマートなIT業界の実態だ。

座学の理論と実態は往々にして乖離している。

自分の経験と知識を合わせてしっかり咀嚼して、

いま起こっていることを自分の言葉で語れるようになろう。