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.
あじゃいる時代の品質保証
〜DevSQAの提案〜
自己紹介ー松永広明
1999年1990年 2000年
2004年
2008年
2011年
2014年
株式会社 豆蔵 シニアコンサルタント(2015年10月~)
1990年のキャリアスタートから、一貫して組込ソフトウェアの開
発に従事。
...
山中教授に似てると言われます
豆蔵のアジャイル関連サービス
アジャイルを
徹底フルサポート
アジャイル入門
「アジャイル開発ではなぜそうするのか」
なぜアジャイル開発である必要があるのか」
という点を徹底して解説
スクラムの基礎と実践
「実開発をイメージできる題材」 「約7...
本日のテーマ
アジャイルってなんだか流行ってるけど、
• 品質面はどうなの?
• 品質保証ってどうやるの?
• 品質保証部門(以下SQA)の関わり方は
どう変わるの?
ソフトウェア品質を取り巻く状況
1. ソフトウェアは他のどんな人工物よりも大きなビジネス上
の問題を起こしていると非難の的になっている。
2. ソフトウェア品質が低いことによる代償は、人類史上最も
高くついたもののひとつだと言われている。
3....
そんな中、アジャイルは
品質をどう捉えているのか
「品質」を探してみよう
© 2001, 上記の著者たちこの宣言は、この注意書きも含めた形で全文を含めることを条件に自由にコピーしてよい。
アジャイルソフトウェア開発宣言
© 2001, 上記の著者たちこの宣言は、この注意書きも含めた形で全文を含めることを条件に自由にコピーしてよい。
アジャイルソフトウェア開発宣言
あれっ?
アジャイル開発12の原則
 顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。
 要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、
お客様の競争力を引き上げます。
 動くソフトウェアを、...
アジャイル開発12の原則
 顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。
 要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、
お客様の競争力を引き上げます。
 動くソフトウェアを、...
!!!!
アジャイルには
品質は宣言されていない
...のか?
安心してください
アジャイルにも品質は宣言されています
ここらへんとか
ここらへんとかも
「動くソフトウェア」は
英語では
”Working software”
work【自動詞】
1.働く、作業[仕事・勉強]する、取り組む
2.勤めている
3.徐々に動く、努力して進む
4.正常に[正しく・目的通りに]機能[動作・稼働]する
5.〔テレビ・ラジオなどが〕つく
6.効く、効き目がある、役に立つ
7.うまく...
正常に機能して
ちゃんと役に立つ
つまり
品質が確保されている
動くソフトウェア
「正しく機能する」ソフトウェア
アジャイル宣言にも
品質は宣言されていた!
じゃあ、アジャイルにおける
SQAの役割は?
要件 設計 実装 テスト
SQAの出番
従来型開発の場合
Sprint Sprint Sprint Sprint
アジャイル開発の場合
SQAの出番
SQAはアジャイル時代に
おいても品質を監査し
品質基準が達成出来ていなけ
ればゲートを通れないよう
しっかり監視するのが仕事
SQAはアジャイル時代に
おいても品質を監査し
品質基準が達成出来ていなけ
ればゲートを通れないよう
しっかり監視するのが仕事
?
従来のSQAの役割
監査プロセス
品質
監視
独立性 懲罰
改善
指導
要求
ゲート
判定
確認
バグ直せ品質上げろ
仕様書よこせ
品
質
施
策
テストチェック
叱
責
注意
目
標
なんか上から目線
SQAは品質の門番か
ゲート通過を制限
すれば流れが滞る
せき止めるのではなくて
滑らかに流れるようにする
フィードバック
ここで
の話を
水槽の温度制御を考える
設定温度 制御部 ヒーター 水槽温度
外乱
(外気温)
センサー
設定温度 制御部 ヒーター 水槽温度
外乱
(外気温)
センサー
ヒーターの能力が低ければ
そもそも設定温度に
達することができない
設定温度 制御部 ヒーター 水槽温度
外乱
(外気温)
センサー
センサーの精度が低ければ
正しく電圧を制御できない
ヒーターの能力が低ければ
そもそも設定温度に
達することができない
設定温度 制御部 ヒーター 水槽温度
外乱
(外気温)
センサー
プロマネ
SQA
開発者
仕様変更
など
品質品質目標
ソフトウェア開発に当てはめると
ヒーターの能力とは
開発者のスキル
センサーの精度とは
正しく品質を知る能力
Dev SQA
滑らかにループを回すには、
ヒーター(Dev)とセンサー(SQA)
双方の協調が不可欠
開発部門、運用部門、品質保証部門のあいだの、統合、コミュ
ニケーション、コラボレーションを行うための一連のメソッドとシ
ステムである。これはまた、適切なソフトウェアとサービスによっ
てビジネスゴールを実現するためのミーティングにおいて、開発と
...
Wikipediaより
SQAもう入ってるし
Wikipediaより
DevSQAなんて提案するまでもなかった...
開発
テスト
Developer
Testerプロダクトバックログ
潜在的出荷可能
インクリメント(PSI)
開発
テスト
Developer
プロダクトバックログ
潜在的出荷可能
インクリメント(PSI)
Tester
SQA
アジャイル時代のSQA
見える化
品質モニター
チームの一員
連携
フィードバック
コラボレーション問題対私たち
生産性
改善
協調
解決
チームワーク シフトレフト金は来週返す
手伝おう
勉強会やろう
共有共通理解
CI
TDD
ファシリ
テ...
 プロジェクト関係者間のコラボレーションを加速し、
 チームをファシリテートし、
 チームの生産性、成果物の品質を改善する、
 チームのドクター。
