保守開発が難しい4つの理由 | システムエンジニアライフ

保守開発が難しい4つの理由

ヘッダー広告
スポンサードリンク
私は現在の職場で、アプリケーション保守開発を行っています。

保守開発は0から開発するのではなく、すでに動いているシステムに機能を追加したり、動作を変更したりするものになります。

私は保守開発を行っていて、色々つまずくことが多いので、保守開発は難しいことが多いなぁと思っています。

アプリケーション保守はなぜ難しいのか


アプリケーション構造理解


現在私が保守しているアプリケーションシステムは、2010年あたりに作成されたものになります。

私が現場に配属になったのは、2016年なので、最初どういう雰囲気で作成されたのか、どういう設計になっているのかは全く分からない状態でした。

また、私の会社のメンバーも、初期開発時にはいなかったとのことですので、周りの人もわからないことが多々あり、不明点を教えてもらうということもなかなか出来ない状態です。

そんな状況でアプリケーション構造を理解するのは大変難しく、特に独自のフレームワークを使用しているのですが、ブラックボックス化している部分も多く、ソースを読んでもなかなか理解が進みません。

そんな状況で理解するためには、色々な案件を経験しながら、フレームワークを少しずつ理解し、ソースコードを読んで内部を知り、既存の業務要件までをわかるようにすることが重要で、少しずつしか勉強していくしかないかなぁと思います。

求められる品質レベル


すでにシステムは動いている状態で、多くのユーザーもいるため、保守開発ではバグが許されません。

私はシステム開発ではバグは必ず起きるものと思っておりますが、どんなに些細なバグだったとしても、原因を追究して対策を講じたり、そのための資料作成から説明会を開催したりと、かなりめんどくさいことになります。

(保守だけに限った話ではないと思いますが、保守の方がより厳しいのかなと思っています)

しかもアプリケーション構造を理解していないことで発生するバグも多くあり、例えば画面を追加した際にはいくつものプロパティファイルを修正しなければいけなかったり、バッチとの連携部分がありそっちまで考えなくてはいけなかったりと、少しの修正で色々な箇所に影響が出てしまうため、影響箇所の特定が難しいです。

そのため、影響箇所の調査にはかなり気を使って開発をしなければいけないのです。

また求められている品質がかなり高いと思う部分があります。

システムが動作しない。

数字を入力する箇所に文字列を入れても動作してしまう。

などの明らかなバグであれば反省して対策しなきゃなぁと思いますが、エラーを表示するべきときに表示は出来るけど、エラーメッセージの改行位置がちょっと良くない位置にあるということや、説明文の日本語を変更した際に、その箇所と似た箇所の日本語も変更するべきだ(変わってなくても違和感が大きくあるわけではない)といったようなこれもバグ扱い!?と思うようなものも多くあり、求められているレベルがかなり高くて神経を使ってしまいます。

開発するスピード


もちろん開発速度もまぁまぁ重視されます。

バグであればすぐに直さなきゃいけないのはわかりますし、機能追加の場合もユーザーは他社よりも早くリースして優位になりたいと思っているので、保守開発でのスケジュールはタイトなものが多いと思います。

またコーディング自体は簡単でも、設計書の作成がめんどくさいものも多く(かつ誤字脱字などない完璧なものが求められる)、かつ一人がいくつもの案件を抱えるため、厳しいスケジュールになる要因かなぁと思っています。

入ったばかりの人なんかだと、現状のシステム理解に苦労してしまい、とてもスケジュール通りには行かなくなってしまっています。

(そこは本来マネージャーが、フォロー体制を整えなきゃいけないとは思いますが)

もちろんWeb系の企業の方と比較したら全然だとは思いますが、かなり高いレベルの品質を求められていることから考えると開発スピードもなかなか厳しく、つらいスケジュールだと感じることもあります。

業務改善活動


保守開発のフェーズは、ある意味定常業務になるわけですので、日々開発を行っていく中での問題点(効率が悪いと感じる部分や、バグの原因となりやすい部分)の改善活動が比較的多くあります。

例えば、テストデータを作成するツール(VBAなど)の開発や、設計書が実際のプログラムと異なる点の修正、現在使用していない機能の洗い出し、現状の開発方法の見直し(チェックリストを作成するなど)等を行っています。

私はこういった改善活動はするべきだと考えておりますし、これにより良くなる部分も多いと思っています。

しかし人によってはこういった改善活動が嫌いな(開発だけしたい)人もいるかと思います。

そういった人にとっては保守はつらいのかなと思います。

上記のような部分が、私が保守開発が難しいと感じる点になります。

もう今のシステム開発は、ほとんどが保守だといわれていて、今から新しく開発する案件はドンドン少なくなってきているといいます。

そんな中でいかに保守開発の現場に慣れて、他の人よりも現状のシステム理解が高くなることが、職場で活躍できるエンジニアだと思っています。

私もまだまだ理解が足りず未熟なので、早くキャッチアップして現在の現場で活躍できるようになりたいと思います。

以上、読んでいただきありがとうございました。
フッター広告

スポンサードリンク



シェアする

  • このエントリーをはてなブックマークに追加

フォローする