SE(システムエンジニア)というのは技術職で、いわば職人である。細部にまでこだわるところが技術者として必要な素養である。しかし、細部な技術にとらわれすぎて、仕事全体が前に進まなくなることが私もよくあった。SEとして、気になるのである。

例えば、信頼性の高いネットワークシステムの提案をするために、機器の冗長化および切替方式の検討をする。STPがいいのか、リンクアグリゲーションがいいのか。必要に応じて負荷分散装置を入れるべきなのか。また、細かく検討していくと、求められてもいないのに、BCPの観点から遠隔地へのディザスタリカバリまで検討してしまう。しかし、停止しないシステムを作り上げるのは不可能なのである。高い信頼性にこだわると、コストがどんどん高くなる。コストをどれだけ高めても、信頼性が100%のシステムを作ることができない。最後の0.01%の信頼性を高めるために悩んで提案ができず、いたずらに時間をかけてしまう。お客様と相談したところ、「システムは止まったらそのときは手作業で代替えするしかないよね」と言われた経験があり、自分が長い時間かけて検討していたことは一体なんだったんだろうと思った。

お客様が求めているものは主にQ(Quality:品質)、C(Cost:価格)、D(Delivery:納期)だ。どんなことが(どんな品質で)、いくらで、そしていつまでにできるかが大事だ。私のさきほどの例の場合、細部にこだわりすぎたため、価格面でも、提案の納期面でもお客様に満足いただけるものは提供できなかった。なおかつ、最もこだわった信頼性の品質の面でも、中途半端な提案しかできていない。結局、自分が考えていたことは、自分が気になるところだけを考えており、お客様が本当に求めていることを一切考えていなかったのである。
 
仕事を進めるときに、全体像を考え、何が求められているかを理解する。当然、要件や品質だけでなく、コストやスケジュールも大事だ。