アジャイル時代のSQA
 プロジェクト関係者間のコラボレーションを加速し、
 チームをファシリテートし、
 チームの生産性、成果物の品質を改善する、
 チームのドクター。
そういう人を、スクラムではなんていうんだっけ?
アジャイル時代のSQA
SQAエンジニアは
スクラムマスター
として働こう
たとえば生産性の改善
生産性って何?
たとえば生産性の改善
生産性って何?
たくさんコードを書くこと?
たとえば生産性の改善
生産性って何?
たくさんコードを書くこと?
バグだらけのコードをたくさん書いて
生産性が高いと言えますか?
たとえば生産性の改善
生産性って何?
たくさんコードを書くこと?
品質を確保せずして生産性の向上はない
バグだらけのコードをたくさん書いて
生産性が高いと言えますか?
まとめ
アジャイル宣言には品質も宣言されている
DevOpsにはSQAの役割も含まれている
アジャイル時代のSQAはスクラムマスターをやろう
以上、松永でした
Upcoming SlideShare
Loading in …5
×

あじゃいる時代の品質保証 ~DevSQAの提案~

8,699 views

Published on

Regional SCRUM GATHERING Tokyo 2016 で行ったセッションの資料です。 2016. 1. 19.

Published in: Software
  • Be the first to comment

