運用って大変ですね

一般的なソフトウェアエンジニア気質はそのほとんどが、運用と開発では開発を好むと思われます。開発って、ある意味においては、非常にクリエイティブであるし、自分自身のアイディアが実現してユーザに喜んでもらうという醍醐味を味わえます。それにくらべて運用は、正常に稼働できて当たり前、ひとたび障害が発生すると各方面からの避難を浴びます。障害通知メールで深夜の呼び出しは当たり前という生活を送らなければなりません。しかし、そこから得る開発向けの知識は計り知れないものがあります。開発と運用は職務上は分掌されなければいけませんが、ジョブローテーション的には、数年運用を経験後、数年開発とかのローテーションが望ましいように思います。しかし、世の中、大規模でない開発をサックと(クイックハック的に)、開発をこなしてゆく人たちもいます。これはビジネスの分野によっては成り立つ仕組みです。多少の品質の悪さよりも、早く実現したいとかの要望がある分野も存在するのです。あるていの規模の会社では、そのような開発モデルは許されません。しかし、作り上げたシステムが、何に足してコストがかかり、また、どのような利益を生むのかをよく分析すると、結果は様々であるように思います。大規模開発で品質を安定させて、出来上がったシステムはなるべく変更もなく安定稼働を最善とするビジネスもあれば、多少の品質の悪さには目をつぶるけど(この書き方はちょっと誤解があるかもしれません、少なくとの最低限のバリデーションがないとか、ゼロ割で例外を吐き出すようなシステムは論外)、とにかく最低ラインでも結果をすぐに欲しいというビジネスもあります。