DASA DevOpsコンピテンシーモデル適用の実用例
※ 本記事は、DASA Influencer の ÁNGEL M. RAYO 氏による寄稿記事ですDevOpsコンピテンシーモデル は、DevOpsチームに必要なスキルと能力を定義しています。これについては、DASAをご存知の方であればご存知のことでしょう。この記事では、私がDevOpsコンピテンシーモデルを適用するために行ったプロセスを紹介します。
DevOpsコンピテンシーモデルを見て行く前に、関連性が最も高いDASAのDevOps原則を理解しておくことが大切になります。
1つ目は、「機能横断的な自律型チーム」として仕事をすること(原則04)であり、2つ目は、「顧客中心の活動」として常に顧客に価値を提供することに焦点を当てている(原則01)ことです。
「機能横断的な自律型チーム」になるためには、まずチームの現状を評価し、分析する必要があります。これができて初めてチームに必要なスキルを向上させることができます(原則05)。すべてのチームが同じツールやフレームワーク、プラクティス、テクニックのトレーニングを必要としているわけではありません。DASA DevOpsコンピテンシーモデルは、個人やチームにとって何に取り組む必要があるのかについてのガイダンスを提供しています。知識とスキルのギャップを見極めることで、チームは高いパフォーマンスに向けて次のステップに進むことができるのです。DASAでは、「T字型」のチームメンバーの力を信じています。チームメンバー全員が特定のエリアでの専門家である必要はありません。ただし、プロダクトのライフサイクルを管理するのに十分なスキルと実践経験をチーム内でカバーしている必要があります。
DASA DevOpsコンピテンシーモデルは、4つのスキルエリアと8つの知識エリアで構成されています:
スキルエリア
- 勇気
- チーム構築
- DevOpsリーダーシップ
- 継続的改善
- アーキテクチャと設計
- 事業価値最適化
- 事業分析
- テスト仕様作成
- プログラミング
- 継続的デリバリー
- セキュリティ、リスク、コンプライアンス
- インフラストラクチャ・エンジニアリング
次の図は、複数のDASA認定資格が異なるスキルや知識エリアのギャップに対してどのように対応しているのかを示しています。
自らの知らないことをどうやって知るのか?
DASAでは、「DevOps Competence Quickscan」という無料ツールを提供しています。これを使うと、24の質問に答えるだけですぐに、各人の現在のDevOpsの現状を視覚的に評価することができます。このツールの目的は、専門家である個人とチームが12の知識とスキルのエリアにおいてどのように改善できるのかを特定することです。その背景にあるアイデアとしては、価値のあるプロダクトを提供することや、より良い仕事をすること、チーム内での知識を共有すること、特定のスキルや知識を改善することをチームで可能にすることにあります。
自分自身の自己認識がQuickscanの結果と一致するかどうか行ってみました。結果は、私の予想とかなり一致していました。しかし、私が思ってもいなかったギャップも見つけることができました。
私がQuickscanを実施した際の結果の画面を撮り忘れたのでここでは、仮説的なケースを提示したいと思います。DevOpsへの道のりを始めたばかりのインフラエンジニアのエマさんがいたとしましょう。 エマさんがQuickscanを行ったときには、彼女が3つの知識エリア(事業価値最適化と継続的改善、継続的デリバリー)のマスターレベルにあります。さらに、彼女は、「アーキテクチャと設計」の入門レベルであり、「チーム構築」、「事業分析」、「テスト仕様作成」の”ただ一人”の初級レベルであることがわかります。これらは改善すべきエリアです。 この時点においては、あなたはこれが実際に何を意味するのか懐疑的に思うかもしれません。それでは、個人、チーム、会社の3つのレベルに基づいて次のステップで識別していきましょう。
個人のレベルにおいては、エマさんは現状を改善し、各エリアについてレベル2(初級)に到達する必要があります。例えば、DASA DevOps ファンダメンタルの研修プログラムを受講すれば、彼女はそのレベルに達するでしょう。12のエリアにわたってレベル2(初級)であるということは、T字型プロファイルの「T」の水平バーが構築できていると言えます。チームレベルでは、彼女の結果をチームの他のメンバーと比較して、改善が必要な主要な改善エリアを認識する必要がります。DASAでは、すべてのエリアでレベル4(エキスパート)以上となるチームになることを推奨しています。
会社レベルでは、スキルと能力が会社全体でどのように満たされているかより広く理解します。これは、複数のチームの評価を比較することで行います。
今後の進め方(さらに進化するには)
私は、DASA DevOpsコンピテンシーモデルを、現状を評価し、改善プロセスを開始する目的でトレーニングやプロジェクトで使ってきました。ほとんどの場合、個人レベルの情報しか持ち合わせていないことがわかりました。個人レベルの情報を持っていることは有用ではありますが、かなり限定的でもあります。DevOpsはなによりも、共同レベルでの新しい働き方であるべきです。自分のチームや部門、または会社全体のメンバーのスキルや知識のレベルを知らないことは、決して望ましいことではありません。チーム全員でQuickscanを行うことで、上の画像のようなものを得ることができます。この活動によって、プロダクトのライフサイクルの中で、異なる専門知識を持った人たちがデータや情報、知識を共有することに繋がります。それはバランスの取れたチームを作ることに役に立ちます。
DASA DevOpsコンピテンシーモデルを手元に置いておくことが非常に役に立つもう一つの状況があります。個人、チーム、または会社のトレーニングのニーズを特定するときです。エリアと学習パスを一致させることで、トレーニングプログラムやその他のリソースを求める人たちを支援することができました。
以下のような結果になったと想像してみてください:
このような結果を会社で共有した場合、最も自然とでてくる質問は次のようなものです。「今後のプロダクトやプロジェクト、イニシアティブで追加のトレーニングが必要になりますか?」これに対して、反応が肯定的なものであれば、彼らはDevOpsファンダメンタルと、DevOpsプロフェッショナルレベルの認定研修が組み込まれた学習パスを検討し始めることでしょう。
DevOpsのための知識とスキルのフレームワークとしてのDASA DevOpsコンピテンシーモデルの影響力は、いくら強調してもしすぎることはありません。DASAに触れずに他の人にDevOpsを紹介することが難しくなったと言っても過言ではないのです。
DevOpsへの道のりがどの程度進んでいるかに関わらず、道のりを支えるDevOps原則を決して見失わないことをいつも推奨しています。DASA Competence Quickscan を行い、何年にもわたって自分の育成を追跡することが、私にとって最善の方法だったのです。