業務を改善する情報共有の仕掛け~DevOpsの実現、RPAの導入に向けて~

第1回DevOps実現への基盤作り(前編)

ソフトウェア開発の業務改善をテーマにスタートします本連載、トップバッターとなった筆者はJira SoftwareとPythonが好きなプリセールスです。2018 IBM Championをいただき、クラウドやブロックチェーンにも取り組んでいます。

さて、ひとくちに業務を改善するとは言っても、それぞれの現場に応じたやり方があるでしょう。しかしどんな現場であれ、情報の共有が改善の大前提です。まずは連載を始めるにあたり、DevOpsの基本的な事柄から認識を共有させてください。

DevOpsのおさらい

「DevOps」とは、Dev(Development:開発)と、Ops(Operations:運用/保守)をくっつけた造語です。DevはSIerなどの開発側を、Opsはエンドユーザ側のIT部門やSIerの運用/保守チームを指します。

DevOpsは、取り組みあるいは活動です。開発手法でも開発ツールでもなく、ハウツーでもありません。開発担当と運用/保守担当が密に情報共有し、共通の目的に向けて互いの理解を深め、リリースサイクルの短縮、システムの安定稼働、ひいてはビジネスへの貢献をするために継続的に取り組むことを言います。

2009年にO'Reilly主催のVelocityというイベントで発表された資料[1]から「DevOps」という言葉が生まれました。発表資料では、開発担当と運用/保守担当は共通の目的(エンドユーザに必要な機能を提供する。ビジネスに貢献する)に向けて手を取り合うべきと述べており、その実現のために必要な6つの重要なポイントと、組織の文化(カルチャー)を作り上げるための4つの心がまえを唱えています。はじめに6つの重要なポイントから見ていきましょう。

1.インフラストラクチャ構築の自動化
従来は手作業で行っていたインフラストラクチャの構築や変更作業をコードで定義(Infrastructure as Code)し、自動化することです。たとえば、Dockerfileを用いたコンテナ運用やTerraform、Ansibleなどのツールを使用します。
2.バージョン管理
よく使うのは、Git対応のバージョン管理システムです。以前から使われているSubversionもあります。開発者と運用者で、共通のバージョン管理システムを使用します。
3.ビルドやデプロイの自動化
繰り返し行う定型作業は、手順書などを使い手動で実行するのではなく、自動化します。運用者の負荷が減ることが期待できます。
4.フィーチャー(機能)フラグ運用
フィーチャートグルとも言います。開発した新しい機能にフラグを付けておき、一部のユーザにだけ試してほしいときに活用します。
5.指標(メトリクス)の共有と評価
プロジェクトにかかわるステークホルダにより、指標は異なります。インフラストラクチャ関係であればシステム系の指標が必要になり、開発したソフトウェアであればソフトウェアの品質や仕様について評価する指標が必要です。リリースする機能についてビジネスへの貢献度(どれほど売り上げに貢献するかなど)を評価する指標は重要です。ダッシュボードツールなどで、指標の結果をプロジェクトの各ステークホルダと共有し、評価することが必要です。
6.通知ボット
ビルドやデプロイ、新しいバージョン、バグ報告などを共有するために、ボットを用いて通知を自動化します。

続いて、組織文化を形作るための4つの心構えです。

1.互いに尊敬する
開発担当と運用/保守担当が互いに尊敬する気持ちを忘れずにいれば、たとえば運用/保守担当が開発担当に対して、コードにどんなリスクが潜んでいるかなど、遠慮せずに確認できるようになります。
2.互いに信頼する
運用/保守担当は開発担当を信頼し、運用や顧客からの追加機能などの要望について開発担当とディスカッションしましょう。開発担当は運用/保守担当を信頼し、インフラストラクチャについてのディスカッションに参加してもらい、きちんと意見を聞きましょう。開発や運用/保守に関する情報は、隠さずに共有しましょう。そうすることで、コミュニケーションがしやすくなり、信頼関係の醸成が早まります。
3.互いに仕事を任せ合う
失敗しても相手を責めない。開発担当と運用/保守担当は運命共同体です。安定稼働しているシステムでも原因不明のトラブルが起きることはありますし、人間である以上誰も100%は保証できません。追加開発時に開発担当がミスをすることもあります。誰かを責めるのではなく、協働して問題解決にあたることが大切です。
4.相手を非難しない
ミスが起きても非難せず、次に同じ問題が起きないように建設的に話します。互いに不満が溜まれば、突然メンバーが欠けたり、作業が進まなくなったりして、最悪プロジェクトの撤退につながる恐れがあります。

DevOpsで大切なことは、重要なポイントと組織文化の両方があってこそ成り立つということです。また、開発と運用のみならず、エンドユーザや営業とのコミュニケーションも忘れてはいけません。情報共有とコミュニケーションの徹底が重要ですから、企業や組織によっては、社長から一般社員、アルバイトの方まで、すべての従業員の意識や組織文化の見直しが必要になります。エンドユーザからの要求を達成するためには、従来の暗黙の了解を漏らさず文字に起こし、情報共有とコミュニケーションを徹底します。

DevOpsの実現を阻む現状

DevOpsという活動について認識を一致したところで、さて、みなさんの業務で取り組むにはどうしたらいいのでしょう。

後編では、筆者がお客さまからよく聞くお話を例に現場の状況を振り返り、情報共有のための方針を考えてみたいと思います。

米国Atlassianから、2年連続で
「Top new business APAC」を受賞。
Atlassianセールスパートナーとして
アジアパシフィックで1位の証
米国Atlassianから、2年連続で「Top new business APAC」を受賞。Atlassianセールスパートナーとしてアジアパシフィックで1位の証

日本だけでなく、アジア圏でもアトラシアン製品販売のトップエキスパートであるリックソフトのWebサイトでは、各アトラシアン製品の体験版を提供しているほか、アトラシアン製品専用のコミュニティも運営しています。まずはアクセスしてみては!

リックソフトJIRAデモ環境
https://www.ricksoft.jp/demo/
Software Design

本誌最新号をチェック!
Software Design 2022年9月号

2022年8月18日発売
B5判/192ページ
定価1,342円
(本体1,220円+税10%)

  • 第1特集
    MySQL アプリ開発者の必修5科目
    不意なトラブルに困らないためのRDB基礎知識
  • 第2特集
    「知りたい」「使いたい」「発信したい」をかなえる
    OSSソースコードリーディングのススメ
  • 特別企画
    企業のシステムを支えるOSとエコシステムの全貌
    [特別企画]Red Hat Enterprise Linux 9最新ガイド
  • 短期連載
    今さら聞けないSSH
    [前編]リモートログインとコマンドの実行
  • 短期連載
    MySQLで学ぶ文字コード
    [最終回]文字コードのハマりどころTips集
  • 短期連載
    新生「Ansible」徹底解説
    [4]Playbookの実行環境(基礎編)

おすすめ記事

記事・ニュース一覧