SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

QA to AQ:アジャイル品質パターンによる、伝統的な品質保証からアジャイル品質への変革

アジャイル品質のための中核パターン:「アジャイル品質プロセス」と「障壁の解体」

QA to AQ 第1回


  • X ポスト
  • このエントリーをはてなブックマークに追加

障壁の解体

  • パターン:障壁の解体(原題 Break Down Barriers, 原著 Joseph W. Yoder, Rebecca Wirfs-Brock, Hironori Washizaki)[3]

 「障壁に焦点を当てることもできるし、壁を乗り越えたり問題を再定義したりすることに焦点を当てることもできる」――Tim Cook

 ほとんどのアジャイルプロセスは、機能要件、それらの優先順位をつける方法、およびプロダクトオーナー、スクラムマスター、開発チームを完全に関与させるコラボレーション環境に焦点を当てるのに適しています。しかしながら、ソフトウェアプロジェクトの成功にとって重要な役割とタスクは他にもあります。QA担当者は、システムが正しく機能していることを確認し、品質要件を満たしていることを確認する必要があります。アーキテクトはインフラストラクチャを設計し、アーキテクチャ機能を実装します。アジャイルプロジェクトに貢献するグループや個人は、プロジェクトに関与し、ソフトウェアの成功に対して価値ある貢献を果たしていると感じる必要があります。このことはプロジェクトにフルタイムで従事していない貢献者にとって特に重要です。

 開発チームの「内部」にいない、または開発チームとの関係が希薄と感じている人々の間に障壁が存在しているかもしれません。これにより、チームの全体的な進捗やソフトウェアの品質ではなく、自分の仕事のみに焦点を当てるようになる可能性があります。開発者は品質の問題を「他の人」の問題と見なし、QA担当者をプロダクトの出荷に対する障害と見なすようになるかもしれません。また、QA担当者は、自分たちの意見が傾聴され、理解されていないことに対して不満を感じる可能性があります。

 アジャイルチームはどのようにしたら障壁を取り除き、品質に関してよりアジャイルになることができるでしょうか?

***

 多くの場合、チームの他のメンバーから、QA担当者は単なる最終的なゲートキーパーと見なされます。QA担当者がリリースサイクルの最後にのみソフトウェアを検証している場合には、上流側(開発者)からの圧力によってQA担当者が非難され、常に応答モード(頼まれたことしか行わない状態)になる可能性があります。QA担当者としてはもっと助けたいと思っていますが、時間も人員も十分ではありません。品質の問題が開発の終盤に発生した場合、QA担当者は、リリースを妨げているトラブルメーカーと認識されてしまうことがあります。場合によっては、QA担当者は、実際の開発プロセスでテスターとして貢献していないために、アプリケーションがどのように機能するかを理解してはいないと認識されます。

 プロダクトオーナーと開発チームは、中核となる機能要件など、進行状況が分かりやすい目に見えるアイテムに焦点を合わせたいと考えています。これにより、重要なシステム品質が軽視されたり、見逃されたりする場合があります。実動コードと単体テストを作成している開発者は、作業を高速化するアプローチを選択する場合があります。その結果、開発者は自分達の作業速度(ベロシティ)だけを気にして、自分達の設計上の選択が、品質を保証する責任者を含む他の人々にどのように悪影響を与えるかに気づかないかもしれません。

 QA担当者および/またはプロダクトオーナーは、ソフトウェアエンジニア、管理者、さらにはビジネスアナリスト(BA)の観点からの実際の要件でさえも、十分に捉えていない場合があります。特定の契約または法律または政府規制に実際の要件が含まれている場合でも、プロダクトオーナーまたはQA担当者は、それらの要件を達成する方法について独自の解釈を行ってしまう場合があります。彼らは不注意に重大な問題を引き起こし、それが重要な要件の開示の遅れにつながることがあります。結果として、開発が混乱し、品質管理が期限を守ることができなくなります。

 組織にはさまざまな障壁があります。障壁には、物理的、経験的、または文化的なものがあります。これらの障壁がすべて悪いわけではありません。時には障壁が、チームにタスク完了をさせまいとする外部の力から、チームを保護することがあります。ただし、いくつかの障壁は問題を引き起こす可能性があります。QAチームが別々の部屋や建物に配置されているなど物理的な障壁がある場合、グループ間の距離はグループ間の違いを拡大するかもしれません。中核の開発チームの外側にいる人は孤立していると感じることがあり、その結果、「我々と(我々とは異なる)あいつら」のメンタリティが生じる可能性があります。QA担当者が同じ建物、場合により同じ物理的空間にいる場合でも、文化や言語の違い、背景や専門知識の違いが存在することもあります。

