スクラム開発に初めて飛び込んでみた見習い QA の話
こんにちは!kintone フロントエンド刷新プロジェクト(通称フロリア)の Mira チーム にて QA エンジニアをしているはば丸と申します。
この記事では他部署から異動して初めてスクラム開発に参加した見習い QA が体験したことや感じたことを紹介したいと思います。
サイボウズのフロントエンド開発に興味がある方に、チームの雰囲気が伝われば幸いです。
目次
スクラム開発って何?
スクラム公式ガイド には、
スクラムとは、複雑な問題に対応する適応型のソリューションを通じて、⼈々、チーム、組織が価値を⽣み出すための軽量級フレームワークである。
と定義されています。おぉ、なんだか凄そうです。
簡単に⾔えば、スクラムとは次の環境を促進するためにスクラムマスターを必要とするものである。
- プロダクトオーナーは、複雑な問題に対応するための作業をプロダクトバックログに並べる。
- スクラムチームは、スプリントで選択した作業を価値のインクリメントに変える。
- スクラムチームとステークホルダーは、結果を検査して、次のスプリントに向けて調整する。
- 繰り返す
いくつかスクラム用語が出てきたのでまとめてみます。公式ガイド内には各用語の定義が詳しく記載されています。また 弊社シニアスクラムマスターの記事 も参考になりますので合わせて参照ください。
スクラムチームには2人の重要人物がいます。チームの方向性を決めるプロダクトオーナーと、チームを健全に保つスクラムマスターです。
またスプリントとは開発工程における期間の単位であり、計画・開発・日次見直し・レビュー・調整を含んだ一定期間の区切りです。1ヶ月以下に設定されることが推奨され Mira チームでは2週間にしています。
1 スプリントは次のような流れで進みます。
- プロダクトオーナーが目標達成に向けたタスクを並べる(プランニング)
- それぞれのメンバーにタスクを割り振り取り組む
- 目標を達成出来たか全員で確認(レビュー)して調整し、次のスプリントに進む
このスプリントの繰り返しをスクラムマスターがサポートします。
カンバン方式な部署から異動して感じたこと
私は元々別部署であるインフラチームにいたのですが、そこでは基本的にカンバン方式で仕事を進めてきました。例えば機材故障に対処するための入れ替え作業や他チームからの依頼対応など、積まれたタスクを期限内にいかに速やかに終わらせるかを考えていました。
スクラム開発ではスプリントレビューで目標を達成出来たかが明確になります。うまくいかなかったスプリントでは、何が起きたかチームで振り返り、NextAction の設定が行われます。例えば、「技術的に不確定要素が多いタスクをスプリントに投入してしまい、予想以上に時間を取られてスプリントの目標が達成できなかった」といった振り返りがあった場合、次回から「不確定要素が大きいタスクに関しては時間を決めてスパイク(事前調査)として扱う」といった Action が設定されます。
このように自分達でスプリントの目標を決め頻繁に振り返り改善していくスピード感にとても驚きました。
またスプリント毎に少人数でのミーティングが開かれるので新人の私でも発言しやすい雰囲気があり、参加してからあっという間にチームに溶け込むことが出来ました。
新人に優しいタスクピックアップ制度
Mira チームは スウォーミング を取り入れています。これは優先度の高いタスクを割り当てられたメンバーがキャプテンとなって、何か困ったことがあったらチームメンバーを招集できる権利を持つ仕組みで「タスクピックアップ制度」と呼んで実践しています。
この制度はリンク先の記事にもあるように開発実績を安定させるために導入したものですが、別の用途でも活用されています。例えば新しくメンバーを受け入れるための準備タスクや、新しく入ったメンバーがそれまで経験の無いタスクに挑戦する時に、そのタスクの優先順位を意図的に高めてキャプテンを渡すことがあります。
このやり方は短期的には開発速度向上に結び付かないかもしれません。しかしチームを健全に発展させ将来のチーム開発力を向上させるための良い投資になっているようです。
実際に新しいメンバーがこの制度を活用し、熟練エンジニアの協力を得てタスクを進めていく様子を何度も目撃しました。
QA がスクラムチームに参加すると良いこと
部署によっては QA がスクラムチームに入らず、開発担当と品質保証担当が明確に分けられているところもあるようです。取り組む課題の種類によって最適なチーム構成は変わっていくので一概には言えませんが、Mira チームにおいては QA がスクラムに参加して良かったことがありました。
それは、スプリントの目標やそれを決めた背景を把握しながら試験を進められることです。
スプリントの目標はその年度の全体目標や他チームの進捗の兼ね合いなどを考慮して、メンバーと話し合いながら最終的にプロダクトオーナーが決定します。開発と品質保証が分離しているとなぜチームがその目標を掲げていて、なぜ各タスクの試験を言われた期限までに完了させる必要があるのかが分からなくなります。
前提とされていた背景状況が変化しタスクの優先度が変わっていても、柔軟に試験作業の分担を変えることは難しいでしょう。
それに対して Mira では日々のミーティングに QA が深く参加するので、背景や進捗状況などを常に把握しながら作業に取り組みます。優先すべきタスクがどれかは自然と決まりますし、状況が変わればその都度担当者と話し合って仕事の進め方を決められます。
何より自分が担当した機能の開発が目標期間内に完了した時に、チームのみんなと一緒に喜べる環境は働きがいがありました。
終わりに
最後まで読んで頂きありがとう御座いました。今回は初めてスクラム開発に参加した際に体験したことや感じたことを紹介してみました。
スクラム開発に関する更に詳しい情報はスクラムカテゴリの他の記事にも記載されていますので是非ご覧ください(私も絶賛勉強中です)。
サイボウズでは QA エンジニアを募集しています。
皆様のエントリーをお待ちしております!
QA エンジニアキャリア採用 募集要項 | 採用情報 | サイボウズ株式会社