INTP型のブログ

苦味があるな?

ギルド式開発

妄想してた。

 

アジャイル開発の手法としてスクラム、カンバンというのがある。

 

スクラムはスプリント(アジャイル開発の一単位)ごとにPDCA回していくやり方みたいなのを体系化したやつという認識。(mtgによる毎日の簡単な状態確認もある)

 

1スプリントは2~4週間程度で、いったん全体のプロジェクト完遂までをロードマップとして定義。それを複数のスプリントに分割して、1スプリントずつ進めていくイメージ

 

ウォータフォールと違って、スプリンドのフィードバックのタイミングで手戻りが必要なら後ろのスプリント期間を調整したりして、手戻り用のスプリントを差し込むとかもできる(期限ぎりぎりのタイミングになるほど難しくなりそうではある)

 

カンバンはこのアジャイル開発の作業の可視化と効率化を目指したものという認識で、大体こんな感じでタスクを分類

 

  1. ToDo: とりあえず現在上がっているタスク全て
  2. Doing: 着手できる状態になったタスク(今のスプリントで着手する想定のタスクとか?)
  3. In Progress: 着手中
  4. Review: 着手されたタスクがレビュー中
  5. Testing: タスクがレビューを通り、リリースされ想定通り動くか確認中
  6. Done: タスクが完了

 

これをカンバンボードと呼ばれるもので視覚的に管理するイメージ

 

※看板はアジャイルの1スプリントに限定されず、全体の作業状態の確認でしかないっぽい。状態設定自体は大体今あげたやつぐらいだとは思う。Doingにするタイミングは優先度とか作業の進捗状態から触れるようになったタイミングでとかなのかな?そういう意味ではスプリント単位もあながち間違いではないのではと個人的には思うけど、厳密な定義的にはアジャイルにカンバン手法は限られるわけではないっぽいので違うかもしれない

 

ユニークだなと思ったのがWIPとプルシステムみたいなやつ。

 

WIPは各チームのタスク容量みたいなやつで、Doingに置かれるタスクは最大でも3つ。みたいにタスク数を制限するみたいなやつ。ただこれ決めたら「じゃあタスク進めなければいいのでは?」と思ったりしそうなんだけど、その辺はうまく監視すんのかな

 

プルシステムはWIPを前提としたもので、要は抱えているタスク数が3から2になったら3になるようにタスクが引き込まれる。みたいな仕組みを指してるっぽい。

 

あとはin progressのものが完了したら担当者は状態をreviewにして、レビューできる人は状態がreviewのものをキャパに応じて引き取る。といったもの

 

---

 

凄い完成されたシステムだと思ったのでここからさらに妄想。

 

ゲーミフィング、要はよりゲームっぽくして報酬機能を刺激する仕組みにしたいというところで考えたのがギルド式開発。

 

前提として

 

  1. アジャイル開発
  2. スクラム
  3. カンバン

 

の仕組みを採用する。ロードマップをざっくり作って、それを2~4週間のスプリントに分割。そのスプリントの進め方はスクラムフレームワーク通り

 

タスクの進捗管理もカンバンを使う。ToDoにはタスクが発生した時点で難易度、優先度あたりを決めてissueを作成。みたいに大体カンバンと同じ仕組みでスプリントを進めていく。

 

Doingに落とすのはスプリント単位で実行予定のissue。で、それを各チームもしくは開発者が引き取る(プルする)。極端なブラック化を避けるためにWIPを設定しておく

 

ほぼアジャイル + スクラム + カンバン通りなのだけど、ここにさらにポイント管理を付け加えたいというのがギルド式開発の考え。

 

ファンタジーものでよくあるギルドのようにissue単位に報酬が存在していて、その報酬をもとに開発者はissueを引き取ることができる。ポイントは金銭や評価、ランキングなどの報酬機能を刺激する何かに結び付ける。みたいなイメージ

 

まあこれの問題は営業とかでよくある問題と同じで、評価制にすることでチーム内やチーム間、個人間の軋轢を生むし、ノウハウの共有が避けられる可能性があるという点。

 

書いといてなんだけど、ギルド式開発で運用したいポイントはそのままカンバンのWIPのポイントとして使えるようにできるし、そこを頑張るほうが健全なのでは?となったりした

 

アジャイル + スクラム + カンバンまでは導入しているところはしているだろうし、ここに評価軸を置くなんてことは誰もが思いつくことだろうけど、調べた限り明確にやってる人の話は目にしなかったのでリスクがあまりにも大きいと思う人が大半なんだろうなと思った。俺もそう思う

 

まあでもゲーミフィングが有効であるのは確かだし、最下位が見えないようなランキングはいいんじゃないかなと思ったりした。ランキングの悪い点は自身の劣等感を感じる人間が出るというところなので

 

桜井さんがスマブラ作るときにランキングを世界戦闘力という形にしたのもその対策のためという話だったし。ポイント制 + 上位のみランキング化。というのがギルド式開発の落としどころかもしれん

 

---

 

余談だけどアジャイル + スクラム + カンバンの方式見ててめっちゃ美しいなと思った。ソフトウェア開発は特にハードウェア開発と違って手戻りは比較的しやすいわけだけし、アジャイルと相性いいよなとか。

 

スクラムPDCA的やり方は無難に強そうだよなとか

 

特にカンバンの視覚化やWIP・プルシステムによるキャパオーバーを避けたりする仕組みはマジでいいなと思った。カンバンボードとかだれが使うねんってちょっと思ってたんだけど、認識変わったわ。プッシュ的な思想でとらえてたから使いづらそーと思ったけど、プル的な思想でカンバンを見るとめっちゃいいね確かに

 

WIPの点数化をいかにうまくやるかはゲームでいうレベルデザインのところになってくると思うので、ここがキモなんだろうなという気もする。

 

めっちゃ俺の考えた最強のプロジェクト進行やりてーと思った次第でした。おわり