現場担当者の悩み
こんにちは、天野勝です。
わたしは永和システムマネジメントで、アジャイル開発の導入や、ソフトウェア開発現場の現場力向上といったセミナーや、コンサルティングを行っています。最近、お客様からソフトウェアの保守について相談を受けました。その一部をご紹介します。
■現場は忙しい
システムは、作ってしまえばそれでおしまいとはいかず、不具合の修正や新たな要求への対応など、保守を行いながら運用をします。よく使われるシステムほど、新たな要求が上がってくることが多いものです。そして、この保守のコストがかかり過ぎる、というのがお客様の悩みでした。
システム開発・運用に関わっている方ならご理解いただけると思いますが、なぜか現場は忙しいのです。そして、この現場も例外なく忙しく、ほとんどの方が夜遅くまで残業をしているのです。使われるようになってから数年が経過したシステムを保守しながら運用しており、1人で1つ、ないしは数個のシステムを担当しています。保守にかかるコストのほとんどが人件費であり、忙しいということはそれだけコストが発生していると考えてよいでしょう。その裏を返せば、人数を現状維持とした場合、忙しさが減って、残業も減ればそれだけコスト削減につながります。
■忙しい原因は設計にあり
なぜ、このように忙しくなってしまうかをいろいろとヒアリングさせていただきました。各種ドキュメントとプログラムが乖離しているというのも原因の1つなのですが、根本は違うところにありました。設計の稚拙さが元凶でした。
設計が悪いために書くべきドキュメントが増えていたり、プログラムの修正すべき個所が多くなっていました。開発中に要求がぶれてしまい、決まった要求から設計に落としていたそうですが、そのためなのでしょう、それぞれの設計思想がばらついていました。共有できそうな個所があっても、別々に作業を進めていたそうです。
■忙しさの対処のために
さて、このような現場には何が必要でしょうか。
まずは、適切な方法論を身に付けることでしょう。開発の規模が大きくなれば、プログラムだけ作ればよいということはありません。段階的に設計をしながら開発を行う必要があります。しかし、設計に関するスキルは、経験だけでは簡単には身に付きません。しかるべき教育を受けたほうが、より効率的に身に付きます。
何をどのように作るのかというプロセス全体像の把握をはじめ、要求の取りまとめ方、取りまとめた要求をアーキテクチャに落としていくための設計、アーキテクチャを成長させる技術、ドキュメントの効率的な管理など、開発の基本を理解してそれを実践することで、保守にかかわるコストが減っていくのです。
コメント
コメントありがとうございます。
設計にオブジェクト指向を使っているかは、忙しさに直接的には影響しません。
オブジェクト指向の技法を「うまく」使えば、忙しさは減りますし、オブジェクト指向に限らず、他の手法でも「うまく」使えば、忙しさは減ります。
より良い設計の手法があるにもかかわらず、それを知らずに忙しくなっている現場を見ると、もったいないなと感じます。
天野さん こんにちは。
私は、現在ITコンサルをやっておりますが、もとはプログラマーから出発しており、開発現場の方の忙しさ、よく分かります。
仰る通り、設計技術については、基本を学ぶことが重要だと思います。私も3ヵ月間、会社から設計技術のセミナーに行って来い!と言われ、そのスキルは今も使えています。