スクラムは、アジャイル開発手法の一つです。
アジャイル開発は、何か単一の開発手法を示すものではなく、似たような開発手法に共通した価値観と行動原則に名前がついたものであり、様々な手法があります。
ツールは、JIRAを使用していました。
※各項目が実現させることで価値、リスクや必要性をなどによって決定する
ゴール:どういうことを実現するのか。
ミッション:絶対に達成したいこと。
9人以上の場合は、ラージスクラムってのになるみたい。(城口さんが言ってました。)
樺沢さんとか勝さんみたいな人かな、営業ぽいこともする人ですね。
※3人以下は個人のスキルに依存、9人は、コミュニケーションコスト高くなる。Ristって3人以下とかよくある?
スクラムがほんとにあってるかは、わからないです。
自己組織化
チーム全体で合意して、責任を持つ。
一ヶ月前にどんな作業をしたか覚えてる?
一ヶ月分の報告ってだるくない?
で2週間でなにやるの?
2週間でなにするのか決める。開発項目の選択、実装方法なども検討する。具体的に何するの?
工数見積もりをここでする
見積もりによっては、1.5日とか2日とかもあったけど。
プロダクトバックログから2週間分の作業を切り出したもの。
※最初のスプリントでログイン機能、ユーザー登録、パスワード再設定機能ふぁ実装されて、次のスプリントでは、商品検索機能、商品詳細表示、カートに追加機能…
今まで出来上がったもののリストができる
JIRAにこれに似た画面あったか覚えてない・・・
何をもって完成とするのかの基準をきめるべき。
まー皆さん普段やってることです。
この時間はあまり時間かけない。15分から30分。
問題解決の場ではないのでその場合は別途、場を用意すべき。
まーこれも皆さんやってると思います。
2週間何やってたんですかってことを共有する場です。
プロジェクトの初期は、見せるものがなかったりしますが。
ハードがあると動いてるものがあるので、自然とみんな集まって議論したりとかもありました。
続き イベント4 : スプリントレビュー
妨害の排除って意外にに重要ですね。
開発チームが開発に集中できるように立ち回る方ですね。
経験豊富な方がやったほうがいいのかな?
スクラムの5つの基準
確約(Commitment) : それぞれの人がゴールの達成に全力を尽くすことを確約する。
勇気(Courage) : 正しいことをする勇気を持ち、困難な問題に取り組む。
集中(Focus) : 全員がスプリントでの作業やゴールの達成に集中する。
公開(Openness) : すべての仕事や問題を公開することに合意する。
尊敬(Respect) : お互いを能力ある個人として尊敬する。
旧ロボチームでは、SCRUMで開発してました。
ご覧の通りみんな去ってしまいましたが。。。
SCRUMでうまくまわってないなと思ったのは、強化学習系のプロジェクトですね。実機でやってたので、学習が長すぎて最後の方は、SCRUMがグダグダだった気がします。
基本的に質は別の話として、プロジェクト当初に考えてたものとは違うものが出てきたとか。。。
プロジェクトスタート時に言ってたことと今全然違うことしてるとか。非常に素敵ですね。。。
このフレームワークを回せば、そんなことありえないと思います。
シンプルにPDCAを回してるだけっす。
でも、それをできない人が結構います。
上から言われたからすぐに動かなきゃいけないみたいな輩方々が世の中にいます
完全に狂ってますよね。カオスですね。本当に実現できます?
みんなで共通認識(実現したいこと、もの、機能)をもって、開発を進める。
人それぞれ能力の差はあるとは思いますがお互いに助け合って開発を進めて行く。
今回の話は、下記からもスクラムマスターの記事
要求、仕様、計画にかかわる人?
以前のプロダクトオーナーは、毎回RFP ?、企画書 ?のようなものや実際の絵みたいな物を作成していただいた気がします。
それを元にプロダクトバックログを作成していたような。
プロダクトバックログ = どういうことを実現するのか(ゴール)、全体に実現したいことは何か(ミッション)のリスト
プロダクトバックログの項目をユーザーストーリーという形式で書くスクラムチームが多いみたいです。
ユーザーストーリーは、実際に使うユーザーに何を提供して、その目的は何なのかを簡潔に書くやり方。
いままで私がよくあったのは、とある受託のプロジェクトでこういうものを作って欲しいって作ります。
技術的なことわからないので打ち合わせに出てほしいって言われて打ち合わせ出ます。
お客さんと打ち合わせしたら"ちがーう"って言われて、作り直しの繰り返しで全然プロジェクトが終わらないとか。前職ではよくありました。
まーおじいちゃん上司が四六時中ポケモン捕まえてたんで仕方ないです。シニア採用ってマジで悪だとそのとき思ってた。だってどこかの元事業部長だった人なので誰も何も言えない雰囲気でした笑
開発者側の視点
ユーザーストーリーは、実際に使う人側の視点
プロダクトバックログができたら次は見積もりです。
SCRUM BOOT CAMPで紹介しているのは、相対見積もりというものです。
ある作業を基準にして、それより時間がかかるか、かからないか。3種類くらいに分けられる。
1,2,3,5,8, 13, 21, 40…
基準として比較的大きなものは、13や21のように数字が大きくなります。
大きな見積もりになるということは、見積もり対象が不確実な要素を多く含む作業であることがわかります。
したがって、何がわかっていて何がわからないのかを明確にすることが重要だと思います。
なぜそのように考えたのかを聞くことで、様々な視点が明らかになります。
その人の意見に同意することができたり、認識を合わせることができます。
※リリーススプリントを別途設ける場合もあります。また、スプリントで対応することも可能です。(ユーザーテストのスプリントや本番環境構築スプリント、受け入れテストスプリントなど)
そもそも、最初に見積もりを立ててそれ通りに実現するのは無理ゲーです。
トータルの見積もりを上に報告して文句を言われるなら、そこは、プロダクトオーナーなりスクラムマスターが説得してよ。
※JIRAを見に行けば、どういう進捗状況で、何ができてて、何が終わってるか、見ればわかる。誰が何をしているのかってのがわかって透明性がある。お互いにわかってるから問題が起きた時に助けられる。
やっぱりここをしつこくやる。
JIRAのストーリーチケットに完成の定義を以前は書いてました。
手戻りは必ず発生する、ゴールを曖昧にしない。
そういえば、最近GUIの設計書見たけど、正常系しか書いてなかったけど問題ないのかな
スプリントの期間は、延長しない。
そんなこといったって、、、無駄にだらだら打ち合わせしないってことだと思います。
それぞれの役割には特定の責任があります。
開発チームは、どこまで作成できるかを判断し、どのように実現するかを説明します。
プロダクトオーナーは、何をどこまで実現してほしいか、完成したものがゴールを達成できそうかを考える必要があります。
代理人を立てることは意味がありません。
どうしても参加できない場合は、動画やドキュメントで情報を保存しておくことも一つの方法です。
開発チーム
スウォーミング
一人でやることには限界があるってことです。
カイゼン
もしチーム全体の知識や技術が不足して失敗している場合は、スプリント内で勉強時間を確保することも一つの方法です。みんなで集まって現在起きている課題や失敗に対して最善の解決策を考えることが大切です。