アジャイル開発に求められる品質改善活動を、ここでは「アジャイルQA」と呼んでいます。従来型のQAは網羅的、全体的なやり方ですが、アジャイル開発では短期間でのリリースが基本となるため、スコープを絞った局所的な方法をとらざるをえません。
この記事では、そんなアジャイルQAになるためのキャリアプランや、求められるスキルをスキルマップにまとめてみようと思います。ご自身のキャリア形成のヒントになれば幸いです。
アジャイルQAとは何か?
アジャイル開発において、「高い品質」とはなんでしょうか?
- 仕様通りできていること
- バグが少ないこと
- 期限内でリリースすること
- ・・・
ほかにも様々な観点はあるでしょうが、従来型の開発では、開発内容が契約で決まっていたりするので、上記の内容を満たせば「品質が高い」と言えます。特に「バグが少ない」はわかりやすい基準なので、ユーザが重要視することも多いはずです。
しかし、アジャイル開発では、契約というよりも成果で開発するため、「ソフトウェアによって顧客が実現したいことが達成できる」までがゴールになります。よって、仕様通りやバグが少ないのはあくまでベースライン(基準値)でしかなく、ベースラインを維持できてやっと、本来のゴールにチャレンジしなければなりません。
言われたものをちゃんと作っても、品質が高いわけではないのがアジャイル開発の難しいところです。
さらに難しいところは、ユーザのニーズが手によるようにわかっているビジネスやPOがいるならいいですが、そうでないなら、試行錯誤が続きます。ゴールに近づくために、さまざまなデータやフィードバックを得ながら、軌道修正を行い、真のゴールに近づいていきます。
うまくやれれば、ゴールに近づけますが、うまくやれないなら近づけません。もしかしたら、開発資金がなくなり、開発終了となる可能性もあります。
アジャイルQAは、上記のようなアジャイル開発に求められる品質を達成するための活動です。その活動をリードする人を指してもいますが、注意したいのは、最近のソフトウェア開発は、より複雑になってきており、開発に関わる活動もたくさんあります。よって、誰か特定の人に品質の責任をもたせるのが難しい場合もあります。よって、「活動をする人」ではなく「活動をリードする人」という表現にしています。
Caption: DevOpsのループではあらゆる活動でテストが必要になるため、全てを一人でやるのは難しい。参考:[翻訳] DevOpsにおける継続的テストとは何か?
アジャイルQAの「QA」は、いわゆる品質保証(Quality Assurance: QA)です。ただ、先にも書いたように、アジャイル開発では品質を保証するのが難しい。よって、チーム内での品質に対する合意形成とも言えるため、品質合意(Quality Agreement: QA)と表現することもできます。また、PMBOKでも品質保証という表現がManage Qualiry(品質のマネジメント)に変わっています。QAという言葉も、時代と共に意味合いが変わっていくのだと思います。
アジャイルQAのキャリアプラン
続きを読むにはログインが必要です。
ご利用は無料ですので、ぜひご登録ください。