T

仕様書について振り返る

以前、仕様書についてこんなことを書いていたのだが、結局プロジェクトが終わってみて、当時とはまた別の考え方をするに至ったので書き残しておく。

あのとき、仕様書についてこんな三カ条を掲げていた:

(1)実装の詳細は書かない
(2)全ての機能と機能のフローを記載する
(3)レビューの目的と期日、目的を明確にして通知する

一見、何の問題もないように思われるが、今では少し修正した方がいい気がしている。

まず(1)だが、当時は機能仕様書に実装の詳細は書くべきではないと思っていた。まあ、今でもそれはそうなのだが、しかし大事なことを付け加えるとしたら、結局それは書くことになる。なぜなら、納品されたドキュメントをチェックするだけの担当者がいれば、ツッコミを入れるとすればまずそこだからだ。やつらはとにかく足りないと言い立てるのが仕事なのだ。

(2)については、フローなんか頑張って書いても結局誰もがもっと詳細な情報を出せと言い出すに決まっているので、クラス図だのリレーション図だのああだこうだと作る羽目になり、フロー図なんてドキュメントの表紙の次にちょこっと載ってるだけの誰も見ない片隅の飾りにしかならなくなる。

(3)については、どんなに説明しようと、後になって「このプログラムの仕様はここが悪い」「あそこの作りこみが甘い」などなど、言いたい放題の後だしじゃんけんをされるに決まっているので、「だってあの時はみんなこれでいこうってOK出したよな?」と思っても、まあいい人ならそうだよねと認めてくれるかもしれないが、そうでなければ仕様の欠陥を見つけては鬼の首でも取ったように自分の手柄にしてしまうやつらの餌食にされる。

最初の打ち合わせの時に、期日までにレビューを完了してリクエストを返さない限り、希望する機能が他にあったとしても、そしてそれが自分の業務に欠かすことの出来ないものであっても、絶対に組み込まれない旨を想定読者全員に通知する。もちろん、本当にそうするつもりだ。何か機能を組み込み忘れたせいで製品が売れなかったら、それはリクエストしなかった人の責任になる。

実際にこのように通達していても、一ヶ月もしない内に手のひらを返したように、自分ならもっとうまくやれたと騒ぎ立てる輩が必ず現れる。もちろん、全て自分も承認し、何もリクエストしなかったことなどきれいさっぱり忘れている。

うちの会社にはそんな意地悪な馬鹿野郎はいないよ、という方は、それでいい。自分の職場に誇りをもつべきだし、明日からは周囲の人たちにもっと親切にした方がいい。

というわけで、上記の三カ条を修正するなら、

(1)奴らにフォーマットを作らせろ

まず、フォーマットにケチをつける奴がいるので、そいつを封じ込めないと後で余計な作業が増える。雛形がないと作業できない、と本気で訴えるべきだ。もちろん、雛形を作る担当は、ケチをつけてくる奴を指名する。もし雛形を作ってもらえないなら、フォーマットについては絶対に意見を受け付けられないと明言するか、先にフォーマットだけ作ってこれで作成すると承認を取っておく。

(2)後だしジャンケンには絶対に喰らいつけ

物事は最初にゼロから作る方が絶対に大変なのであって、後からそれを元にああだこうだと意見するのは馬鹿でもできる。それなのに後だしジャンケンしてるやつらの方が優位に立つなんて状態を作らせてはいけない。「だったらあなたが自分でこの仕様を承認する前にそういえばよかったじゃないですか」と遠慮なく言うべきだ。プログラムが完成しテストが進む頃に「改善要望一覧」をちゃちゃっとまとめておくのも効果的だ。どうせみんな真剣に仕様を検討するのはプログラムが出来上がってきて実際に動くものを見てからなので、そのときにあがってくる意見を適当な一覧表にみんなまとめておけば、嫌な意見もみんな「改善要望に追加しておきます」で一発回答できるし、後からゆっくり優先順位を決めるミーティングでも開催してスケジュールも余裕をもって調整できる。それに、もっと大事なことに、もし現状の仕様でリリースできないという事態になれば、必ず裏から上司に手を回して、自分はこんな問題を見つけた、あいつが担当ではこのプロジェクトはうまくいかないとこそこそ報告しまくる奴が暗躍するので、そんなのは改善要望で吸収していくと明言して、問題点の報告を自分に向けて一本化することでそういうチャンネルを潰すことができる。上司だってそんな面倒くさい奴なんか相手したくはないはずだ。そこで、自分に向かってきた非難については、遠慮なくさっきのせりふ「だったらあなたが自分でこの仕様を承認する前にそういえばよかったじゃないですか」を面と向かって向かって言ってやろう。これは決して自分だけの責任ではないし、自分が一番大きな責任を負っているわけではないと自分を納得させることが大事だ。

というような、政治的に大人な対応が必要になるケースもあると学んだので追記しておく。

Posted by on 7月 22, 2008 in Work

コメントを残す