agile pm10 quality_2a

19
THE SOFTWARE PROJECT MANAGERS BRIDGE TO AGILITY 読書会 #10 : Quality Management (後半) AgilePM研究会 和良品文之丞 Bunnojo Warashina 2014/6/17 Agile PM Reading Circle, PMI 1 会場提供: PMI日本支部様

Upload: bunnojo

Post on 21-May-2015

114 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile pm10 quality_2a

THE SOFTWARE PROJECT MANAGER’S BRIDGE TO AGILITY 読書会 #10 : Quality Management (後半)

AgilePM研究会 和良品文之丞 Bunnojo Warashina

2014/6/17 Agile PM Reading Circle, PMI 1

会場提供: PMI日本支部様

Page 2: Agile pm10 quality_2a

Quality Control

2014/6/17 Agile PM Reading Circle, PMI 2

p.137

すでに入り込んだ欠陥の発見に重点

発見された

欠陥の除去

Traditional

イテレーションごとに

バグのチェックが完了 テスト・検証のしくみ

Agile

毎日のビルドとスモークテスト

フィーチャーのコードが、顧客の期待に合っているか

自動的なテスト: 回帰テスト、単体テスト、

機能・探索的テスト、受入れテスト

Page 3: Agile pm10 quality_2a

Quality Control

2014/6/17 Agile PM Reading Circle, PMI 3

p.138

イテレーション・バックログ

フィーチャ1

フィーチャ2

フィーチャ3

:

フィーチャn

受入基準1

受入基準2

受入基準3

:

受入基準n

ここがポイント

フィーチャごとの受入基準を定義することによって、チームメンバは作業に対する明確なビジョンを持つ

Page 4: Agile pm10 quality_2a

Quality Control

2014/6/17 Agile PM Reading Circle, PMI 4

p.138

そのフィーチャを取り除き、

低い優先度を与える

後のイテレーションで再度取組む

イテレーションの終了時にまだ欠陥が残っているときは・・・

そのフィーチャのコードがあれば、欠陥を高い優先度にする

バックログに入れ、次のイテレーションで扱う

ささいな欠陥であれば、そのまま継続する

将来のイテレーションに向け低い優先度でバックログに入れる

フィーチャの一部が受入れ可能であれば、フィーチャがイテレーションに対して大き過ぎる

受入可の部分を分離し、受入不可の部分をより小さい単位でバック

ログに戻す

Page 5: Agile pm10 quality_2a

Quality Control

2014/6/17 Agile PM Reading Circle, PMI 5

p.139

PMBOKガイド掲載:品質レベルをモニタリングするツール

図8-7.QC七つ道具の個々の例を概念的に示したストーリーボード (プロジェクトマネジメント知識体系ガイドPMBOKガイド 第5版 p.239)

Page 6: Agile pm10 quality_2a

Quality Control

2014/6/17 Agile PM Reading Circle, PMI 6

p.139

Agile で共通に使われる品質モニタリングツール

PMBOKガイドに掲載された品質レベルをモニタリングするツール群も、 状況に応じて使うことができる

バーンダウンチャート

根本原因分析 テスト自動化 ツール

欠陥追跡 ツール

特に新しくAgileを実施したり、欠陥のバックログを持つチームは、欠陥追跡ツールを使おうとするかも知れない。

ただし、チームはそのイテレーション内で、欠陥を見つけて修正すべきであり、欠陥が残ったとしても少しで、以降の作業のためにバックログに単に追加するだけで良い。

Page 7: Agile pm10 quality_2a

Quality Control

2014/6/17 Agile PM Reading Circle, PMI 7

p.139

Iteration burndown chart:

どのくらいの作業が残っているのか日々確認することで、 必要に応じて調整する機会と なる

以前のburndown chartと違う

Q?

Page 8: Agile pm10 quality_2a

おさらい: Time Managementのburndown chart

2014/6/17 Agile PM Reading Circle, PMI 8

p.92 Figure 6-3 This release burndown chart represents the GERT team’s progress through iterations 1 and 2 of its project.

p.103 Figure 6-6 An example of a team’s burndown chart . The project manager and the team can tell early on that the team’s velocity is not as high as originally thought. This will impact what is planned for the next iteration in the agile release plan.

p. 92 p.103

Page 9: Agile pm10 quality_2a

Quality Control

2014/6/17 Agile PM Reading Circle, PMI 9

p.139

先に テストを書き、自動化を行う

機能に関するコードを書く

TDD: Test Driven Development (テスト駆動型開発)

testdriven.com のFAQは次の文章で始まる

・小さなテストを書きなさい

・テストを成功させるために十分なコードを書きなさい

・コードをきれいにしなさい(訳者補足:リファクタリング) ・(以上を)繰り返しなさい

Page 10: Agile pm10 quality_2a

Quality Control Table8-3 品質コントロールに関する比較1/2

2014/6/17 Agile PM Reading Circle, PMI 10

p.140

アジャイル用語において品質コントロールは、「受入れ、 レビュー、振返り(レトロスペクティブ)」のことを指す

Traditional Agile

プロジェクトの終わりで、バグを見つけるためコードをテストする

各イテレーションで、バグを見つけるためコードをテストする

大量のテストを手作業で行うことが許される

(訳者補足:あらかじめ計画されたテスト工程で、テストを手作業で行える期間と工数が確保されているため)

大量のテストを手作業で行うことは許されない テストはボトルネックになる

デリバリーのスピードを高め、品質コントロールを保てるように、多くのテストを自動化する

