Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
あじゃいる時代の品質保証 〜DevSQAの提案〜
Search
HIROAKI MATSUNAGA
April 13, 2022
0
42
あじゃいる時代の品質保証 〜DevSQAの提案〜
Regional Scrum Gathering Tokyo 2016 講演資料
HIROAKI MATSUNAGA
April 13, 2022
Tweet
Share
More Decks by HIROAKI MATSUNAGA
See All by HIROAKI MATSUNAGA
Scrum Inc. 認定資格スクラムマスター研修のご案内
hiroaki_lsa
0
120
世界の変え方
hiroaki_lsa
0
14
ONE-AGILEの価値と原則
hiroaki_lsa
0
44
LSA CONSULTiNG 事業概要書
hiroaki_lsa
0
86
シン・コラボレーション ~ワークショップで体感するコラボレーションの"深"化~
hiroaki_lsa
0
57
ハードウェア+ソフトウエアの協調アジャイル開発
hiroaki_lsa
0
55
テスト自動化から始めるIoT時代の組込アジャイル開発
hiroaki_lsa
0
16
さあDX時代!アジャイルな組織への変革にどう取り組むべきか〜IBMの大規模アジャイルの取り組み〜
hiroaki_lsa
0
50
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
BBQ
matthewcrist
89
9.7k
Building Applications with DynamoDB
mza
95
6.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Transcript
あじゃいる時代の品質保証 〜DevSQAの提案〜
自己紹介ー松永広明 1999年 1990年 2000年 2004年 2008年 2011年 2014年 株式会社 豆蔵
シニアコンサルタント(2015年10月~) 1990年のキャリアスタートから、一貫して組込ソフトウェアの開 発に従事。 2011年ごろよりアジャイル開発を推進。 書籍:分かりやすいアジャイル開発の教科書(2012) レビュアー 資格:ScrumAlliance 認定Scrum Professional 認定Scrum Master
山中教授に似てると言われます
豆蔵のアジャイル関連サービス アジャイルを 徹底フルサポート アジャイル入門 「アジャイル開発ではなぜそうするのか」 なぜアジャイル開発である必要があるのか」 という点を徹底して解説 スクラムの基礎と実践 「実開発をイメージできる題材」 「約7割が演習による訓練」
実践をイメージし即実践できる 実践で学ぶテスト駆動開発 アジャイル開発の実践に必須のプログラミング手法 演習を主体とした研修を通じてテスト駆動開発を理解し、実践出来る アジャイル導入支援サービス 実際のプロジェクトをテーマにしたアクションラーニングにより、 アジャイル開発の導入から組織活動への浸透までをフルサポート。
本日のテーマ アジャイルってなんだか流行ってるけど、 • 品質面はどうなの? • 品質保証ってどうやるの? • 品質保証部門(以下SQA)の関わり方は どう変わるの?
ソフトウェア品質を取り巻く状況 1. ソフトウェアは他のどんな人工物よりも大きなビジネス上 の問題を起こしていると非難の的になっている。 2. ソフトウェア品質が低いことによる代償は、人類史上最も 高くついたもののひとつだと言われている。 3. ソフトウェア関連の役員、管理職、技術者は、多くのCE Oたちに、「プロフェッショナル」というよりは、「必要
悪」だと捉えられている。 4. ソフトウェアの品質を改善することは、全ての産業にとっ てキーとなるトピックである。 Capers Jones 2013: http://namcookanalytics.com/wp-content/uploads/2013/10/SQA2013Long.pdf
そんな中、アジャイルは 品質をどう捉えているのか
「品質」を探してみよう
© 2001, 上記の著者たちこの宣言は、この注意書きも含めた形で全文を含めることを条件に自由にコピーしてよい。 アジャイルソフトウェア開発宣言
© 2001, 上記の著者たちこの宣言は、この注意書きも含めた形で全文を含めることを条件に自由にコピーしてよい。 アジャイルソフトウェア開発宣言 あれっ?
アジャイル開発12の原則 顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。 要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、 お客様の競争力を引き上げます。 動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースしま す。
ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。 意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わ るまで彼らを信頼します。 情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすること です。 動くソフトウェアこそが進捗の最も重要な尺度です。 アジャイル・プロセスは持続可能な開発を促進します。一定のペースを継続的に維持でき るようにしなければなりません。 技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。 シンプルさ(ムダなく作れる量を最大限にすること)が本質です。 最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出されます。 チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分た ちのやり方を最適に調整します。
アジャイル開発12の原則 顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。 要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、 お客様の競争力を引き上げます。 動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースしま す。
ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。 意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わ るまで彼らを信頼します。 情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすること です。 動くソフトウェアこそが進捗の最も重要な尺度です。 アジャイル・プロセスは持続可能な開発を促進します。一定のペースを継続的に維持でき るようにしなければなりません。 技術的卓越性と優れた設計に対する不断の注意が機敏さを高めます。 シンプルさ(ムダなく作れる量を最大限にすること)が本質です。 最良のアーキテクチャ・要求・設計は、自己組織的なチームから生み出されます。 チームがもっと効率を高めることができるかを定期的に振り返り、それに基づいて自分た ちのやり方を最適に調整します。 あららっ!?
!!!! アジャイルには 品質は宣言されていない ...のか?
安心してください アジャイルにも品質は宣言されています
ここらへんとか
ここらへんとかも
「動くソフトウェア」は 英語では ”Working software”
work【自動詞】 1.働く、作業[仕事・勉強]する、取り組む 2.勤めている 3.徐々に動く、努力して進む 4.正常に[正しく・目的通りに]機能[動作・稼働]する 5.〔テレビ・ラジオなどが〕つく 6.効く、効き目がある、役に立つ 7.うまくいく、功を奏する、軌道に乗る 8.〔スケジュールの日時が人にとって〕都合がよい
正常に機能して ちゃんと役に立つ つまり 品質が確保されている
動くソフトウェア 「正しく機能する」ソフトウェア
アジャイル宣言にも 品質は宣言されていた!
じゃあ、アジャイルにおける SQAの役割は?
要件 設計 実装 テスト SQAの出番 従来型開発の場合
Sprint Sprint Sprint Sprint アジャイル開発の場合 SQAの出番
SQAはアジャイル時代に おいても品質を監査し 品質基準が達成出来ていなけ ればゲートを通れないよう しっかり監視するのが仕事
SQAはアジャイル時代に おいても品質を監査し 品質基準が達成出来ていなけ ればゲートを通れないよう しっかり監視するのが仕事 ?
従来のSQAの役割 監査 プロセス 品質 監視 独立性 懲罰 改善 指導 要求
ゲート 判定 確認 バグ直せ 品質上げろ 仕様書よこせ 品 質 施 策 テスト チェック 叱 責 注意 目 標
なんか上から目線
SQAは品質の門番か
ゲート通過を制限 すれば流れが滞る
せき止めるのではなくて 滑らかに流れるようにする
フィードバック ここで の話を
水槽の温度制御を考える
設定温度 制御部 ヒーター 水槽温度 外乱 (外気温) センサー
設定温度 制御部 ヒーター 水槽温度 外乱 (外気温) センサー ヒーターの能力が低ければ そもそも設定温度に 達することができない
設定温度 制御部 ヒーター 水槽温度 外乱 (外気温) センサー センサーの精度が低ければ 正しく電圧を制御できない ヒーターの能力が低ければ
そもそも設定温度に 達することができない
設定温度 制御部 ヒーター 水槽温度 外乱 (外気温) センサー プロマネ SQA 開発者
仕様変更 など 品質 品質目標 ソフトウェア開発に当てはめると
ヒーターの能力とは 開発者のスキル
センサーの精度とは 正しく品質を知る能力
Dev SQA 滑らかにループを回すには、 ヒーター(Dev)とセンサー(SQA) 双方の協調が不可欠
開発部門、運用部門、品質保証部門のあいだの、統合、コミュ ニケーション、コラボレーションを行うための一連のメソッドとシ ステムである。これはまた、適切なソフトウェアとサービスによっ てビジネスゴールを実現するためのミーティングにおいて、開発と 運用の相互依存として理解されつつある。 DevOpsとは Wikipediaより
Wikipediaより
SQAもう入ってるし Wikipediaより
DevSQAなんて提案するまでもなかった...
開発 テスト Developer Tester プロダクトバックログ 潜在的出荷可能 インクリメント(PSI)
開発 テスト Developer プロダクトバックログ 潜在的出荷可能 インクリメント(PSI) Tester SQA
アジャイル時代のSQA 見える化 品質モニター チームの一員 連携 フィードバック コラボレーション 問題対私たち 生産性 改善
協調 解決 チームワーク シフトレフト 金は来週返す 手伝おう 勉強会やろう 共有 共通理解 CI TDD ファシリ テート
プロジェクト関係者間のコラボレーションを加速し、 チームをファシリテートし、 チームの生産性、成果物の品質を改善する、 チームのドクター。 アジャイル時代のSQA
プロジェクト関係者間のコラボレーションを加速し、 チームをファシリテートし、 チームの生産性、成果物の品質を改善する、 チームのドクター。 そういう人を、スクラムではなんていうんだっけ? アジャイル時代のSQA
SQAエンジニアは スクラムマスター として働こう
たとえば生産性の改善 生産性って何?
たとえば生産性の改善 生産性って何? たくさんコードを書くこと?
たとえば生産性の改善 生産性って何? たくさんコードを書くこと? バグだらけのコードをたくさん書いて 生産性が高いと言えますか?
たとえば生産性の改善 生産性って何? たくさんコードを書くこと? 品質を確保せずして生産性の向上はない バグだらけのコードをたくさん書いて 生産性が高いと言えますか?
まとめ アジャイル宣言には品質も宣言されている DevOpsにはSQAの役割も含まれている アジャイル時代のSQAはスクラムマスターをやろう
以上、松永でした