BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 品質の造り込みのためのアジャイル的アプローチ

品質の造り込みのためのアジャイル的アプローチ

原文(投稿日:2021/02/11)へのリンク

品質の造り込み(Built-in Quality)はアジャイルの重要な柱のひとつだ。しかしながら、これを大規模に実践するには、開発ライフサイクル全体を見る必要がある。組織のさまざまな層で、品質意識を向上させることが必要だ。アジャイルコーチは、アジャイル的作業方法を活用し、品質思考を推進することによって、これを支援することができる。

アジャイルコーチ兼テストマネージャのDeck-Jan de Grood氏は、品質の構築が複数のレベルにわたる課題であり、アジャイルコーチがそのために何ができるのか、をテーマに、Aginext 2021で講演する。このカンファレンスは2021年3月17~19日、オンラインで開催される。

これまで標準になった開発プラクティスはたくさんある、とDe Grood氏は言う。これらの中でどれだけが実際に取り入れられているかを見れば、その速度にまったく着いていけないチームの存在に気付くはずだ。どれだけのチームがCI/CDパイプラインを導入していて、どれだけのチームがいまだ手作業のテストに頼っているのか?

Aginextで氏は、企業が大規模な品質構築を図る時に直面する課題について語る予定である。

アジャイルはプルメカニズムを身上としており、チームがオーバーロードになるはずはありません。それにも関わらず、一般的にチームは極めて多忙です。現実として、管理側からの多大なプレッシャがあるのです。また、レガシやチーム間の依存関係に対処するため、開発プロセスのイノベーションや自動化を行う時間的余地はほとんどありません。品質意識を持って、品質の造り込み(BIQ)をアジェンダに載せることが必要です。

品質意識の向上は考え方の問題だ、とDe Grood氏は言う。アジャイルの原則にはすでに、技術的洗練に対する継続的な配慮の必要性がうたわれている。これは、適切な品質フィードバックループを備えることに関連すると同時に、チームが開発プロセスを自動化し、これらの開発プラクティスを受け入れるためのトレーニングや支援を行う、という意味である。

それだけではない、とDe Grood氏は言う。チームプラクティスは重要だが、開発ライフサイクル全体を検討する必要があるのだ。フィードバックループをデザインすることによって、無駄を排除し、エラーを早期検出し、組織内における複数の層で品質意識を向上することが可能になる。

品質構築に関して、Derk-Jan de Grood氏にインタビューした。

InfoQ: アジャイルフレームワークは、品質構築にどのように対応しているのでしょうか?

Derk-Jan de Grood: 品質の造り込みは、アジャイルの重要な柱のひとつです。Srcumを例に取れば、チームはリリース可能なプロダクトを提供する必要があります。そのためには、実施されたインクリメントのそれぞれが、十分な品質を備えていなくてはなりません。この状態を、プロダクトに品質が造り込まれている、と呼んでいるのです。

ひとつのプロダクトやサービスに複数のチームが従事する状況では、大規模アジャイルフレームワーク(scaling agile framework)の適用が可能です。この種のフレームワークとしては、LeSS、Nexus、SAFeなどがありますが、ここでは最も規範的なSAFeを取り上げて、今の質問に答えることにしましょう。SAFeは、BIQを基本的な柱のひとつとして、いくつかのプラクティスをアドバイスしています — テストファーストで考えよ、テストを自動化せよ、退行テスト戦略を持て、CI/CDパイプラインを確立せよ、品質を開発プロセスに組み込め、といったものです。

その他のフレームワークはそこまで明確ではありませんが、やはりScrumの適切な実施を求めています。つまり、これら開発プラクティスのすべてを同じように採用している、ということです。

InfoQ: 開発サイクルの各ステップに品質を取り入れるには、どうすればよいのでしょう?

De Grood: 新たな著作のための調査をする中で、私は、偶然にも製造業におけるBIQの成熟度に関する素晴らしいプレゼンテーションに出くわしました。Agilenextで行うプレゼンテーションでは、このアイデアをシステム開発に転用する方法を取り上げたいと思っています。

リーンには、"ラインを止める(stop the line)"と呼ばれるものがあります。作業者があんどんのコードを引っ張ると、生産ライン全体が止まる、というものです。製品にエラーや問題を見つけた時には、ラインを止めて根本原因を調査し、それを排除するのです。この考え方を、ソフトウェア開発に取り入れたいと思っています。

大規模フレームワークはチームプラクティスに重点の多くを置いているようですが、ソフトウェア開発ライフサイクル(SDLC)の他の部分にも同じように目をやるべきではないのか、と思うのです。プロセス内で欠陥を検出できる瞬間を特定することは可能です。私たちには、欠陥を検出可能する方法やラインを停止するタイミングについて、成熟した議論を行うことができます。

この議論が品質意識を向上させてくれるでしょう。これをSDLCの早いステップで行うことで、BIQ成熟度のより高いレベルに達して、チームメンバ以外の人でも品質のオーナーシップを取得できるようになるのです。

InfoQ: 品質思考を推進する上で、アジャイルコーチには何ができるのでしょうか?

De Grood: アジャイルコーチは、チームや組織がアジャイル的な作業方法を取り入れるのを支援します。アジャイルコーチの進展する方向は3つあると思います — アジャイルカウンセラ、デリバリコーチ、そしてチームコーチです。

チームコーチは一般に、チームがアジャイルの原則や考え方を理解するための手助けをします。この役割でのコーチは、先に述べたような代表的な開発プラクティスについて、チームレベルでの認識を作り上げることができます。

デリバリコーチは、SDLC内のボトルネックを特定し、チームが例えばパイプインを立ち上げたり、開発プロセスの品質を評価するためのメトリクスを導入したりするのを支援することによって、開発フローの向上に寄与することが責務になります。これによって組織が可能な改善を認識し、野心的な目標を設定することを支援する役割を果たすのです。

アジャイルカウンセラはコーチングのリーダシップを取り、品質の造り込みをマネジメントの俎上に載せることができます。つまりアジャイルコーチは、さまざまなレベルにおいて組み込みプロパティに対処し、その成熟度向上の勢いを付けることができるのです。

InfoQ: 世界中の組織でアジャイルが採用されていることは、ソフトウェアの品質にどのような影響を与えているのでしょうか?

De Grood: 昨年リリースされたThe 14th State of Agile Reportでは、アジャイルが優先順位の変更管理、ビジネスとITとの整合化、デリバリの速度向上に寄与している、とされています。アジャイルを採用した組織は、コロナ禍にも対応し、適応することができました。

環境が変化する中にあっても、アジャイルになることが事業継続の支援になった、と言えます。私が関わった中には、アジャイルによって同じ人の作業量が2倍になった、という組織もありました。しかしながら、もちろんこれは、品質のことを言っているのではありません。

アジャイルのメリットについて知るためにThe 14th State of Agile Reportを見ると、ソフトウェア品質の向上はリストの10番目に掲載されているに過ぎないのです。ですから私は、品質の造り込みにもっとスポットライトを当てるべきだと思います。そのためには、プラクティスの価値を強調することによってチームレベルでこれを行うと同時に、これまで論じたように、SDLC内のさまざまなレベルの人たちが関与してBIQの成熟度を向上させることが必要なのです。そして最後に私たちは、この問題にリーダシップのレベルで対処し、その実現に必要なイニシアティブをサポートする必要があります。

この記事に星をつける

おすすめ度
スタイル

BT