追加開発
2006年09月21日 13:41
今月は以前に作った、ある経費管理システムの追加開発をしています。
えーっと、一人の孤独な戦いです。
追加開発とは、前に作ったシステムをシステムAとします。
2ヶ月くらいでシステムAを作り、お客さんに納品します。
で、実際にお客さんがシステムAを使ってみて
「こんな機能が欲しいなー」
とか
「ここをもっとこうして欲しいなー」
などといった新たな要求が、わんさかと出てくるのです。
皆さんの身近なものに例えると、携帯電話。
皆さんの使い始めた携帯電話の機能などで
「もっと、こーなって欲しいーなー」
とか、
「このボタンのデザインが、こうだったらなー」
とかいろいろ使ってみてから気付くことはたくさんありますよね。それと同じようなものです。
さて、そういったシステムAでは実装されていない機能を
「新たにシステムAに組み込んでシステムA+を作ろうぜ!」
というのが追加開発です。
実際、組み込むのはそれほど大規模なシステムでないため、労を要さないのですが
一番メンドクサイのが、どこまでを追加開発要件として取り込むかということです。
大規模ではないと書きましたが、追加開発の対象となっているシステムは
ある企業の経理部で使用するものなのですが、全国に支店が20支店ほどあり、その中で使われているシステムなのです。
本部統括型のシステムなので、中央のシステムを組む(変更する)だけでよいのです。
内容的には、経理部が営業部支援のために作るシステムなのですが、全国の営業部の声をヒアリングして、全ての要件をシステムAに組み込むのことは、できないことではないですが、少し現実的ではありません。
そこで、経理部と営業部の偉い人が話し合って、どんな機能を組み込んだらいいかなぁーと話し合うわけです。
んでもって、経理部から私たちにお話がやってくるのです。
もちろん、営業部・経理部の方はシステムに詳しくないため、企業内の情報システム部に間に入ってもらって現実的な機能なのかを相談します。
さて、その追加開発なのですが、一番のボトルネック、つまりその追加開発を行うにあたり、一番の遅れが出るところが、その要件をまとめるというところなのです。
とりわけ、外資系の企業なので決定などに関しては部長さんたちがグイグイ決めてくれるのですが、内資系に多いのは、決定するのに、ものすごい承認フローを辿らなければいけい場合があり、なかなか開発までいけないことがあるんです。
追加開発の背景はそんな感じで動いています。
で、実際に追加開発をするにあたり、一番怖いのが、システムAの機能・品質を維持しつつ追加するということです。
例えば、"機能a1"をシステムAに追加するとします。
「今までは、10秒で結果が表示されたのに、"機能a1"を追加したら10分もかかってしまったー」
とか、
「操作する画面が"機能a1"のところだけ違うから使いずらーい!」
とか、いろいろ出てくるものなのです。
ましては上記に挙げたことは、外側(インターフェイスや、ユーザーポータビリティなどと言います)のことであり、プログラムなどの内側(データフローやコード体系、数え上げたらキリがないっす・・・)にはもっと気を使うものなのです。
お客さんは、簡単に「機能追加」といいますが、私たちの間では「機能追加」が一番手間のかかることなんです。
実際、このシステムAは私ともう一人で作ったのですが、1ヶ月もかからず作りました。
が、追加開発となると、要件をまとめるところから、影響調査・開発などを含めて2ヶ月ちょっとの期間を設けています。
それだけ時間のかかるメンドクサイものなんです。
しかし相手の企業にとって、いい(効率の良い、投資対効果のある)システムを作っていくためには、このようなステップを踏んでいかなければなのです。企業内の社員のリテラシ(知識、教養、能力など)や、その企業の経営状況などによって変わってきますし、使っても効率の上がらない形ばかりのシステムを作ってもなんの訳にも立ちません。
よく、「その木だけを見ていたら森は見えない」とか聞きます。
目先のものに捉われてしまって、全体が見えなくなってしまうと、どんなにいいものを作っても何の意味がないということを肝に銘じながら追加開発をコツコツと全速力でやっています。


コメント
■この記事へのコメント
こういう仕事というのはまさに私が一番興味を持っている所です!しかし、興味がある反面納期に押しつぶされないかという不安が物凄くあるしだいです。そのため今独学ですが、勉強中です。
P.S. 前回の記事、私はツルツル派です♪
Posted by 電車男 | 2006年09月21日 19:15
---
> 電車男 さん
いつもコメントありがとうございます。
"納期"が気になっているようですね。
仕事をするにあたり、まず考えなければいけないのが「仕事で行うプログラミングは趣味ではならない」ということです。時間をかければそれなりに素晴らしいものはできますが、期限があって、その限られた時間の中でベストなソリューションを提供するのが我々の仕事です。それに、期限があったほうが引き締まりますし・・・
電車男さんのように、パソコン(もしくはシステム)が好き!という人がこの業界では、とっても強いように思えます。
揺ぎ無い情熱と探究心、そして納期を守れれば、どんな業界でもやっていけますよ♪
独学の勉強ほど、自分の為になることはありません。
頑張ってくださいね☆
Posted by JINN | 2006年09月22日 11:16
ありがとうございます。
このBlogはこのような内容のコメントをするのが正解なのかは分かりませんが、いつもJINNさんのコメントの返信を見るたび疑問が一つずつ解決していくような気がします♪
Posted by 電車男 (再) | 2006年09月22日 20:56