あじゃいる時代の品質保証 ~DevSQAの提案~

  1. 1. あじゃいる時代の品質保証 〜DevSQAの提案〜
  2. 2. 自己紹介ー松永広明 1999年1990年 2000年 2004年 2008年 2011年 2014年 株式会社 豆蔵 シニアコンサルタント(2015年10月~) 1990年のキャリアスタートから、一貫して組込ソフトウェアの開 発に従事。 2011年ごろよりアジャイル開発を推進。 書籍:分かりやすいアジャイル開発の教科書(2012) レビュアー 資格:ScrumAlliance 認定Scrum Professional 認定Scrum Master
  3. 3. 山中教授に似てると言われます
  4. 4. 豆蔵のアジャイル関連サービス アジャイルを 徹底フルサポート アジャイル入門 「アジャイル開発ではなぜそうするのか」 なぜアジャイル開発である必要があるのか」 という点を徹底して解説 スクラムの基礎と実践 「実開発をイメージできる題材」 「約7割が演習による訓練」 実践をイメージし即実践できる 実践で学ぶテスト駆動開発 アジャイル開発の実践に必須のプログラミング手法 演習を主体とした研修を通じてテスト駆動開発を理解し、実践出来る アジャイル導入支援サービス 実際のプロジェクトをテーマにしたアクションラーニングにより、 アジャイル開発の導入から組織活動への浸透までをフルサポート。
  5. 5. 本日のテーマ アジャイルってなんだか流行ってるけど、 • 品質面はどうなの? • 品質保証ってどうやるの? • 品質保証部門(以下SQA)の関わり方は どう変わるの?
  6. 6. ソフトウェア品質を取り巻く状況 1. ソフトウェアは他のどんな人工物よりも大きなビジネス上 の問題を起こしていると非難の的になっている。 2. ソフトウェア品質が低いことによる代償は、人類史上最も 高くついたもののひとつだと言われている。 3. ソフトウェア関連の役員、管理職、技術者は、多くのCE Oたちに、「プロフェッショナル」というよりは、「必要 悪」だと捉えられている。 4. ソフトウェアの品質を改善することは、全ての産業にとっ てキーとなるトピックである。 Capers Jones 2013: http://namcookanalytics.com/wp-content/uploads/2013/10/SQA2013Long.pdf
  7. 7. そんな中、アジャイルは 品質をどう捉えているのか
  8. 8. 「品質」を探してみよう
  9. 9. © 2001, 上記の著者たちこの宣言は、この注意書きも含めた形で全文を含めることを条件に自由にコピーしてよい。 アジャイルソフトウェア開発宣言
  10. 10. © 2001, 上記の著者たちこの宣言は、この注意書きも含めた形で全文を含めることを条件に自由にコピーしてよい。 アジャイルソフトウェア開発宣言 あれっ?
  11. 11. アジャイル開発12の原則  顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。  要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、 お客様の競争力を引き上げます。  動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースしま す。  ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。  意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わ るまで彼らを信頼します。  情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすること です。  動くソフトウェアこそが進捗の最も重要な尺度です。  アジャイル・プロセスは持続可能な開発を促進します。一定のペースを継続的に維持でき るようにしなければなりません。  技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。  シンプルさ(ムダなく作れる量を最大限にすること)が本質です。  最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出されます。  チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分た ちのやり方を最適に調整します。
  12. 12. アジャイル開発12の原則  顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。  要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、 お客様の競争力を引き上げます。  動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースしま す。  ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。  意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わ るまで彼らを信頼します。  情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすること です。  動くソフトウェアこそが進捗の最も重要な尺度です。  アジャイル・プロセスは持続可能な開発を促進します。一定のペースを継続的に維持でき るようにしなければなりません。  技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。  シンプルさ(ムダなく作れる量を最大限にすること)が本質です。  最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出されます。  チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分た ちのやり方を最適に調整します。 あららっ!?
  13. 13. !!!! アジャイルには 品質は宣言されていない ...のか?
  14. 14. 安心してください アジャイルにも品質は宣言されています
  15. 15. ここらへんとか
  16. 16. ここらへんとかも
  17. 17. 「動くソフトウェア」は 英語では ”Working software”
  18. 18. work【自動詞】 1.働く、作業[仕事・勉強]する、取り組む 2.勤めている 3.徐々に動く、努力して進む 4.正常に[正しく・目的通りに]機能[動作・稼働]する 5.〔テレビ・ラジオなどが〕つく 6.効く、効き目がある、役に立つ 7.うまくいく、功を奏する、軌道に乗る 8.〔スケジュールの日時が人にとって〕都合がよい
  19. 19. 正常に機能して ちゃんと役に立つ つまり 品質が確保されている
  20. 20. 動くソフトウェア 「正しく機能する」ソフトウェア
  21. 21. アジャイル宣言にも 品質は宣言されていた!
  22. 22. じゃあ、アジャイルにおける SQAの役割は?
  23. 23. 要件 設計 実装 テスト SQAの出番 従来型開発の場合
  24. 24. Sprint Sprint Sprint Sprint アジャイル開発の場合 SQAの出番
  25. 25. SQAはアジャイル時代に おいても品質を監査し 品質基準が達成出来ていなけ ればゲートを通れないよう しっかり監視するのが仕事
  26. 26. SQAはアジャイル時代に おいても品質を監査し 品質基準が達成出来ていなけ ればゲートを通れないよう しっかり監視するのが仕事 ?
  27. 27. 従来のSQAの役割 監査プロセス 品質 監視 独立性 懲罰 改善 指導 要求 ゲート 判定 確認 バグ直せ品質上げろ 仕様書よこせ 品 質 施 策 テストチェック 叱 責 注意 目 標
  28. 28. なんか上から目線
  29. 29. SQAは品質の門番か
  30. 30. ゲート通過を制限 すれば流れが滞る
  31. 31. せき止めるのではなくて 滑らかに流れるようにする
  32. 32. フィードバック ここで の話を
  33. 33. 水槽の温度制御を考える
  34. 34. 設定温度 制御部 ヒーター 水槽温度 外乱 (外気温) センサー
  35. 35. 設定温度 制御部 ヒーター 水槽温度 外乱 (外気温) センサー ヒーターの能力が低ければ そもそも設定温度に 達することができない
  36. 36. 設定温度 制御部 ヒーター 水槽温度 外乱 (外気温) センサー センサーの精度が低ければ 正しく電圧を制御できない ヒーターの能力が低ければ そもそも設定温度に 達することができない
  37. 37. 設定温度 制御部 ヒーター 水槽温度 外乱 (外気温) センサー プロマネ SQA 開発者 仕様変更 など 品質品質目標 ソフトウェア開発に当てはめると
  38. 38. ヒーターの能力とは 開発者のスキル
  39. 39. センサーの精度とは 正しく品質を知る能力
  40. 40. Dev SQA 滑らかにループを回すには、 ヒーター(Dev)とセンサー(SQA) 双方の協調が不可欠
  41. 41. 開発部門、運用部門、品質保証部門のあいだの、統合、コミュ ニケーション、コラボレーションを行うための一連のメソッドとシ ステムである。これはまた、適切なソフトウェアとサービスによっ てビジネスゴールを実現するためのミーティングにおいて、開発と 運用の相互依存として理解されつつある。 DevOpsとは Wikipediaより
  42. 42. Wikipediaより
  43. 43. SQAもう入ってるし Wikipediaより
  44. 44. DevSQAなんて提案するまでもなかった...
  45. 45. 開発 テスト Developer Testerプロダクトバックログ 潜在的出荷可能 インクリメント(PSI)
  46. 46. 開発 テスト Developer プロダクトバックログ 潜在的出荷可能 インクリメント(PSI) Tester SQA
  47. 47. アジャイル時代のSQA 見える化 品質モニター チームの一員 連携 フィードバック コラボレーション問題対私たち 生産性 改善 協調 解決 チームワーク シフトレフト金は来週返す 手伝おう 勉強会やろう 共有共通理解 CI TDD ファシリ テート
  48. 48.  プロジェクト関係者間のコラボレーションを加速し、  チームをファシリテートし、  チームの生産性、成果物の品質を改善する、  チームのドクター。 アジャイル時代のSQA
  49. 49.  プロジェクト関係者間のコラボレーションを加速し、  チームをファシリテートし、  チームの生産性、成果物の品質を改善する、  チームのドクター。 そういう人を、スクラムではなんていうんだっけ? アジャイル時代のSQA
  50. 50. SQAエンジニアは スクラムマスター として働こう
  51. 51. たとえば生産性の改善 生産性って何?
  52. 52. たとえば生産性の改善 生産性って何? たくさんコードを書くこと?
  53. 53. たとえば生産性の改善 生産性って何? たくさんコードを書くこと? バグだらけのコードをたくさん書いて 生産性が高いと言えますか?
  54. 54. たとえば生産性の改善 生産性って何? たくさんコードを書くこと? 品質を確保せずして生産性の向上はない バグだらけのコードをたくさん書いて 生産性が高いと言えますか?
  55. 55. まとめ アジャイル宣言には品質も宣言されている DevOpsにはSQAの役割も含まれている アジャイル時代のSQAはスクラムマスターをやろう
  56. 56. 以上、松永でした

×