システム開発では運用設計って考慮不足がち

 私は15年近くSE(システムエンジニア)をしています。大規模のシステム開発プロジェクトから小規模のシステム開発プロジェクトまで、様々な開発PJに携わりました。中国やベトナムなどオフショアのメンバーとも仕事を一緒にした経験もあります。

そのため、ウォータフォール開発に関しては、メリットもデメリットも理解しているつもりです。

 システムを開発し、お客様に納入するためまでには、色んな役割の人が携わります。たとえば、アプリケーションが動く基盤を作るインフラエンジニアやネットワークを構築するネットワークエンジニア、アプリケーションを作成するアプリケーションエンジニア、全体を管理するプロジェクトマネージャなど様々な人が関わり合ってシステムが出来上がっていきます。システムは構築してお客様に納入して終わりではありません。

 その後何年間もお客様はシステムを利用し続けます。むしろ納入してからの方が、長い期間システムを利用することになります。システムを長期間運用していると必ず障害が発生します。アプリケーションの不具合が起因で発生するシステム障害、ハードウェアの故障起因で発生するシステム障害など多岐に渡ります。障害の原因究明にも時間がかかるケースもあります。

 しかし、どのような障害が発生するのか等、サービスイン後を考えてシステム開発が進むことは稀ではないでしょうか。サービスイン後、どのようにシステムを運用していくのかあまり議論されず、サービスインを迎えるプロジェクトがほとんどだと思います。しかも、システム開発は納期があります。

 ほとんどの開発プロジェクトは予定より遅れます。そのためサービスインギリギリでなんとか開発を終え、納期を優先した結果、なんとかシステムは動いたが運用開始後トラブルが多発なんて経験ありませんでしょうか。

 今回、このブログを通じて運用開始後に運用者が困らないように、システム開発中に考えておくべき運用のことを記載したいと思います。一般的には、運用設計という言葉が当てはまると思う。

 運用設計で考慮するべき項目は決まったものはなく、現場、システムの規模や組織の規模によってさまざまである。それは、システム導入後の運用業務が現場、システムの規模、組織の規模で変わるからである。

 監視設計、ログ設計、バックアップ設計など検討するべき項目としてわかりやすい部分と、実際に運用を開始しないとわからない部分がある。今回私の経験を元に、できる限り共通的に考えなければならないことを記載していくこととします。

にほんブログ村 IT技術ブログ システムエンジニアへ
にほんブログ村