Upgrade to Pro — share decks privately, control downloads, hide ads and more …

チーム バーサーカーズ 〜狂戦士になれと言われた僕らの、がむしゃら1日スプリント〜

35c967f46d1a70f36be363da373f2491?s=47 myshmeh
June 26, 2021

チーム バーサーカーズ 〜狂戦士になれと言われた僕らの、がむしゃら1日スプリント〜

人生初の開発現場は、6人のバックエンドチームがFAPI-CIBAという世界最先端の認証認可サーバー実装をしながら、モバイルアプリや銀行業務システムの開発まで担当する戦場でした———

毎日変わる要求と仕様。政治の絡む技術選定。立ち塞がる大量のRFC文書。

僕たちは、高速でアップデートするチームになる必要がありました。スプリント期間は、2週間から1日になり、モブプログラミングには、知識の新陳代謝が組み込まれました。肥大していく技術分野に追いつくために、勉強タスクを設けて学びを共有しました。

具体的な使いどころに関して、1日スプリントはプロダクトの方向性が定まっていない時に大変効果的でした。プロダクトオーナー側から細かいフィードバックが生まれ、プロダクト像がかたどられていくためです。モブプロは、新しい技術分野の実装時に、開発メンバー間の理解のキャッチボールを促した点で有用でした。

このセッションでは、そんな狂戦士の如く戦場を舞った、ぼくらの取り組みと考察を1日スプリント/モブプロ導入事例として共有します。

プロジェクトが始まったが、漠然とした課題解決方針のみで具体的な仕様はだれも言えない。。
誰も対象の技術分野の経験がない。。
これらの状況にある方にとって、日々の働き方のヒントになるような内容になっています。

35c967f46d1a70f36be363da373f2491?s=128

myshmeh

June 26, 2021
Tweet

