12:00デジタルトランスフォーメーションを成功させるために、DevOpsを推進する企業が増えている。DevOpsを成功させることは容易ではない。全メンバーが一丸とならなければ、真の意味で組織の文化を変えることはできないからだ。DevOpsを実現するには、「計測」が重要である。ソリューションコンサルタントの佐々木千枝氏が解説する。佐々木千枝氏かつて、システムの開発手法はウォーターフォール開発が主流だったが、近年ではアジャイル開発への移行が進んでいる。DevOpsは、アジャイル開発のような動的な環境変化に対してうまく対処できるよう、組織が協力しあう文化運動を指す。DevOpsの趣旨が誤解されてしまうこともあり、それによって3つの「残念なDevOps」が起こりうるという。1つ目は「スーパーエンジニアに2人分の働きをしてもらうのがDevOpsである」というもの。スタートアップのフェーズで、いわゆる「なんでもできる人材」が求められるケースもあるが、この状態は決して長続きしない。組織がスケールしないうえに、エンジニアが疲弊してしまうためだ。2つ目は「社内でDevOpsを推進しようとしているものの、現場にさっぱり浸透しない」というケース。これまでウォーターフォール開発をしていた組織では、アプリ開発者とインフラ運用者は全く違う組織であり、大きな壁が立ちはだかっている。その隔たりを解消しない限り、DevOpsは成功しないのだ。3つ目は「DevOpsってつまり自動化ツールを導入すればいいんでしょ?」という勘違い。DevOpsにとって、自動化は重要な要素である。自動化はDevOpsにとっての必要条件ではあるが、十分条件にはならない。「ツールを入れればOK」ではないのである。「DevOpsは『文化』です。何かのツールを導入しているから、何かを推進している人がいるからDevOpsなのではありません。文化を醸成できなければ、決して成功しないのです」(佐々木氏)しかし、企業の文化を変えるのは容易ではない。各ステークホルダーが業務において大事にしているものは異なり、共通の行動指針を持っているわけではないからだ。文化を変容させていくには、全メンバーがなんらかの「共通項」を持つ必要がある。そのために必要なのが計測である。「DevOpsにおいて、計測は文化醸成の助けとなります。アジャイル開発ではシステムとビジネスが日々変化していきますが、そうした変化を計測し、全メンバーが同じ情報を目にすることで、『何をすべきか』の共通認識が生まれるのです。計測ができているチームは、高度に成熟しているDevOpsチームといえます。あるDevOpsに関するレポートによると、最も高度に成熟したDevOpsチームは、未熟なDevOpsチームと比較して46倍以上も頻繁にコードをデプロイし、コードのコミットからデプロイまでのリードタイムが2555倍短く、変更失敗率が7分の1であり、インシデントからの回復時間が2604倍早いという事例もあります」(佐々木氏)だが、DevOpsにおいて適切に計測を行うことは難しい。その理由は大きく3つある。1つ目は「ツールのサイロ化」だ。それぞれが違うKPIやミッションのもと行動しているため、DevOpsの各ロールが計測したい項目は異なっている。そのため、用いているツールもバラバラの状態になっている。2つ目は「システムが複雑で動的である」ということ。アジャイル開発では、アプリケーションに最新の技術が導入されているケースが多い。構成要素の種類が多く、各コンポーネントも動的に変化している。変容し続ける要素を、どのように観測するかを考えねばならない。3つ目として「多忙なメンバーにとって、計測のために時間を割くことが難しい」という課題もある。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。