Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
©2020 Graat Inc.
エンタープライズアジャイルにおける
ウォーターフォールとのギャップと解決
グロース・アーキテクチャ&チームス株式会社
チームプロセス⽀援コンサルタント
常盤 ⾹央⾥
エンタープライズアジャイル勉強会2020年1...
©2020 Graat Inc.
講演者
常盤 ⾹央⾥(ときわ かおり)
◆Graat(グラーツ)
lグロース・アーキテクチャ&チームス株式会社
• チームプロセス⽀援コンサルタント
• https://www.graat.co.jp
◆社外コ...
©2020 Graat Inc.
アジェンダ
◆いまどきの開発に必要なこと
◆マネジメント(に注⽬して⽐較)
◆設計(に注⽬して⽐較)
◆品質(に注⽬して⽐較)
◆まとめ
2
©2020 Graat Inc.
エンタープライズアジャイルにおける
ウォーターフォールとのギャップと解決
いまどきの開発に必要なこと
3
©2020 Graat Inc.
いまどきの開発に必要なこと
◆システム全体の変更速度をあげていく
lリードタイムを短く
• 利⽤者からフィードバックを得て、その機能がリリースされるまでの期間
lリリースサイクルを早く
• 次のリリースまでの期...
©2020 Graat Inc.
◆本⽇は、以下の3点に注⽬
5
いまどきの開発に必要なこと
実装
提供
利⽤者
設計
2.設計
価値があるもの
を作る
3.品質
価値を適切に
届ける1.マネジメント
全体の流れを、
管理する
©2020 Graat Inc.
いまどきの開発に必要なこと
◆以下の3点に注⽬して⽐較する
6
観点 概要
マネジメント
⽬標を成功裏に完了させるための活動
計画⽴案、実際の活動、活動結果と計画とのズ
レの把握、調整などが含まれる
設計
利⽤...
©2020 Graat Inc.
エンタープライズアジャイルにおける
ウォーターフォールとのギャップと解決
マネジメント
7
©2020 Graat Inc.
マネジメント
◆まずは、マネジメントに注⽬
8
観点 概要
マネジメント
⽬標を成功裏に完了させるための活動
計画⽴案、実際の活動、活動結果と計画とのズ
レの把握、調整などが含まれる
設計
利⽤者への価値、使い...
©2020 Graat Inc.
監視・コントロール
マネジメントの構成要素
◆PMBOK
l基本的なプロセス
• 計画
• 実⾏
• 監視・コントロール
–監視:計画と実⾏のズレの確認
–コントロール:調整
9
計画
実⾏
⽴ち上げ 終結
©2020 Graat Inc.
何を可変にしていますか?
◆調整するのは何か?
◆スコープ = 実現すべき機能群(範囲)のこと
10
プロジェクトの形式 スコープ 期⽇ 予算
すべてを固定(⾮推奨) 固定 固定 固定
スコープと期⽇を固定
(...
©2020 Graat Inc.
ウォーターフォール
◆⽬的:最初に決めたスコープを、なるべく変えない
l全体のスコープを定め、それを実現する期⽇と予算を決める
◆なるべく変えないためのテクニック
l進捗を管理し、計画とのズレを把握する
• 個...
©2020 Graat Inc.
アジャイル
◆⽬的:状況に応じてスコープを安全に変えていく
l計画と実⾏を⼩さく繰り返し、その度にスコープを決める
• ⼩さく繰り返す単位 = スプリント
◆安全に変えるためのテクニック
l調整はスコープ(スプ...
©2020 Graat Inc.
アジャイル
◆安全に変えるにはスプリントの計画精度が重要
l完成している機能の現状を正しく把握する
• 動いているものだけを評価する(設計書では正しく把握できない)
• 進捗率のような曖昧な指標は使わない(完成...
©2020 Graat Inc.
整理すると
◆ウォーターフォール
最初に決めたことを変えない
l⻑期の計画を作る
l計画と実績のズレを把握する
lズレを様々な⽅法で調整し、ス
コープを変えないようにする
14
◆アジャイル
状況に応じて安全に...
©2020 Graat Inc.
よくある誤解
◆ウォーターフォールの⽅が管理が厳密?
lアジャイルの⽅が厳密
• 計画が⼩さいため、その中で厳守する必要がある
lウォーターフォールは「フェーズで辻褄があえばいい」
• 全てを⾒積もれないことを...
©2020 Graat Inc.
こんなことありませんか?
◆全体スコープが固定化されているのにアジャイル
l全体スコープが固定化されている場合、ウォーターフォール的に
ズレの確認をしないと調整がしにくくなる
lアジャイルだと全体のズレを確認し...
©2020 Graat Inc.
相互の活⽤例
◆ウォーターフォールにおけるテスト⼯程
l期間と⼈数を固定化して対応することが⼀般的
◆アジャイルにおける全体⾒積もり
lリリースプランニング
17
©2020 Graat Inc.
共通するテクニック
◆技術的リスクを下げる
lPoCやプロトタイピング
lアジャイルであればスパイク
◆仕様的リスクを下げる
l設計書やビジネスルールの⽂書
• ⽂書で確認して意味があるものは、事前に⽂書で確認...
©2020 Graat Inc.
エンタープライズアジャイルにおける
ウォーターフォールとのギャップと解決
設計
19
©2020 Graat Inc.
設計
◆次に、設計に注⽬
20
観点 概要
マネジメント
⽬標を成功裏に完了させるための活動
計画⽴案、実際の活動、活動結果と計画とのズ
レの把握、調整などが含まれる
設計
利⽤者への価値、使い勝⼿、コストなど...
©2020 Graat Inc.
ユーザーと機能
◆ユーザーは複数の機能を使う
l⽬的を達成するためには複数の機能を使う
l顧客からの住所変更依頼に応える =⽬的を叶えるストーリー
1. 顧客検索機能
2. 顧客詳細閲覧機能
3. 顧客情報編集...
©2020 Graat Inc.
ストーリーには粒度がある
◆粒度
l業務全体の概要
l全体の流れや繋がり
lある1つの⽬的を実現する流れ
l画⾯単位
l画⾯内の操作/処理
22
©2020 Graat Inc.
ストーリーには粒度がある
◆粒度
l業務全体の概要
l全体の流れや繋がり
lある1つの⽬的を実現する流れ
l画⾯単位
l画⾯内の操作/処理
23
◆設計成果物の例
l業務概要設計書
l業務フロー図/UXマップ
...
©2020 Graat Inc.
ウォーターフォール
◆⽬的:最初に決めたスコープ全体で機能を整合させる
l全体の整合を維持しながら⼀定のレベルを達成する
◆なるべく全体を整合するためのテクニック
l全体を段階的に細かくしていく
• 粒度を下げ...
©2020 Graat Inc.
アジャイル
◆⽬的:常に完成させながら機能を成⻑させる
lその時点で、ある⽬的が達成できるようにする
• ⽬的の満たし⽅
◆機能を安全に成⻑させるテクニック
lある⽬的レベルのストーリーを管理する
• その⽬的...
©2020 Graat Inc.
アジャイル
◆機能ではなく⽬的を管理
l常に⽬的は達成できる
l達成できるレベルを調整す
ることで規模を調整する
26
目的:AからBに素早く移動したい
機能:車
Making sense of MVP (Mi...
©2020 Graat Inc.
整理すると
◆ウォーターフォール
機能を全体的に整合させる
l全体を段階的に細かくしていく
lストーリーから機能に展開する
l機能を満たす
27
◆アジャイル
機能を段階的に成⻑させる
l個別ストーリーを管理す...
©2020 Graat Inc.
具体例…こんなことはありませんか?
◆機能の作り込みが終わらず、なかなか⽬的が達成できるも
のができあがらない
l機能単位で詳細化していくと、⼀つの機能を満たすまで作り込ん
でしまいがち
lアジャイルでは、機能...
©2020 Graat Inc.
サービスブループリントの活⽤
◆別紙で説明
lAdaptive Path社が公開している
「A Guide to Service Blueprinting.pdf」を使って簡単に解説
• ダウンロード元
– h...
©2020 Graat Inc.
エンタープライズアジャイルにおける
ウォーターフォールとのギャップと解決
品質
30
©2020 Graat Inc.
品質
◆最後に、品質に注⽬
31
観点 概要
マネジメント
⽬標を成功裏に完了させるための活動
計画⽴案、実際の活動、活動結果と計画とのズ
レの把握、調整などが含まれる
設計
利⽤者への価値、使い勝⼿、コストな...
©2020 Graat Inc.
品質
◆品質モデル
32
JISX0129-1:2003
ソフトウェア製品の品質−第1部:品質モデル
※現在はISO/IEC 25010に置換されている
©2020 Graat Inc.
品質
◆品質モデル
33
JISX0129-1:2003
ソフトウェア製品の品質−第1部:品質モデル
※現在はISO/IEC 25010に置換されている
内部品質要求は,製品の内部の視点から要求され
た品質の⽔...
©2020 Graat Inc.
品質
◆品質モデル
34
JISX0129-1:2003
ソフトウェア製品の品質−第1部:品質モデル
※現在はISO/IEC 25010に置換されている
内部品質要求は,製品の内部の視点から要求され
た品質の⽔...
©2020 Graat Inc.
ウォーターフォール
◆⽬的:リリース時点の品質を確保する
lリリースの瞬間の品質を最⾼に持っていく
◆品質を確保するためのテクニック
lフェーズごとに段階的に品質を確認していく
• 概要⽂書、詳細⽂書、実装
•...
©2020 Graat Inc.
アジャイル
◆⽬的:品質を維持し続ける
lリリースごとに⼀定の品質を保ち続ける
◆維持し続けるためのテクニック
l品質維持能⼒が必要
• 内部品質が重要になる
– 品質を継続的に評価する/しやすい仕組みをつくる...
©2020 Graat Inc.
アジャイル
◆維持し続けるには品質に対するチーム全体の責任が重要
l全ての⼯程で考える
• 始まりからデリバリー、それ以降も継続的にテストする
• あらゆるものを評価する
• 継続的にテストを実施する
l全員が...
©2020 Graat Inc.
整理すると
◆ウォーターフォール
リリース時点を最⾼にする
lフェーズごとに評価する
l⽬指せバグ0(外部品質)
l⼿順を評価する(プロセス品質)
38
◆アジャイル
⼀定レベルを維持し続ける
l繰り返し評価す...
©2020 Graat Inc.
具体例…こんなことありませんか?
◆ユニットテストをつくりすぎてしまう
l例えば、C1/C0カバレッジ100%を基準としてユニットテストをつ
くってしまうと、変更に弱くなる
l変更前提のアジャイルでは、ユニット...
©2020 Graat Inc.
具体例…こんなことありませんか?
◆スプリントを繰り返すごとにテストケースが膨れ上がる
l⼀度やったテストが、以降のリリースでNGになることは許されな
い!というウォーターフォール寄りの考え⽅で積み上げてしまう...
©2020 Graat Inc.
具体例…こんなことはありませんか?
◆QAやテストチーム任せにしてしまい、負債が増えていく
l開発時には時間がなく簡単な動作チェックのみでリリースし、同時にテ
ストチームにテストを依頼
lテストチームではバグが...
©2020 Graat Inc.
継続的にテストを実施する
◆Continuous Testing in DevOps…
42
https://danashby.co.uk/2016/10/19/continuous-testing-in-de...
©2020 Graat Inc.
継続的にテストを実施する
◆Shifting left & right in our continuous world
43
https://lisacrispin.com/2020/11/01/shiftin...
©2020 Graat Inc.
エンタープライズアジャイルにおける
ウォーターフォールとのギャップと解決
まとめ
44
©2020 Graat Inc.
マネージメント
◆ウォーターフォール
最初に決めたことを変えない
l⻑期の計画を作る
l計画と実績のズレを把握する
lズレを様々な⽅法で調整し、ス
コープを変えないようにする
45
◆アジャイル
状況に応じて安...
©2020 Graat Inc.
設計
◆ウォーターフォール
機能を全体的に整合させる
l全体を段階的に細かくしていく
lストーリーから機能に展開する
l機能を満たす
46
◆アジャイル
機能を段階的に成⻑させる
l個別ストーリーを管理する
l...
©2020 Graat Inc.
品質
◆ウォーターフォール
リリース時点を最⾼にする
lフェーズごとに評価する
l⽬指せバグ0(外部品質)
l⼿順を評価する(プロセス品質)
47
◆アジャイル
⼀定レベルを維持し続ける
l繰り返し評価する
l...
©2020 Graat Inc.
◆アジャイル
何サイクルも回す前提の仕組み
まとめ
48
実装
提供
利⽤者
設計
実装
提供
利⽤者
設計
◆ウォーターフォール
1サイクル回す前提の仕組み
マネジメント:
最初に決めたことを
変えない
品質...
©2020 Graat Inc.
まとめ
◆ギャップが起きるとき
l何サイクルも回して試⾏錯誤するはずなのに、
• 最初に決めたことを変えないようにする
• 機能の全体的な整合性を意識して、全部を設計をする
• リリース直前のテストだけで品質を...
©2020 Graat Inc.
CONFIDENTIAL
l 本⽂書は、グロース・アーキテクチャ&チームス株式会社が著作権その他の権利を有する営業秘密(含サプライヤー等第三者が権利を有するもの)です。
l 当社の許可なく複製し利⽤すること、ま...
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
What to Upload to SlideShare
Next
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

Share

エンタープライズアジャイルにおける ウォーターフォールとのギャップと解決

Download to read offline

2020/11/20に行われたエンタープライズアジャイル勉強会での講演資料です。

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

エンタープライズアジャイルにおける ウォーターフォールとのギャップと解決

  1. 1. ©2020 Graat Inc. エンタープライズアジャイルにおける ウォーターフォールとのギャップと解決 グロース・アーキテクチャ&チームス株式会社 チームプロセス⽀援コンサルタント 常盤 ⾹央⾥ エンタープライズアジャイル勉強会2020年11⽉セミナー
  2. 2. ©2020 Graat Inc. 講演者 常盤 ⾹央⾥(ときわ かおり) ◆Graat(グラーツ) lグロース・アーキテクチャ&チームス株式会社 • チームプロセス⽀援コンサルタント • https://www.graat.co.jp ◆社外コミュニティ活動 lWACATE実⾏委員 https://wacate.jp/ • ソフトウェアテストの合宿形式勉強会 lSigSQAメンバー • これからの品質保証を考える 1
  3. 3. ©2020 Graat Inc. アジェンダ ◆いまどきの開発に必要なこと ◆マネジメント(に注⽬して⽐較) ◆設計(に注⽬して⽐較) ◆品質(に注⽬して⽐較) ◆まとめ 2
  4. 4. ©2020 Graat Inc. エンタープライズアジャイルにおける ウォーターフォールとのギャップと解決 いまどきの開発に必要なこと 3
  5. 5. ©2020 Graat Inc. いまどきの開発に必要なこと ◆システム全体の変更速度をあげていく lリードタイムを短く • 利⽤者からフィードバックを得て、その機能がリリースされるまでの期間 lリリースサイクルを早く • 次のリリースまでの期間 4 実装 提供 利⽤者 設計
  6. 6. ©2020 Graat Inc. ◆本⽇は、以下の3点に注⽬ 5 いまどきの開発に必要なこと 実装 提供 利⽤者 設計 2.設計 価値があるもの を作る 3.品質 価値を適切に 届ける1.マネジメント 全体の流れを、 管理する
  7. 7. ©2020 Graat Inc. いまどきの開発に必要なこと ◆以下の3点に注⽬して⽐較する 6 観点 概要 マネジメント ⽬標を成功裏に完了させるための活動 計画⽴案、実際の活動、活動結果と計画とのズ レの把握、調整などが含まれる 設計 利⽤者への価値、使い勝⼿、コストなどの兼ね 合いを考慮しながら、よりよい機能を定義する ための活動 品質 その機能が有している性質や特性のこと 品質の良し悪しを評価することで、その機能の 価値を測ることができる
  8. 8. ©2020 Graat Inc. エンタープライズアジャイルにおける ウォーターフォールとのギャップと解決 マネジメント 7
  9. 9. ©2020 Graat Inc. マネジメント ◆まずは、マネジメントに注⽬ 8 観点 概要 マネジメント ⽬標を成功裏に完了させるための活動 計画⽴案、実際の活動、活動結果と計画とのズ レの把握、調整などが含まれる 設計 利⽤者への価値、使い勝⼿、コストなどの兼ね 合いを考慮しながら、よりよい機能を定義する ための活動 品質 その機能が有している性質や特性のこと 品質の良し悪しを評価することで、その機能の 価値を測ることができる
  10. 10. ©2020 Graat Inc. 監視・コントロール マネジメントの構成要素 ◆PMBOK l基本的なプロセス • 計画 • 実⾏ • 監視・コントロール –監視:計画と実⾏のズレの確認 –コントロール:調整 9 計画 実⾏ ⽴ち上げ 終結
  11. 11. ©2020 Graat Inc. 何を可変にしていますか? ◆調整するのは何か? ◆スコープ = 実現すべき機能群(範囲)のこと 10 プロジェクトの形式 スコープ 期⽇ 予算 すべてを固定(⾮推奨) 固定 固定 固定 スコープと期⽇を固定 (⾮推奨) 固定 固定 可変 スコープを固定 固定 可変 固定(実際 には違う) 期⽇を固定 可変 固定 固定 Kenneth S. Rubin著.『エッセンシャルスクラム』. 翔泳社,2014年,p.295
  12. 12. ©2020 Graat Inc. ウォーターフォール ◆⽬的:最初に決めたスコープを、なるべく変えない l全体のスコープを定め、それを実現する期⽇と予算を決める ◆なるべく変えないためのテクニック l進捗を管理し、計画とのズレを把握する • 個別の管理は⽇々。全体の進捗はフェーズを利⽤ lズレに対して様々な調整⽅法を⽤意する • バッファ→ 期⽇と予算→(最終⼿段)スコープ 11
  13. 13. ©2020 Graat Inc. アジャイル ◆⽬的:状況に応じてスコープを安全に変えていく l計画と実⾏を⼩さく繰り返し、その度にスコープを決める • ⼩さく繰り返す単位 = スプリント ◆安全に変えるためのテクニック l調整はスコープ(スプリント単位の計画)のみ • 期⽇(スプリント期間)と予算(チーム⼈数)を固定にする • スプリントの最終成果物だけを評価する lスプリントの計画精度を⾼める • 詳細次ページ 12
  14. 14. ©2020 Graat Inc. アジャイル ◆安全に変えるにはスプリントの計画精度が重要 l完成している機能の現状を正しく把握する • 動いているものだけを評価する(設計書では正しく把握できない) • 進捗率のような曖昧な指標は使わない(完成度80%問題) • スコープよりも期⽇優先で棚卸する l計画の⾒積もり精度を⾼める • ⾒積もりができない(=不明瞭な点がある)機能は開発対象にしない • 期⽇とチームを固定化することで経験値を溜めやすくする 13
  15. 15. ©2020 Graat Inc. 整理すると ◆ウォーターフォール 最初に決めたことを変えない l⻑期の計画を作る l計画と実績のズレを把握する lズレを様々な⽅法で調整し、ス コープを変えないようにする 14 ◆アジャイル 状況に応じて安全に変える lいまの優先順位で⼩さく計画 lその計画を期⽇優先で達成する l次の計画時点の優先順位で再計画 することでスコープを変える
  16. 16. ©2020 Graat Inc. よくある誤解 ◆ウォーターフォールの⽅が管理が厳密? lアジャイルの⽅が厳密 • 計画が⼩さいため、その中で厳守する必要がある lウォーターフォールは「フェーズで辻褄があえばいい」 • 全てを⾒積もれないことを前提にしている 15
  17. 17. ©2020 Graat Inc. こんなことありませんか? ◆全体スコープが固定化されているのにアジャイル l全体スコープが固定化されている場合、ウォーターフォール的に ズレの確認をしないと調整がしにくくなる lアジャイルだと全体のズレを確認しにくい、バッファなしで実⾏ するということから破綻しやすい 16
  18. 18. ©2020 Graat Inc. 相互の活⽤例 ◆ウォーターフォールにおけるテスト⼯程 l期間と⼈数を固定化して対応することが⼀般的 ◆アジャイルにおける全体⾒積もり lリリースプランニング 17
  19. 19. ©2020 Graat Inc. 共通するテクニック ◆技術的リスクを下げる lPoCやプロトタイピング lアジャイルであればスパイク ◆仕様的リスクを下げる l設計書やビジネスルールの⽂書 • ⽂書で確認して意味があるものは、事前に⽂書で確認すべき 18
  20. 20. ©2020 Graat Inc. エンタープライズアジャイルにおける ウォーターフォールとのギャップと解決 設計 19
  21. 21. ©2020 Graat Inc. 設計 ◆次に、設計に注⽬ 20 観点 概要 マネジメント ⽬標を成功裏に完了させるための活動 計画⽴案、実際の活動、活動結果と計画とのズ レの把握、調整などが含まれる 設計 利⽤者への価値、使い勝⼿、コストなどの兼ね 合いを考慮しながら、よりよい機能を定義する ための活動 品質 その機能が有している性質や特性のこと 品質の良し悪しを評価することで、その機能の 価値を測ることができる
  22. 22. ©2020 Graat Inc. ユーザーと機能 ◆ユーザーは複数の機能を使う l⽬的を達成するためには複数の機能を使う l顧客からの住所変更依頼に応える =⽬的を叶えるストーリー 1. 顧客検索機能 2. 顧客詳細閲覧機能 3. 顧客情報編集機能 21 システムの機能 利用者の使い方
  23. 23. ©2020 Graat Inc. ストーリーには粒度がある ◆粒度 l業務全体の概要 l全体の流れや繋がり lある1つの⽬的を実現する流れ l画⾯単位 l画⾯内の操作/処理 22
  24. 24. ©2020 Graat Inc. ストーリーには粒度がある ◆粒度 l業務全体の概要 l全体の流れや繋がり lある1つの⽬的を実現する流れ l画⾯単位 l画⾯内の操作/処理 23 ◆設計成果物の例 l業務概要設計書 l業務フロー図/UXマップ l画⾯遷移図/サービスブループ リント l画⾯設計書 l詳細設計書
  25. 25. ©2020 Graat Inc. ウォーターフォール ◆⽬的:最初に決めたスコープ全体で機能を整合させる l全体の整合を維持しながら⼀定のレベルを達成する ◆なるべく全体を整合するためのテクニック l全体を段階的に細かくしていく • 粒度を下げていく l業務フロー→外部設計→内部設計の順に進める 24
  26. 26. ©2020 Graat Inc. アジャイル ◆⽬的:常に完成させながら機能を成⻑させる lその時点で、ある⽬的が達成できるようにする • ⽬的の満たし⽅ ◆機能を安全に成⻑させるテクニック lある⽬的レベルのストーリーを管理する • その⽬的を達成させるかどうかで優先順位を判断する 25
  27. 27. ©2020 Graat Inc. アジャイル ◆機能ではなく⽬的を管理 l常に⽬的は達成できる l達成できるレベルを調整す ることで規模を調整する 26 目的:AからBに素早く移動したい 機能:車 Making sense of MVP (Minimum Viable Product) ‒ and why I prefer Earliest Testable/Usable/Lovable https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp
  28. 28. ©2020 Graat Inc. 整理すると ◆ウォーターフォール 機能を全体的に整合させる l全体を段階的に細かくしていく lストーリーから機能に展開する l機能を満たす 27 ◆アジャイル 機能を段階的に成⻑させる l個別ストーリーを管理する lストーリーから機能に展開する l⽬的達成の満⾜度を段階的に満た していく
  29. 29. ©2020 Graat Inc. 具体例…こんなことはありませんか? ◆機能の作り込みが終わらず、なかなか⽬的が達成できるも のができあがらない l機能単位で詳細化していくと、⼀つの機能を満たすまで作り込ん でしまいがち lアジャイルでは、機能を横断するストーリーの単位で、⼀つの⽬ 的を満たすように作り込んでいく⽅が良い • 例えば、サービスブループリントからPBIを切り出す – 詳細次ページ 28
  30. 30. ©2020 Graat Inc. サービスブループリントの活⽤ ◆別紙で説明 lAdaptive Path社が公開している 「A Guide to Service Blueprinting.pdf」を使って簡単に解説 • ダウンロード元 – https://medium.com/capitalonedesign/download-our-guide-to-service- blueprinting-d70bb2717ddf 29
  31. 31. ©2020 Graat Inc. エンタープライズアジャイルにおける ウォーターフォールとのギャップと解決 品質 30
  32. 32. ©2020 Graat Inc. 品質 ◆最後に、品質に注⽬ 31 観点 概要 マネジメント ⽬標を成功裏に完了させるための活動 計画⽴案、実際の活動、活動結果と計画とのズ レの把握、調整などが含まれる 設計 利⽤者への価値、使い勝⼿、コストなどの兼ね 合いを考慮しながら、よりよい機能を定義する ための活動 品質 その機能が有している性質や特性のこと 品質の良し悪しを評価することで、その機能の 価値を測ることができる
  33. 33. ©2020 Graat Inc. 品質 ◆品質モデル 32 JISX0129-1:2003 ソフトウェア製品の品質−第1部:品質モデル ※現在はISO/IEC 25010に置換されている
  34. 34. ©2020 Graat Inc. 品質 ◆品質モデル 33 JISX0129-1:2003 ソフトウェア製品の品質−第1部:品質モデル ※現在はISO/IEC 25010に置換されている 内部品質要求は,製品の内部の視点から要求され た品質の⽔準を仕様化する。内部品質要求は,中 間的な製品の特徴を仕様化するために利⽤する。 中間的な製品は,静的モデル及び動的モデル,そ の他の⽂書及びソースコードを含むことができる。
  35. 35. ©2020 Graat Inc. 品質 ◆品質モデル 34 JISX0129-1:2003 ソフトウェア製品の品質−第1部:品質モデル ※現在はISO/IEC 25010に置換されている 内部品質要求は,製品の内部の視点から要求され た品質の⽔準を仕様化する。内部品質要求は,中 間的な製品の特徴を仕様化するために利⽤する。 中間的な製品は,静的モデル及び動的モデル,そ の他の⽂書及びソースコードを含むことができる。 外部品質は,外部の視点から⾒たソフトウェア製 品の特性の全体である。外部品質は,ソフトウェ アが実⾏されるときの品質であり,通常は,外部 測定法を利⽤して摸擬データを⽤いた摸擬環境で の試験中に測定及び評価する。
  36. 36. ©2020 Graat Inc. ウォーターフォール ◆⽬的:リリース時点の品質を確保する lリリースの瞬間の品質を最⾼に持っていく ◆品質を確保するためのテクニック lフェーズごとに段階的に品質を確認していく • 概要⽂書、詳細⽂書、実装 • フェーズ毎のレビュー、フェーズゲートでのチェック lプロセス品質と外部品質を重視する • 機能しているか?が重要 • 最終的にリリースまでに重⼤バグを0にする 35
  37. 37. ©2020 Graat Inc. アジャイル ◆⽬的:品質を維持し続ける lリリースごとに⼀定の品質を保ち続ける ◆維持し続けるためのテクニック l品質維持能⼒が必要 • 内部品質が重要になる – 品質を継続的に評価する/しやすい仕組みをつくる l利⽤時の品質を重視する • 実装後ではなく、要件の段階から「利⽤時の品質」を考慮する 36
  38. 38. ©2020 Graat Inc. アジャイル ◆維持し続けるには品質に対するチーム全体の責任が重要 l全ての⼯程で考える • 始まりからデリバリー、それ以降も継続的にテストする • あらゆるものを評価する • 継続的にテストを実施する l全員が関わる • 開発者⾃⾝も取り組む必要があり、QAやテストチームだけでは実現できない • 協調的なテストを実施する 37
  39. 39. ©2020 Graat Inc. 整理すると ◆ウォーターフォール リリース時点を最⾼にする lフェーズごとに評価する l⽬指せバグ0(外部品質) l⼿順を評価する(プロセス品質) 38 ◆アジャイル ⼀定レベルを維持し続ける l繰り返し評価する l評価を仕組みにする(内部品質) lビジネス成果を評価する(利⽤時 の品質)
  40. 40. ©2020 Graat Inc. 具体例…こんなことありませんか? ◆ユニットテストをつくりすぎてしまう l例えば、C1/C0カバレッジ100%を基準としてユニットテストをつ くってしまうと、変更に弱くなる l変更前提のアジャイルでは、ユニットテストの作りすぎが、結果 的に内部品質の低下につながっていく lアジャイルでは、ユニットテストを適度な量に抑えることも⼤事 39
  41. 41. ©2020 Graat Inc. 具体例…こんなことありませんか? ◆スプリントを繰り返すごとにテストケースが膨れ上がる l⼀度やったテストが、以降のリリースでNGになることは許されな い!というウォーターフォール寄りの考え⽅で積み上げてしまう lアジャイルでは、利⽤時の品質に着⽬し、「仕様通りかどうか? 」よりも「ビジネス的にNGじゃないか?」をテストする 40
  42. 42. ©2020 Graat Inc. 具体例…こんなことはありませんか? ◆QAやテストチーム任せにしてしまい、負債が増えていく l開発時には時間がなく簡単な動作チェックのみでリリースし、同時にテ ストチームにテストを依頼 lテストチームではバグが⼤量に⾒つかり、ユーザーからも⼤量の問い合 わせが来る lそのころ開発側は次のアイテムの開発に移っていて、なかなかバグが改 修されず、どんどん溜まっていく l過去のスプリントで作ったものの改修になるため、対応に時間がかかる (思い出す時間や、その後のスプリントで⼿を⼊れた個所との整合性確 保など) 41
  43. 43. ©2020 Graat Inc. 継続的にテストを実施する ◆Continuous Testing in DevOps… 42 https://danashby.co.uk/2016/10/19/continuous-testing-in-devops/
  44. 44. ©2020 Graat Inc. 継続的にテストを実施する ◆Shifting left & right in our continuous world 43 https://lisacrispin.com/2020/11/01/shifting-left-right-in-our-continuous-world/
  45. 45. ©2020 Graat Inc. エンタープライズアジャイルにおける ウォーターフォールとのギャップと解決 まとめ 44
  46. 46. ©2020 Graat Inc. マネージメント ◆ウォーターフォール 最初に決めたことを変えない l⻑期の計画を作る l計画と実績のズレを把握する lズレを様々な⽅法で調整し、ス コープを変えないようにする 45 ◆アジャイル 状況に応じて安全に変える lいまの優先順位で⼩さく計画 lその計画を期⽇優先で達成する l次の計画時点の優先順位で再計画 することでスコープを変える
  47. 47. ©2020 Graat Inc. 設計 ◆ウォーターフォール 機能を全体的に整合させる l全体を段階的に細かくしていく lストーリーから機能に展開する l機能を満たす 46 ◆アジャイル 機能を段階的に成⻑させる l個別ストーリーを管理する lストーリーから機能に展開する l⽬的達成の満⾜度を段階的に満た していく
  48. 48. ©2020 Graat Inc. 品質 ◆ウォーターフォール リリース時点を最⾼にする lフェーズごとに評価する l⽬指せバグ0(外部品質) l⼿順を評価する(プロセス品質) 47 ◆アジャイル ⼀定レベルを維持し続ける l繰り返し評価する l評価を仕組みにする(内部品質) lビジネス成果を評価する(利⽤時 の品質)
  49. 49. ©2020 Graat Inc. ◆アジャイル 何サイクルも回す前提の仕組み まとめ 48 実装 提供 利⽤者 設計 実装 提供 利⽤者 設計 ◆ウォーターフォール 1サイクル回す前提の仕組み マネジメント: 最初に決めたことを 変えない 品質:リリース時点を最高にする 設計:機能を全体的に整合させる マネジメント: 状況に応じて 安全に変える 品質:一定レベルを維持し続ける 設計:機能を段階的に成長させる
  50. 50. ©2020 Graat Inc. まとめ ◆ギャップが起きるとき l何サイクルも回して試⾏錯誤するはずなのに、 • 最初に決めたことを変えないようにする • 機能の全体的な整合性を意識して、全部を設計をする • リリース直前のテストだけで品質を確保しようとする lエンタープライズアジャイルでは、メンバーもステークホルダー もウォーターフォール慣れしているためギャップが起きる lアジャイルを導⼊する場合、その前提や特性を理解し、取り組み を⾏う必要がある 49
  51. 51. ©2020 Graat Inc. CONFIDENTIAL l 本⽂書は、グロース・アーキテクチャ&チームス株式会社が著作権その他の権利を有する営業秘密(含サプライヤー等第三者が権利を有するもの)です。 l 当社の許可なく複製し利⽤すること、また漏洩することは「著作権法」「不正競争防⽌法」によって禁じられております。 l 本資料内の社名・製品名は各社の登録商標です。

2020/11/20に行われたエンタープライズアジャイル勉強会での講演資料です。

Views

Total views

425

On Slideshare

0

From embeds

0

Number of embeds

118

Actions

Downloads

12

Shares

0

Comments

0

Likes

0

×