Transcript

  1. チーム バーサーカーズ 狂戦士になれと言われた僕らの、がむしゃら1日スプリント

  2. 2020年夏

  3. 仕事をやめて、ヒモになろうと家事の腕を磨いていた

  4. エンジニアやってみない?

  5. よみがえる記憶 https://speakerdeck.com/takaking22/learning-and-unlearning-team

  6. コーディング好きだし、 やってみよう

  7. ふわっとしたプロダクト像

  8. 「ふわっと」とは - 何となくの解決したい問題はあるが、具体的な価値提供方法がない - 序盤から抽象的な価値提供で話が膨らみすぎている

  9. でも、なんとかリリースできた

  10. 1日スプリントで!

  11. チーム バーサーカーズ 狂戦士になれと言われた僕らの、がむしゃら1日スプリント

  12. - インディーゲーム開発 - プライバシースペシャリスト (CIPP/E) - ソフトウェアエンジニア みすみゆうき @myshmeh

  13. 今日はなしたいこと - 1日スプリントでバーサーカーズになるまでの試行錯誤 - 1日スプリントよりも大事なこと

  14. もくじ 1. 起:チーム、プロジェクト紹介 2. 承:1日スプリントしてみた 3. 転:HOW思考の罠 4. 結:まとめ

  15. - 5人 - ほぼバックエンド経験のみ ばーさーかーず

  16. プロジェクト紹介 - 金融機関向けの本人確認済みID を発行するIDaaSサービス - 金融機関のリソースを不正アクセス から守りたい

  17. もくじ 1. 起:チーム、プロジェクト紹介 2. 承:1日スプリントしてみた 3. 転:HOW思考の罠 4. 結:まとめ

  18. なぜ1日スプリント?

  19. ふわっとしたプロダクト像

  20. ふわっとしたプロダクト像が起こした問題 - とりあえず1週間スプリントでスクラムしていたけれど、スプリントが終わる頃にはプ ロダクトの要求が結構変わっている。。 - 蓋を開けたらプロダクトオーナーの要求を誤解していた。。 - 何日も無駄な作業をやっているのでは。。

  21. ふわっとしたプロダクト像が起こした問題 - とりあえず1週間スプリントでスクラムしていたけれど、スプリントが終わる頃にはプ ロダクトの要求が結構変わっている。。 - 蓋を開けたらプロダクトオーナーの要求を誤解していた。。 - 何日も無駄な作業をやっているのでは。。 毎日スプリントを完結させて、 要求と成果物のずれを小さくしよう

  22. 1日スプリントとは - スプリント周期が1日のスクラム

  23. 0900 - 0915: 自由時間 0915 - 0945: スプリントプランニング 0945 -

    1015: デイリースクラム 1030 - 1200: 作業時間 1200 - 1300: 昼休み 1300 - 1400: 作業時間 1400 - 1410: 中間報告 1410 - 1700: 作業時間            1500 : 担当がバックログリファインメント 1700 - 1730: スプリントレビュー、レトロスペクティブ 1730 - 1740: バックログリファインメント結果の確認 バーサーカーズの1日スプリント
  24. ただし、 - スケジュール自体ではなく、これに行き着くための試行錯誤を支える何かに、ここで 発表する価値を見出した。

  25. 毎日のレトロスペクティブ

  26. FUN LEARN DONE バーサーカーズのレトロスペクティブ

  27. FUN LEARN DONE バーサーカーズのレトロスペクティブ 課題 課題

  28. FUN LEARN DONE バーサーカーズのレトロスペクティブ 課題分析 課題分析 課題 課題

  29. FUN LEARN DONE バーサーカーズのレトロスペクティブ 課題分析 課題分析 毎日課題と向き合い、改善案を模索した

  30. 課題:待っててもプロダクト像が固まらない

  31. 課題:待っててもプロダクト像が固まらない - 毎日ちょっとずつ見えてるタスクをやればいつかプロダクトができると思っていた が、 - 具体的なユーザーストーリーなしでは、何も進まなかった

  32. やってみたこと - プロダクトオーナーと定期的なミーティング

  33. やってみた結果 - プロダクトオーナーと定期的なミーティング - 議論が発散してしまった - プロダクトオーナーに具体的なユーザーストーリーがないのでは

  34. やってみたこと - プロダクトオーナーと定期的なミーティング - 議論が発散してしまった - プロダクトオーナーに具体的なユーザーストーリーがないのでは - 自分たちで作ったユーザーストーリーマッピングをレビューしてもらう

  35. やってみたこと - プロダクトオーナーと定期的なミーティング - 議論が発散してしまった - プロダクトオーナーに具体的なユーザーストーリーがないのでは - 自分たちで作ったユーザーストーリーマッピングをレビューしてもらう

  36. やってみた結果 - プロダクトオーナーと定期的なミーティング - 議論が発散してしまった - プロダクトオーナーに具体的なユーザーストーリーがないのでは - 自分たちで作ったユーザーストーリーマッピングをレビューしてもらう -

    プロダクトオーナーの意図に合うか確認が取れた
  37. やってみたこと - プロダクトオーナーと定期的なミーティング - 議論が発散してしまった - プロダクトオーナーに具体的なユーザーストーリーがないのでは - 自分たちで作ったユーザーストーリーマッピングをレビューしてもらう -

    プロダクトオーナーの意図に合うか確認が取れた - 毎日成果物を撮って、プロダクトオーナーに送る
  38. やってみた結果 - プロダクトオーナーと定期的なミーティング - 議論が発散してしまった - プロダクトオーナーに具体的なユーザーストーリーがないのでは - 自分たちで作ったユーザーストーリーマッピングをレビューしてもらう -

    プロダクトオーナーの意図に合うか確認が取れた - 毎日成果物を撮って、プロダクトオーナーに送る - プロダクトオーナーからのフィードバックを促す
  39. やってみた結果 - プロダクトオーナーと定期的なミーティング - 議論が発散してしまった - プロダクトオーナーに具体的なユーザーストーリーがないのでは - 自分たちで作ったユーザーストーリーマッピングをレビューしてもらう -

    プロダクトオーナーの意図に合うか確認が取れた - 毎日成果物を撮って、プロダクトオーナーに送る - プロダクトオーナーからのフィードバックを促す バーサーカーズから歩み寄って プロダクト像をかたどっていく
  40. 課題:未経験領域が多い

  41. - 5人 - ほぼバックエンド経験のみ ばーさーかーず

  42. やってみたこと - 「iOS/Android開発は、うちでは厳しいです」

  43. やってみた結果 - 「iOS/Android開発は、うちでは厳しいです」 - えらいひと:「いや、できるでしょう」

  44. 良いだろう

  45. 課題:未経験領域が多い もくもくと勉強して、知識の偏りを生みたくない

  46. 勉強用のタスクを設けよ う

  47. 勉強タスクとは - 各メンバーが一つのことを勉強する - 勉強したことを「技術メモ」として まとめて共有する

  48. 勉強タスクでどうなった - 人に見せるために勉強する - 1から調べずに済む - 必要な知識をすぐ確認できる安心感

  49. 勉強タスクでどうなった - 人に見せるために勉強する - 1から調べずに済む - 必要な知識をすぐ確認できる安心感 効率的に知識を蓄えられた

  50. 勉強しても、急に1人で 実装は不安

  51. 慣れない分野は、 モブプログラミングで 倒していく

  52. スクリーン ドライバー リサーチャー ナビゲーター リサーチャー リサーチャー バーサーカーズのモブプログラミング - 10分で役割を半時計回りに交代する -

    ナビゲーター: わかるところから指示出し - リサーチャー: ナビゲーターのわからないところを調べる
  53. モブプログラミングでどうなった - チームとしてまんべんなく知識をつけられた - 事前に予測できない技術的な壁を、その場で調べて対応できた 一方で、、 - リサーチャーは一度実装から離れるので、役割交代のタイミングで情報共有の手 間が生じた

  54. 1日スプリントをやったら - リリースに必要なユーザーストーリーをプロダクトオーナーと合意できた - チームのパフォーマンスが安定した

  55. 1日スプリントをやったら - リリースに必要なユーザーストーリーをプロダクトオーナーと合意できた - チームのパフォーマンスが安定した プロジェクトへのストレスが減った

  56. 1日スプリントをやったら - 大量のトライアンドエラー - チームにとって働きやすいリズム

  57. - 5人 - ほぼバックエンド経験のみ ばーさーかーず

  58. - 5人 - 大体のことはできる

  59. もくじ 1. 起:チーム、プロジェクト紹介 2. 承:1日スプリントしてみた 3. 転:HOW思考の罠 4. 結:まとめ

  60. スライドに訂正がありま す

  61. 1日スプリントで 無事リリース?

  62. 1日スプリント、 後半は気合で なんとか乗り切りました。。

  63. 何があったのか - プロジェクト全体で1日スプリントを導入する - うまくいかず、ウォーターフォールな開発工程とスクラムが融合 - テスト工程での不具合報告 + 毎スプリントの新機能 = タスク地獄 バーサーカーズ内で1日スプリントを続ける余裕がなくなり、目の前のタスク をひたすら消化し続ける働き方になった

  64. 疲れた...

  65. どうしてこうなったのだろう - 目的意識の欠落? - 方法論に溺れたのではなかろうか

  66. 手段に使われず、 使ってやる

  67. もくじ 1. 起:チーム、プロジェクト紹介 2. 承:1日スプリントしてみた 3. 転:HOW思考の罠 4. 結:まとめ

  68. まとめ - 1日スプリントによる大量のトライアンドエラー - チームにとって働きやすいリズム - 手段に使われず、使ってやる

  69. バーサーカーズのこれから

  70. ガンガン行こうぜだった、バーサーカーズ

  71. プロジェクトと一体になる - お互いが今までを忘れて、 プロジェクト全体での開発手法を見つめ直す

  72. THANK YOU!