プロジェクトに必要だと思うもの(補足)

プロジェクトに必要不可欠なもの。
それは、タスクをリストアップできるエンジニアも、効率的なアーキテクチャ設計が出来るエンジニアも、遂行に適したプロセスを運用できるマネージャも必要で、それを疑うべくもないのですがが、それよりなによりまず「リスク」を管理してそれに対応できるマネージャが必要です。


ご存知の通り、プロジェクトは開始前から完了予定後まで、非常に多くのリスクに絶えず晒されています。急な人員の増減、機能の追加、納期の短縮、検知できなかった不備、根が深い欠陥、要員同士の対立や不和、忘れ、漏れ、抜けなどなど、ぱっと思いつくだけでも非常に多くあります。
ここで自分がふと思うのは、エンジニアであれアーキテクトであれコンサルタントであれマネージャであれ、この業界の人間が相手にしているのは何だろう、という事です。自分たちがやっつけなければならないものは、何か。
実装技術でしょうか。可能な限り開発期間を削り取る方法論でしょうか。顧客の耐えない要求でしょうか。無茶なスケジュールでしょうか。ちんけな予算でしょうか。圧力をかけてくるマネージャでしょうか。どれもやっつけなければなりません。何故やっつけなければならないか。それはこれらが皆、リスクそのものだからだと考えています。


実装技術が分からなければ、そもそもシステムを作る事は出来ない。開発期間を短縮しないと、設計やテストなど重要な工程に十分な時間が割けず、品質を落としてしまうかも知れない。お客様の要求に常に応え続けていくと、システムに必要な一貫性のある方針がなくなり、品質や保守性を損なうかも知れない。などなど。。。


リスクと言うからには、解消しないと損害を生む可能性が高い訳です。
なので、タスクを洗い出す以上にまずリスクを洗い出す事が必要です。そして、そのリスクを解消する為のタスクを配置していく事が、健全なプロジェクト運用に繋がるし、ビジネスとして成功するというリザルトに繋がるんだと思います。


リスクを洗い出す事が出来たら当然それを解消するのですが、その解消はマネージャが出来る事ならマネージャが、専門家でなければ出来ないのであれば専門家、つまりコンサルタントやエンジニアが解消します。場合によっては、営業じゃなきゃ解消できないリスクもあるでしょう。そして、色々なリスクがキレイに無くなれば、失敗するという最大のリスクも無くなるので、そのプロジェクトは間違いなく成功と呼べますよね。システム開発プロジェクトとは、あらゆるリスクを解消できるようにあらゆる専門家を一まとめにしたチームなんだ、というイメージです。


プログラミングの技術やデータベース、お客様の業務に精通するといった専門技能は、このリスクを解消する為のものです。そして、ソフトウェアという専門性の高い製品を取り扱うこの業界では、専門技能をもってしか見抜けないリスクも当然あります。
今自分が思い描く、リスクを管理し解消する為に働けるマネージャとは、打ち上げられるリスクの全てを拾い上げ、適切に解消できる人をアサインし、解消を確認するまでを自己の責任として立ち向かってくれる人です。こんなマネージャに出会うか、または自分がそんなマネージャを目指すか分かりませんが、そんな人が同じ現場になったら、と考えるとそれだけでわくわくしてきます。