« SE促成栽培シリーズ 帳票の意味と運用ルール | メイン | パーキンソンの法則とは?(スケジュール管理) »

生産性を高め、システム効果を最大にする

今回は、ちょっとカッコいいタイトルにしましたが、作業方法ではなくて、「判断基準」のお話です。

受託開発をしていて、一番、判断に悩む問題は、「どこまで丁寧に作るのか?」「どこはシンプルな作りで構わないのか?」ということだと思います。

理想像は、全ての機能において、「かゆいところに手が届く」ように作られていることなのでしょう。

こう考えている若手SEは、多いはずです。
これは現実問題としては、有り得ないことなのです。

しかしながら、実現する方法が全くないというわけではありません。

それは、どこの開発会社もやってきた、そして、現在もやっている方法ですが、元となるフレームワーク自体に徹底的に注力し、「良いもの」にして、使い回すという方法です。
部品として、再利用できるものを増やしておくのです。

この場合、「良いもの」とは、

・プログラムがシンプルである。
・操作性が良い。
・ミスが防げる。
・何かあったとき、直ぐに問題の箇所がわかる。

ということを指します。

フレームワークで実現できることだけであれば、何の問題もありません。
しかし、フレームワーク外として個別に作り込みを要求される機能は、必ず存在します。

そのとき、それを機能の重要さや、使用頻度に関係なく、一律に「丁寧に作るべきだ」と考えてしまうことは、生産性を低め、結果としてシステムの効果を下げてしまいます。

実際には、この判断基準をどう考えるか、というのが若手SEが成長する一つのステップなのかもしれません。

結局は、一定のコストと時間の中で、実現できることを絞り、選択しなければならないからです。

しかし、若手SEは、全ての機能に対して同じように「操作性が良いもの」「多機能なもの」を提供しようとします。

そのため、

「納品直前に理想のシステムが実現できないことがわかる」

「既に多くの工数費やしてしまって、後戻りできない状態でやっと気が付く」

といった状態に陥ります。

そこには、いろいろな理由があるでしょう。

「理想のプログラムは高機能で難易度が高く、ハイレベルの技術者が要求されるが結局、そこまで人員が手配できなかった」

「大抵において、プロジェクトには、予想外のトラブルや問題が起きるものなので、そちらに工数がかかってしまった」

など、など。

そして、志半ばで倒れてしまう。

であれば、各機能に対して、最初から徹底的に、優先順位付けしておけば、お客様にも迷惑がかからなかった。

ということがよくあるのです。

残念なことですが。

技術でも工数でも、必ずバッファを持つ、といったスケジュール管理も大事ですが、何に力を入れて、何をシンプルにするかといった、運用側のことを考えた「勘」がSEには要求されるのです。

わたしがいつも考えているのは、次の2点です。

1)その機能を入れ込むのに何時間かかるか?技術者の能力は合っているか?

2)その機能を入れることによって、節約できるお客様の時間はどれくらいか?

つまり、システム開発としてのROIを考えて判断するのです。

例えば、システムの初期稼動時にしか使わないような機能は、操作性や機能を重視する必要はありません。
それよりも、入力ミスをしてしまう可能性を無くすことに注力すべきです。

また、使用頻度の低い機能であれば、操作を忘れても、画面を見ればわかるように、メッセージを入れることに気を使います。

毎日、毎日、複数の人が頻繁に使う機能については、操作性を良くし、操作ミスに対してすぐにアラームが発生するように、そして、10秒でも、5秒でも節約して、作業ができることに注力します。

結局、そのシステムが稼働して、1年、2年というスパンで見た場合の「運用コスト」と「開発コスト」を比較して考えるのです。

つまり、システム開発は、トータルコストで考えるのです。

Vol.00137

トラックバック

このエントリーのトラックバックURL:
http://www.ilovex.co.jp/scripts/intra/mt/mt-tb.cgi/2433

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年03月18日 11:30に投稿されたエントリーのページです。

ひとつ前の投稿は「SE促成栽培シリーズ 帳票の意味と運用ルール」です。

次の投稿は「パーキンソンの法則とは?(スケジュール管理)」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.38