ユーザーである大手企業と直接取引し、仕事は10数名前後のチームで進めています。対象は、販売管理システムで、Java、PL/SQLを使用したWeb系の保守・運用および大小様々な追加拡張をしています。当チームでは、保守・運用および追加拡張に当たって、DevOps(*1)の実践を心掛けています。これにより、当社はプロアクティブ(*2)なアプリケーション保守・改善、システム運用・管理に日々取り組んでいます。
(*1)DevOps ※デブオプス開発(Development)と運用(Operation)を組み合わせて「DevOps」。開発と運用を密に連携させるための手法や概念などを総称したもの。例えば、ソフトウェアの新機能や改修などの開発からリリースまでの期間を大幅に短縮し、サイクルを早く回すことで、ソフトウェア品質を向上させる、あるいは、エンドユーザーに対するサービスを強化するといった効果が挙げられる。
(*2)プロアクティブ 【proactive】[形動]積極的に促すさま。また、事前に対策を講じるさま。システムというのはある程度、不具合や障害が起きることが前提とされてる。しかし、障害が起きてから対策するのではなく、障害を未然に防ぐべく、常日頃からうまく保守・運用管理していくことを指す。
例1)OSSの活用の一環として、Webベースでタスク管理、情報の集約管理ができるプロジェクト管理ソフトウェアRedmineを使用しています。当社スタッフの作業状況を、お客様を含めて関係者全員が常に参照できるように情報提供することで、タイムリーな作業の可視化を実現しています。課題/ボトルネック/作業遅延を早期に発見したり、情報を分析して今後の作業内容の割振りを検討したりと、お客様と一緒になって生産性を上げる努力をしております。
例2)テストの自動化も積極的に取り組んでいます。主要な画面やインターフェースからの入力値を元に正しい動作をしているか(データベースや画面表示、関連システムへの送信データの期待値と結果が一致するかどうか)をチェックします。また、複数のトランザクションを1連のシナリオとして実施することで、テスト負荷の低減にも寄与することができるのと同時に、属人的なミスがないかを客観性を持ってチェックすることができます。これにより、月に1回程度、お客様の要望や障害改善に伴う追加拡張を品質良くリリースできるように努力しております。
IPCの考えるDevOpsの例