みなさん、こんにちは。株式会社SHIFTの岡野です。普段は、ソフトウェアテストに関する研修を担当しています。
「お客様の求めるものをより迅速に提供したい!」
「企業戦略上、コスト・開発期間双方の競争力の強化が必要!」
システム開発企業や事業現場では、このような声を良く耳にします。
課題解決のためにxアジャイル開発x(大きな単位でシステムを区切ることなく、小単位で実装とテストを繰り返す開発スタイル。従来の開発手法に比べて開発期間が短縮されるとされる。)やDevOps(DevelopmentとOperationsを組み合わせた造語。詳細は後述します。)を取り入れる組織が増えてきていますが、社内でのノウハウや知見の成熟が追いついておらず、思うように導入が進んでいないケースが多いようです。
今回は、DevOps を取り上げ、DevOpsにおける課題や、その解決案についてご紹介します。
では、DevOpsを進めるうえでどのようなことが課題となっているのでしょうか。
調査データ「アジャイル白書2017」(株式会社SHIFT調べ:図1)によると、 「アジャイルやDevOps」の取り組みで発生している主な課題は以下のようになっています。(上位3位)
1位「部署やチームによって理解や熟練度が異なる」
2位「組織全体への適用が難しい」
3位 「アジャイルやDevOpsでのテストのやり方が確立されていない」
(図1)アジャイルやDevOpsの取り組みで発生している課題 (件数)
上記、1位、2位の課題に対しては、DevOpsを正しく理解し、その理解度や熟練度を高めながら、組織内で成功事例を積み重ねていくことが効果的です。3位の課題に関しては、アジャイルやDevOpsにおいては「早く」「必要十分」なテストを行うことが求められているものの、そのやり方が良くわからないといったことが問題となります。それに対しては、必ずしもこれといった1答えがあるわけではありませんが、その重要な手がかりとなりうるのが「リスク」です。
リスクとは、将来、否定的な結果を生む要因のことで、通常、発生確率と影響度として表現されます。これら2つの要素を手掛かりにテストすることで、「早く」「必要十分」なテストを行うことができるようになります。こういったリスクをベースにテストを行う手法のことを「リスクベーステスト」と言います。
DevOpsにおいては、リスクベーステストを行う際、リスク抽出・リスク分析にも極力時間をかけないことが求められます。つまり、従来のウォーターフォール型の開発時とは異なるリスク抽出・分析方法を学び、活用できるようになることが必要です。
(図2) リスクポーカーを活用したリスクに応じたテスト方法の選択例
(参考書籍) Agile Testing Foundations: An Istqb Foundation Level Agile Tester Guide
DevOpsに関しての基礎的な知識や、より具体的な課題解決法を学びたい方へ「DevOpsテスト入門」をお薦めします。この研修コースでは、DevOpsの基礎から「リスクポーカー」を用いた具体的なリスクベーステストを実際に体感し、リスクに応じたテスト技法の選択を検討したうえでの効率的・効果的な自動化テストを行う方法を学ぶことができます。
DevOps における課題解決に役立つオススメのコースをご紹介します。
・【集合】DevOpsテスト入門
・【ライブ】DevOpsテスト入門
そのほか、レビュー/テスト技術関連コースはこちら
・レビュー/テスト技術関連コースマップ
(2018/07/05)