8.7K Views
May 15, 23
スライド概要
NINNO Tech Fest #1 SoftwareTesting & LT大会 アジャイルとは切羽詰まった時である ではその時に QAエンジニアはどう動くのか ウイングアーク1st QAエンジニア 渡邊 大輔
Agenda 今回お話しすること 00
00 今回お話しすること 01:アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 疑問 02:アジャイルになっていることが大事 03:アジャイルになっている時は、切羽詰まっている時 04:切羽詰まれば、アジャイルなシステム開発になる どうすれば 身近な例 05:アジャイルになるためのQAエンジニアの動き 06:まとめ 活かし方 3
Agile Zero アジャイルでやってます!と 自信を持って言える人、0人説 01
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO アジャイルの目的とは、 チームメンバーが素早く(アジャイル)動き、 動くソフトウェアを顧客に提供(リリース)することです。 アジャイルソフトウェア開発宣言 Agile = 素早く https://agilemanifesto.org/iso/ja/manifesto.html 5
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO アジャイル開発をしています!というチームに どのようなことを行っていますか?の質問に対して、 良くある回答を2つ抜粋します。 スクラム = アジャイルが一般化 https://www.fujitsu.com/jp/group/fst/about/resources/featurestories/about-agile-02.html 6
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 良くある回答1: スクラム手法の1つである 毎朝にデイリースクラムを行っています! 7
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【行っていること】 デイリースクラムで行うことは、 毎朝に、チームメンバーで困っていることを共有します。 困っていることありますか? 9:00 8
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【起こったこと】 午後になりました。 あるメンバーが、相談したいことが出てきました。 相談したいな… 15:00 9
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【起こったこと】 そのメンバーは、今日も残り3時間か…、と 明日のデイリースクラムで聞けばよい!と判断しました。 明日でいいか 15:00 18:00 10
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【考えたいこと】 この判断は正しいでしょうか。 11
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【危ないこと】 デイリースクラムがあったから、 次の日の朝に相談と、判断をしたのではないでしょうか。 12
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【危ないこと】 デイリースクラムがなければ、 その日のうちに素早く(アジャイル)相談ができたのではないでしょうか。 聞くタイミングは今! 15:00 13
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【危ないこと】 相談する内容によりけりですが、1人の判断は危険です。 人は、爆弾を抱えてしまうと、隠してしまいます。 明日でいいや 隠そう… 解消方法は、05:アジャイルになるためのQAエンジニアの動き でお話しします。 14
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 良くある回答2: スクラム手法の1つである 進捗管理はカンバンを使っています! 15
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【行っていること】 カンバンでは、 進捗をやること、やっていること、やったことの列で管理します。 やること やっていること 機能D 機能A 次、機能A やります 今、機能D やっています DEV(開発者) やったと 機能W 機能Z 16
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【起こったこと】 QAエンジニアがチームメンバーに加わりました。 どの機能がテストできるのかを区別するために、実装中とテスト中にわけました。 DEVが実装中 QAがテスト中 QAがテスト済 NEW! DEV QA 17
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【起こったこと】 実装が遅れ始めてきました。 実装中の列が渋滞して、テスト中の列が空き始めました。 DEVが実装中 機能A 機能D 機能W 機能Z DEV QAがテスト中 QA QAがテスト済 18
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【起こったこと】 DEVエンジニアが死にそうなのに、QAエンジニアは 私の領域外なので…と見て見ぬふりをします。 DEVが実装中 機能A 機能D 機能W 機能Z QAがテスト中 いや、私の領域 ここなので 助けて… DEV QAがテスト済 QA 19
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【考えたいこと】 これは正しい状況でしょうか。 20
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【危険なこと】 カンバンがあったから、 やることがロール(役割)で分断しました。 DEVが実装中 機能A 機能D 機能W 機能Z DEV QAがテスト中 QA QAがテスト済 21
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【危険なこと】 その結果、チームメンバーが増えたけど、 開発のスピードアップはしていないのでしょうか。 22
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO 【危険なこと】 カンバンがなければ、 待ち状態を無くして素早く(アジャイル)リリースできたのではないでしょうか。 そもそも、DEVとQAエンジニアでは、役割は違うでしょ?の疑問には、 05:アジャイルになるためのQAエンジニアの動き でお話しします。 23
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO スクラム デイリースクラム カンバン ↓ ↓ ↓ アジャイル 素早い動き 素早くリリース ↓ ↓ ↓ 目的達成 できていない できていない 24
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO あれ? スクラムでは、アジャイルの目的が達成できていません。 25
アジャイルでやってます!と自信を持って言える人、0人説 #NINNO ここに、スクラムやっているけど、 アジャイルに自信を持てない原因があるのではないでしょうか。 26
01 アジャイルでやってます!と自信を持って言える人、0人説 #NINNO では、どうすればよいか? 27
Don’t just Do Agile, Be Agile アジャイルに なっていることが大事 02
02 アジャイルになっていることが大事 #NINNO 先ほどの回答は、 いつの間にか、スクラムをやることが目的になっています。 29
02 アジャイルになっていることが大事 #NINNO スクラム = アジャイルではありません。 一旦、アジャイルを達成できない手段は、忘れましょう。 30
02 アジャイルになっていることが大事 #NINNO どのような時に、 人は、アジャイルになっているか?を 身近な例で考えてみます。 31
Be cornered アジャイルになっている時は、 切羽詰まっている時 03
03 アジャイルになっている時は、切羽詰まっている時 #NINNO 例えば、 朝寝坊をして、会社の大事な会議に遅刻しそうな時、 切羽詰まるのではないでしょうか。 33
03 アジャイルになっている時は、切羽詰まっている時 #NINNO 会議に間に合うという目的を達成するために 素早く頭で考えて、そして、動いているのではないでしょうか。 あ、これ遅刻するわ 34
アジャイルになっている時は、切羽詰まっている時 #NINNO 例えば、予定を変更します。 電車で会社に向かう予定だったけど、タクシーを使います。 35
03 アジャイルになっている時は、切羽詰まっている時 #NINNO 例えば、予定を削除します。 朝ごはんを食べる予定だったけど、食べません。 36
03 アジャイルになっている時は、切羽詰まっている時 #NINNO 何かしら、会社に着くための時間を短縮するために 本来やるべきことだったことと、異なることをするのではないでしょうか。 絶対に間に合わせる! 37
03 アジャイルになっている時は、切羽詰まっている時 #NINNO 人が、切羽詰まっている時が分かりました。 38
03 アジャイルになっている時は、切羽詰まっている時 #NINNO それでは、 システム開発に当てはめてみましょう。 39
Be cornered 切羽詰まれば、 アジャイルなシステム開発になる 04
04 切羽詰まれば、アジャイルなシステム開発になる #NINNO 朝寝坊の時 会社に着くための時間を短縮するためには ↓ ↓ システム開発の時 リリースするための時間を短縮する(素早く)には 41
04 切羽詰まれば、アジャイルなシステム開発になる #NINNO では、その状態になった原因は何でしょうか。 42
04 切羽詰まれば、アジャイルなシステム開発になる #NINNO 【朝寝坊をしたとき】 本来やる予定だったことと、異なることをするのではないでしょうか。 絶対に間に合わせる! 43
04 切羽詰まれば、アジャイルなシステム開発になる #NINNO 【システム開発の時】 本来やる予定だったことと、異なることをすれば良いのではないでしょうか。 本来やる予定だったことと、異なること 絶対に間に合わせる! リリース 44
04 切羽詰まれば、アジャイルなシステム開発になる #NINNO 【QAエンジニアのシステム開発の時】 本来やる予定だったことと、異なることをすれば良いのではないでしょうか。 QAエンジニア が 本来やる予定だったことと、異なること 絶対に間に合わせる! リリース 45
04 切羽詰まれば、アジャイルなシステム開発になる #NINNO 一般的なQAの認識は、「テストをする人」が広いのではないでしょうか。 ※テスト:テストケースを作ってテストを実施する DEVが実装中 機能A 機能D 機能W 機能Z DEV QAがテスト中 QA QAがテスト済 46
04 切羽詰まれば、アジャイルなシステム開発になる #NINNO アジャイルになるためには、本来やる予定だったことと異なることをします。 ロール(役割)の壁は、取っ払いましょう! DEVが実装中 機能A 機能D 機能W 機能Z DEV QA QAがテスト中 QAがテスト済 47
04 アジャイルになっている時は、切羽詰まっている時 #NINNO それでは、アジャイルになるための QAエンジニアの動き方を説明します。 48
Be QA engineer アジャイルになるための QAエンジニアの動き 05
05 アジャイルになるためのQAエンジニアの動き #NINNO 前半でお話ししたスクラムの危険なことを2つ解消します。 2. 設計書を作ってみよう 1. 夜も寝れない問題を考えみよう DEVが実装中 明日でいいや QAがテスト中 隠そう… 機能A 機能D 機能W 機能Z 嫌 助けて DEV QA 50
05 アジャイルになっている時は、切羽詰まっている時 #NINNO QAエンジニアの動き1: 夜も寝れない問題を考えみよう。 51
05 アジャイルになるためのQAエンジニアの動き #NINNO 夜も眠れなくなるような問題は何だろう?だけを話す場を設けます。 「気になるけど、みんな言わないから納得してるんだろうな…」 「発言すると、空気読めないやつと思われるな…やめとこ」を避けられます。 https://note.com/hiroki_hachisuka/n/ndbe49320e523 アジャイルのツール:インセプションデッキ 52
05 アジャイルになるためのQAエンジニアの動き #NINNO 【QAエンジニアのメリット】 QAエンジニアは、リスクを回避することも役割です。 リスクに対して、あらかじめ対策を立てることができます。 https://note.com/hiroki_hachisuka/n/ndbe49320e523 アジャイルのツール:インセプションデッキ 53
05 アジャイルになっている時は、切羽詰まっている時 #NINNO QAエンジニアの動き2: 設計書を作ってみよう。 54
05 アジャイルになるためのQAエンジニアの動き #NINNO 設計書と聞くと、形式ばったものになりがちです。 議事録やチャットログをまとめて、ラフ絵を作るだけでも仕様書です。 https://medium.com/wingarc/67595bb4ead1 アジャイルのツール:シフトレフトテスティング 55
05 アジャイルになるためのQAエンジニアの動き #NINNO 【QAエンジニアのメリット】 仕様書を作ることで、頭の整理ができます。 それにより、良いテストケースを作ることができます。 56
summary まとめ 06
06 まとめ #NINNO アジャイル = スクラム ではありません。 58
06 まとめ #NINNO アジャイルになるためには、切羽詰まる必要があります。 59
06 まとめ #NINNO それは、予定していないこと と 異なること をします。 60
06 まとめ #NINNO QAエンジニアであれば、 夜も寝れない問題を考えること と 設計書を作ること です。 61
06 まとめ #NINNO しかし、今まで異なること をするには勇気がいります。 62
06 まとめ #NINNO ですので、すぐにできそうな小さなこと(ベイビーステップ) を2つ提案させてもらいます。 63
06 まとめ #NINNO 1つ目、夜も寝れない問題を考えるだけの場をつくること 64
06 まとめ #NINNO メンバーの隣へいって「これ、危なそうなんですけどどう思います?」 と聞いてみてください。 「実は、これも…」と別の問題も話してくれるかもしれません。 65
06 まとめ #NINNO 2つ目、設計書を作ること 66
06 まとめ #NINNO 議事録を取ったり、チャットログを漁ってみてください。 議事録がなければ、 執るところから初めてみても良いかもしれません。 67
06 まとめ #NINNO 私は、今の発表のアジャイルの考え方で、 45分かかる… 実際のプロジェクトで、QAエンジニア(QAコーチ)として動きました。 その内容をJaSST’21Niigata(テストシンポジウム)で事例発表をしました。 来年委員長やります! 伊藤さん発表 https://speakerdeck.com/sadonosake/pin-zhi-wen-ti-karashimatutawhole-teamapurotitoagile-testingmaindosetutofalsegai-shan-wu-yu 渡邊の発表 http://www.jasst.jp/symposium/jasst21niigata/pdf/S5.pdf 68
end 以上
appendix #NINNO ⚫ https://pictogram2.com/ ⚫ http://jasst.jp/symposium/jasst21niigata/outline.html ⚫ https://agilemanifesto.org/iso/ja/manifesto.html ⚫ https://note.com/hiroki_hachisuka/n/ndbe49320e523 ⚫ https://speakerdeck.com/sadonosake/pin-zhi-wen-ti-karashi-matutawholeteamapurotitoagile-testingmaindosetutofalsegai-shan-wu-yu 70