保守開発
保守開発とは、すでにリリースされ利用されているシステムやアプリケーションの機能の不具合修正や機能追加を行い、より良いシステムへと改善する業務のことです。
具体的には、運用フェーズに入ったシステムを管理し、運用・作業の中で発覚した不具合の修正やセキュリティ対策の強化、処理性能の改善、利用者のニーズ変化への対応、顧客のニーズを基に必要な機能の追加開発など、稼働中のシステムの品質と価値を継続的に高める開発を指します。
保守開発の概要と役割
保守開発(Maintenance Development)は、システム開発ライフサイクルにおける最終フェーズである運用・保守フェーズの中核をなす活動です。システムのリリース後、システムが陳腐化することなく、ユーザーの要求や技術的・ビジネス的な環境変化に適応し続けられるようにするために不可欠です。
システム開発の初期段階で投入される労力(新規開発)に対し、システムのライフサイクル全体で見ると、保守開発に費やされる時間とコストは、その大半を占めることが一般的です。これは、システムが長期にわたって価値を提供し続けるためには、絶え間ない改善と修正が必要となるためです。
主な目的は、システムが導入時の目的を果たし続けられるように、安定性、信頼性、効率性、そして最新の要求への適合性を継続的に維持・向上させることです。
保守開発の主要な分類
保守開発は、その目的によって主に以下の4つのカテゴリに分類されます。
1. 是正保守(Corrective Maintenance)
- 目的: システムの稼働中に発見されたバグ(不具合)やエラーを修正し、システムを設計通りの状態に戻す活動です。
- 特徴: 障害発生時やユーザーからの報告に基づいて行われる、緊急性の高い対応が多く含まれます。
2. 適応保守(Adaptive Maintenance)
- 目的: システムの外部環境の変化に対応するために行う修正・改修活動です。
- 具体例:
- OS、ミドルウェア、データベースなどのバージョンアップへの対応。
- 法制度や税制、規制などの変更への対応。
- 外部連携するAPI仕様や通信プロトコルの変更への対応。
3. 完全化保守(Perfective Maintenance)
- 目的: システムの性能、保守性、信頼性、および使いやすさを向上させるための活動です。
- 特徴: 新しい機能の追加というよりも、既存の機能の質を高めることに焦点を当てます。
- 具体例:
- 処理速度が遅い部分のパフォーマンス改善(チューニング)。
- コードの可読性を高めるためのリファクタリング。
- ユーザーインターフェース(UI)やユーザーエクスペリエンス(UX)の改善。
4. 予防保守(Preventive Maintenance)
- 目的: 将来発生し得る潜在的な問題や障害を未然に防ぐために行う改修活動です。
- 具体例:
- 将来的にシステムのボトルネックとなる可能性のある設計上の欠陥を事前に修正する。
- 古い技術や非推奨のライブラリを使用している部分を、新しい技術へ置き換える(技術的負債の解消)。
- セキュリティ脆弱性への対応やパッチ適用。
保守開発の課題と管理の重要性
保守開発は、新規開発とは異なる特有の課題を抱えています。
1. 技術的負債の蓄積
- システムが稼働し続けるうちに、場当たり的な修正や古い技術の利用が積み重なり、「技術的負債」として蓄積されます。これにより、システムの複雑性が増し、将来の保守開発コストが増大します。
- 予防保守や完全化保守を通じて、この技術的負債を計画的に返済することが、システムの長寿命化に不可欠です。
2. 変更管理の複雑化
- 稼働中のシステムへの変更は、既存の機能に予期せぬ影響を与えるリスクを常に伴います。
- そのため、厳格な変更管理プロセス(改修内容のレビュー、詳細な影響分析、徹底的な回帰テストなど)の実行が、システムの安定性を保つ鍵となります。
3. ドキュメントの陳腐化
- 時間が経つにつれて、初期に作成された設計書やドキュメントが、頻繁な改修によって実際のシステムの状態と乖離していく(陳腐化する)ことがしばしば発生します。
- 保守開発においては、改修と同時に関連ドキュメントを最新の状態に保つ活動も重要な義務となります。
関連用語
APPSWINGBYの
ソリューション
APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。
Webシステム開発
既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。
iOS/Androidアプリ開発
既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。
リファクタリング
他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。
お問い合わせ・ご相談
「システム構築時から大分時間が経過しているのでセキュリティ対策の状況が不安がある」「脆弱性診断を受けたい」「サイバーセキュリティ対策に不安がある。」など、サイバーセキュリティ対策・情報漏えい対策についてのご質問・ご相談などございましたら、何でもお気軽にお問い合わせください。