***

 したがって、早い段階でQA担当者をチームに含めるなど、さまざまなアクションを通じてコミュニケーションを妨げる障壁や壁を取り壊します。QA担当者をスプリントの一部にして、チームに取り込み、品質に対してチーム全体に報酬を与えます。

 ほとんどのアジャイルプラクティスにおける重要な原則は、「Oneチーム」というコンセプトです。このコンセプトの下では、人々は協力して高品質の製品を生産します。品質を気にする必要があるのはテスターだけではありません。チームの全員が、仕事にさまざまな強みと経験をもたらしますが、品質にも注意を払う必要があります。QA担当者を最初からチームの一員として組み入れることで、品質に関する考え方をチームに浸透させ、品質に関する関心をより合理化されたプロセスの不可欠な部分にします。どのシステム品質が重要であり、プロセスにどのように適合するか(異なる品質に対して何を行うか)をチームの全員が理解するようQA担当者が支援することができます。QA担当者は、システムの品質と、品質確保の役割に焦点を当てていますが、同時に、チームの他のメンバーは全体的な品質目標に対する責任を感じることが重要です。

 QA担当者と他のチームの間にある障壁を打破するためには多くの方法があります。例えば以下のようなものがあります。

  • QA担当者がチームの見積セッションに完全に参加できるようにする。
  • QA担当者が別のエリアにいる場合は、同じスペースに移動させ、チームの一部として参加させて、専門知識をグループに伝えることができるようにする。
  • プロダクトオーナー(PO)、開発チーム、およびQA担当者を同じ部屋に配置し、今後のスプリントの前に計画に参加させる。

 QA担当者はアセスメントの機会と、自らの経験を使って「イリティーズ(ilities)」(*)を指摘することができます。QA担当者は、QAプロダクトチャンピオンとなり、リスクを指摘し、チーム全体でハイレベルのテストと統合ポイントの作成を支援します。

(*注釈)イリティーズ(ilities)

 拡張性(scalability)、安全性(security)、信頼性(reliability)、相互運用性(interoperability)などの品質属性の総称です。”ility”で終わる英単語が多いためこのように呼ばれることがあります。品質属性は見落とされることが多いので、確実に対処する必要があります。

 QA担当者を早期かつ頻繁に含めることの利点は、他の人が要件を理解し、検証できるようにすることです。また、早期の関与は、QA担当者がプロジェクト全体のビジョンを理解し、品質目標が満たされていることを確認するためのより良い方法を見つけるのに役立ちます。アジャイルグループのQA担当者はより積極的になり、開発プロセスのあらゆる面で品質を確保するように働くことができます。密接に連携し、ビジネス、管理、開発者の間で調整できるようになります。さらに、スプリント中に開発者は、QAリーダーとペアリングを行うことが可能です。

 障壁を解体する最良の方法の1つは、人々を物理的に近いところに配置し、定期的に連絡を取るようにすることです。たとえば、人々が国や世界のさまざまな場所にいる場合、顔合わせのための会議を開催することは理にかなっているかもしれません。これは、プロジェクトの初期段階に、チーム内の緊密性と相互理解を構築するのに特に役立ちます。また、チームが同じ場所に配置されていない場合は、定期的な仮想オンライン会議を開催することで、さまざまな懸念事項に対し全体的な視野を保ち、QAを含むOneチームとしてのつながりを感じることができます。QA担当者が開発チームと同じエリアに配置されている場合、QAチームは1週間に数回、開発チームと共同作業ができます。QA担当者の人員が不足している場合は、経験を共有しプロジェクトに対する洞察を得るために、複数のプロジェクトを巡回することができます。開発者は、品質作業の分散を実践することによりQAに貢献することもできます。

 すべての開発チームに十分な数のQA担当者がいない場合は、まずチーム間でローテーションを行い、いくつかの日常的なタスクでペアを組みます。価値を高めるものに焦点を当てます。QA担当者に実動コードの作成またはレビューを強制したり、すべてのスタンドアップに参加させたりすることは、生産的ではないかもしれません。一部のQAテストは非常に専門的であるため、システムのパフォーマンス、スケーラビリティ、またはその他のシステム品質に精通したアジャイル品質スペシャリストとペアを組むことで、機能テスターが、負荷テストおよびその他のタイプのテストに精通できるように、品質エキスパートをシャドーイングすることができます。

 夏のインターンを使用しようとしたり、リモートで誰かを雇ったりすることは、長期的にはうまく機能しないことが明らかになっています。より良いアプローチは、QA担当者の専門知識を増やし、最初からアジャイルチームの一部にすることです。これは、トレーニングとメンタリングを通じて行うことができます。また、プロセス全体を通じた品質への長期的なコミットメントをQA担当者から得ることになります。

 大胆な変化パターン(Fearless Change Patterns)[MR]の多くは、障壁を克服して、チームメンバーと上級管理職から賛同を得るのに役立ちます。協力を求めること、経営層の支持者を見つけること、根回し、可視化して、橋渡しする必要があるかもしれません。あなたがチームを進化させて品質と安全性を確保する際に、またあなたが成長し作業方法を調整する際に、ふりかえりの時間を取る必要があります[MR]。アーキテクチャ、文書化、QA担当者、またはUXデザイナーなど、アジャイルプロジェクトにフルタイムで参加していない専門スキルを持つ人々を、チームを継続的にサポートするように割り当てることで、チームの一員であると感じさせることができます[RN]。これらの人々は、アジャイルチームとともに、必要に応じて、チームとの継続的な会議に参加し、作業に取り組むことができます。

