ソフトウェア保守
発見された問題を訂正するために行うソフトウェア製品の引渡し後の受身の修正。いわゆるバグ修正。
ソフトウェア保守プロセスは、JIS規格 JIS X 0160(ソフトウェア・ライフサイクル・プロセス)で規定されたプロセスで、JIS X 0161:2008(ソフトウェアライフサイクルプロセス-保守)で詳細が規定されている。
ソフトウェア保守工程は、構造化プログラミング運動が盛んになったころに開発されたウォーターフォール・モデルで明確な工程として考慮されている。オブジェクト指向が盛り上がったころに開発されたスパイラルモデルでは、ソフトウェア保守に関して明確化されていない。いずれにしてもソフトウェア保守は重要であり、ソフトウェアのライフサイクル全体でかかるコストのうち3分の2が保守に費やされるという事実がある。
ソフトウェア開発を行っている組織やチームは、バグや欠陥を管理する何らかの機構を持っている(バグ管理システム)。ソフトウェアは他の製品と同様、問題や欠陥を持った状態でリリースされるのが一般的である。問題を抱えたままのソフトウェアをリリースするのは、バグや欠陥の影響を考慮しても、そのソフトウェアがある程度の価値を生み出すレベルの品質であると、その開発組織が判断した結果である。
既知の問題点はリリースノートなどの形で文書化されるのが普通で、それによってユーザーは回避策を講じたり、そのソフトウェアに適した使用法を知ることができる。
ソフトウェアには未知の問題や欠陥もあり、ユーザーがそれらを発見することになる。そのような問題は開発組織に報告され、その組織のバグ管理システムに情報が入力される。
ソフトウェア保守の担当者らはそれらの問題を解決すべく働き、対処を施したソフトウェアを新たにリリースする。それは、パッチ(修正プログラム)やソフトウェアのマイナーチェンジとなることが多い。
是正保守実施までシステム運用を確保するための、計画外で行われる一時的な修正。