sifue's blog

プログラマな二児の父の日常

システム開発プロジェクトの難しさ。

ここ最近、ブログの方をまったくかけていなかったのですが、久しぶりの更新です。
なんと研修が終わりに近づくタイミングで、自分たちが行ったヒアリングと分析の結果作ったプロジェクトが、なんと社内の部門長に承認されることとなりました。
そんなこんなで5名でプロジェクトを立て、システム作り、導入までやるということをこの2週間ぐらいやってました。(一応ウォーターフォールでやるのは、研修含めて2度目)
先週のはじまりまで、ずっとそのシステムの検証をやっていたりで、今月は本当に大忙しの週だったような気がします。今週になって無事軌道に乗り、あとはうまくハンドリングするだけというところです。
 
やはり、こういうシステム導入系のプロジェクトをやってみて、難しいと思ったのは、

  • 要件定義
  • 検証

このあたりでしょうか。
 
要件定義は、目的を定め、目標を決め、手段を打つという戦略ロジックの中で、目標をどこまで詳細に練り込むかということころが非常に時間がかかります。詳細を詰めようとしても、様々な立場の人からのヒアリング結果をうまくまとめるのは大変ですし、こちら側の偏見でターゲットをしぼるのには危険性があります。どういう手段を用いれば一番効果が大きいのか、それを調査するのに時間がかかってしまったりもします。限られた時間、リソースの中でどう攻め込むかは、相当センスのいる作業なのではないでしょうか。
昔、クラウゼヴィッツの戦争論では、不確実性を少なくするところがミソと書いてありましたが、限られた時間の中でそれをできるようになるのには、天才になる必要性がありそうです。
 
一方検証の方は、なにが難しいというかといえば、どの変で見切りをつけるかというところです。実装だけをガリガリやるなら簡単なものですが、品質を担保するのは本当に難しい。経験がないと、実装段階でも品質を担保すらできない。うちの会社は不具合なしを目指しているそうですが、実際は、10000行に1不具合が目標のようです。ちなみにIBMは1000行に1不具合を保証しているとのこと。こいつばっかりは、経験とノウハウを諸先輩方から突っ込んでもらうしかないところもあるなと感じました。難しい。
 
まだまだ勉強、頑張りたいところです。
ちなみに実装で、大ハマリしたのは、JAVAのJTableのRendererの継承部分、表内チェックボックスをちょっといじるのに意外と時間が…(苦笑)何にせよ、まだまだスキルアップしなくてはいけませんね。

 
追伸
先週、研究室の二つ下の後輩と会って話して、自分のいた研究室に史上空前のバブルが訪れていることをしりました。本当にすごいなぁ。良い研究が産まれればと思っています。あとなかなか挨拶に行くチャンスがないので、今度仕事休んででも挨拶に行かねば。