自分用メモ:保守と分類

なんでも保守

http://d.hatena.ne.jp/yomoyomo/20081215/hatena
メンテナンスをしている、という表現は、IT業界の慣習では許容可能である。しかし、それが問題ではない、というわけではない。

IT業界では、しばしば開発コストのうち保守コストがその多くを占める。しかし、それは、質的に異なる様々な作業をひっくるめて保守と呼んでいる事から生じる症状に過ぎない。

はてなが「メンテナンスをしています。」と言ったところで、それは「いつも通り仕事しています」と意味的に殆ど変わらないのだから、そのような情報は表示するだけ意味が無い。

私は「保守」という単語はどうやら、われわれがかつて発明したレッテルのうちでももっとも劣るものであるらしいと気づきはじめた。(中略)そんなに(保守の)額が大きいのは一つのレッテルのもとに、あまりにも多くのものをぶち込んでいるだけのことではないのか。

http://www.amazon.co.jp/dp/4320025377/

必要なのは、ひとからげに保守と呼ばれている様々な作業を、その性質によって分類し、新たなレッテルを与えて扱いやすくすることである。

保守の分類

  • E.B. Swansonによる保守の分類
    • 是正保守(Corrective maintenance):発見された問題を修正するための保守(いわゆるデバッグ)
    • 適応保守(Adaptive maintenance):変化した、あるいは変化している環境においてソフトが使用可能できるようにする保守。

(ユーザが増えても動くようにスケーラブルにしたり、外部ソフトウェアが吐き出すデータフォーマットの変更に追随したり……)

    • 完全化保守(Perfective maintenance):性能や保守性を高める保守(パフォーマンスチューニング、リファクタリング等)
  • IEC14764ではもひとつ追加
    • 予防保守(Preventive maintenance):問題が発生する前にソフトウェア製品の潜在的欠陥を検知し修正する保守(ソフトがAPIの定義外の振舞いに依存していないかをチェックしたり)
  • JIS X0161では、さらに追加
    • 緊急保守(emergency maintenance):問題が発見されてから是正保守までに一時的になされる保守。(セキュリティ上の問題が発生したときに重要。ソフトの特定の機能を使えなくしたり、問題のとりあえずの回避策を発表したり。)