何をテストし、何が期待されるかを知るために、文書を参照する (例:システムがどのように機能するか)

各フィーチャの何をテストし、何が期待され、何が受入基準を理解するため、品質担当が顧客や開発者と一緒に、開発チームの一部のように作業する

Page 11: Agile pm10 quality_2a

Quality Control Table8-3 品質コントロールに関する比較2/2

2014/6/17 Agile PM Reading Circle, PMI 11

p.140

Traditional Agile

欠陥をログに記録する テスターは開発者に、バグを見つけたことと修正するためにステップのウォークスルーを提案する

(このイテレーションで解決できない)未解決の欠陥は、バックログに記録する

製品の品質をモニタするために多様なツールを使用する (PMBOKガイド、品質7つ道具)

製品の品質をモニタするためにテストをパスするための主要なツールと顧客の受入れを使用する

プロセスの品質をモニタするために、監査を含む多くのツールを使用する

プロセスの品質をモニタするために、バーンダウンチャート、メトリクス、根本原因分析の主なツールを使い、各イテレーションの終了時のレビューと振返りミーティングで、レビューを実施する

Page 12: Agile pm10 quality_2a

Quality Control サマリ

• 品質保証は、アジャイルソフトウェア開発において現実的なものとなる – プロジェクトの本当の初期から品質スタッフがアジャイルチームの主要なパートとなる

• 顧客とチームはプロジェクトのために品質方針と標準を定義する

• 製品における品質は自動化されたテストと顧客の受入れによる確認でモニタされ、プロセスにおける品質はメトリクスと振返りによる“監査”、レビューによって確認される

• バーンダウンチャートと根本原因分析は、アジャイルチームによって行われる標準的な品質コントロールツールである

2014/6/17 Agile PM Reading Circle, PMI 12

p.141

Page 13: Agile pm10 quality_2a

Quality Control Table8-4 プロジェクトマネジャーの振る舞い比較1/2

2014/6/17 Agile PM Reading Circle, PMI 13

p.142

Agile PM’s change list for Quality Management

今まで使ってきたもの 今(以降)やること

公式的な品質マネジメント計画の策定 チームを誘って品質を保障するための細目(※)を定義し、決定を非公式に記録するためにフィリップチャート、ホワイトボード、Wiki他を使う

(※自動テストツール、周期的でアクセス可能なビルド・テスト環境、トラック(追跡)のためのメトリクス、完了の定義、他)

QA監査を設定する デモ、レビュー、振返りミーティングを各イテレーションの終わりに主宰し、次のイテレーションレビューと振返りミーティングで審査するために推奨された変更に対するアクションと結果を追跡する

Page 14: Agile pm10 quality_2a

Quality Control Table8-4 プロジェクトマネジャーの振る舞い比較2/2

2014/6/17 Agile PM Reading Circle, PMI 14

p.142

Agile PM’s change list for Quality Management

今まで使ってきたもの 今(以降)やること

欠陥を追跡する; バグをFixするための活動をとりまとめ、割り当てる

各イテレーションで欠陥を発見しFixする

ために必要とされることがあれば、チームをアシストする;

前回受入れたフィーチャに対する欠陥の有無を顧客に確認する

変更制御のログを維持する 顧客からの質問に答えられるようにするため、更新されたバックログを維持する

Page 15: Agile pm10 quality_2a

コラム:技術的負債の代償 Paying on Technical Debt 1/2

2014/6/17 Agile PM Reading Circle, PMI 15

p.138

システムが正しく機能しない

既存の問題解決より新たなフィーチャの追加

技術的負債

チームの不注意

旧来の

思考習慣

旧来の手法と

同じ問題

プロジェクトの終わりでバグFix

欠陥の優先度を低く設定し、バックログから落とす

慌しく行動

長時間労働

欠陥プロダクト

納品

スクラップ

Page 16: Agile pm10 quality_2a

コラム:技術的負債の代償 Paying on Technical Debt 2/2

2014/6/17 Agile PM Reading Circle, PMI 16

p.138

各フィーチャを完了させることができる

まで

各イテレーションのコミットを減らす

チームのベロシティに注意を払

予防策 既存のプロダクトを出荷可能で安定した状態にする

(多くのチームが

3イテレーションで改善)

製品の品質が悪いならば

新たなフィーチャの追加を止

める

技術的負債はクレジットカード負債に似ている 積み重なると、各請求のサイクルで支払っていくのが大変になる

Page 17: Agile pm10 quality_2a

コラム:品質コントロールにおける トラディッショナルアプローチの影響

2014/6/17 Agile PM Reading Circle, PMI 17

p.141

テスターと開発者は、 互いに近くに座るべし!

極めて伝統的なソフトウェア開発環境に凝り固まったチーム

テスタ 開発者

壁 欠陥記述の体裁 欠陥ログ メールによる送付

3週間前の報告

フィーチャ完成 3週間送れ

Page 18: Agile pm10 quality_2a

グループワーク

• Agileプロジェクトで有効なメトリクスや、品質をモニタ

リングするためのツールは、どのようなものが良いと思いますか?

2014/6/17 Agile PM Reading Circle, PMI 18

pp.112-113

Agile プロジェクト 品質メトリクス

Agile プロジェクト 品質モニタリングツール

Page 19: Agile pm10 quality_2a

THE SOFTWARE PROJECT MANAGER’S BRIDGE TO AGILITY 読書会 #10 : Quality Management (後半)

Thank you

2014/6/17 Agile PM Reading Circle, PMI 19