おわりに

 本稿では、アジャイル開発において効率的かつ効果的に品質保証を進めるために有用な実証済みのパターン集QA2AQの全体像を解説し、全パターンに共通する考え方やプロセスをまとめた二つの中核パターンアジャイル品質プロセス(Integrate Quality)障壁の解体(Break Down Barriers)の和訳を提供しました。本連載の以降では引き続き、他のパターンの和訳を提供する予定です。

参考文献

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
QA to AQ:アジャイル品質パターンによる、伝統的な品質保証からアジャイル品質への変革連載記事一覧

もっと読む

この記事の著者

鷲崎 弘宜(ワシザキ ヒロノリ)

 早稲田大学 研究推進部 副部長・グローバルソフトウェアエンジニアリング研究所所長・教授。国立情報学研究所 客員教授。株式会社システム情報 取締役(監査等委員)。株式会社エクスモーション 社外取締役。ガイオ・テクノロジー株式会社 技術アドバイザ。ビジネスと社会のためのソフトウェアエンジニアリングの研究、実践、社会実装に従事。2014年からQA2AQの編纂に参画。2019年からは、DX時代のオープンイノベーションに役立つデザイン思考やビジネス・価値デザインからアジャイ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

長谷川 裕一(ハセガワ ユウイチ)

 合同会社Starlight&Storm 代表社員。日本Springユーザ会会長。株式会社フルネス社外取締役。 1986年、イリノイ州警察指紋システムのアセンブリ言語プログラマからスタートして、PL,PMと経験し、アーキテクト、コンサルタントへ。現在はオブジェクト指向やアジャイルを中心に、コンサルテ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

濱井 和夫(ハマイ カズオ)

 NTTコムウェア株式会社 技術企画部プロジェクトマネジメント部門、エンタープライズビジネス事業本部事業企画部PJ支援部門 兼務 担当部長、アセッサー。PMOとしてプロジェクトの適正運営支援、及びPM育成に従事。 IIBA日本支部 教育担当理事。BABOKガイド アジャイル拡張版v2翻訳メンバー。ビジネスアナリシス/BABOKの日本での普及活動に従事。Scrum Alliance認定Product Owner。SE4BS構築やQA2AQ翻訳チームのメンバー。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

小林 浩(コバヤシ ヒロシ)

 株式会社システム情報 フェロー CMMコンサルティング室 室長。CMMI高成熟度リードアプレイザー(開発,サービス,供給者管理)。AgileCxO認定APH(Agile Performance Holarchy)コーチ・アセッサー・インストラクター。Scrum Alliance認定ScrumMaster。PMI認定PMP。SE4BS構築やQA2AQ翻訳チームのメンバー。CMMIやAPHを活用して組織能力向上を支援するコンサルテ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

長田 武徳(オサダ タケノリ)

 株式会社エヌ・ティ・ティ・データ シニアITアーキテクト。ITサービス・ペイメント事業本部所属。2006年入社以来、決済領域における各種プロジェクトを担当後、2018年よりプロダクトオーナ・製品マネージャとしてアジャイル開発を用いたプロジェクトを推進。現在は、アジャイル開発におけるQAプロセスの確...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

田村 英雅(タムラ ヒデノリ)

 合同会社 GuildHub 代表社員。日本 Spring ユーザー会スタッフ。大学で機械工学科を専攻。2001 年から多くのシステム開発プロジェクトに従事。現在では主に Java(特に Spring Framework を得意とする)を使用したシステムのアーキテクトとして活動している。英語を用いた...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

陳 凌峰(チン リョウホウ)

 フリーランサー。2003年に上海交通大学(ソフトウエア専門)を卒業後、2006年から日本でシステム開発作業に従事。技術好奇心旺盛、目標は世界で戦えるフルスタックエンジニア。現在はマイクロサービスを中心にアジャイル 、DevOpsを展開中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/12092 2020/09/09 17:40

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング