アジャイル開発の見積もりに「WSJF」やってみた感想
リックソフトは、Jiraのライセンスを売っているだけの会社ではありません。Jira や Confluence 用のアプリ(アドオン)も開発しています。
また、SAFe®︎(企業規模の大規模アジャイル実現に向けたフレームワーク)を日本企業に広めていくための活動も進めています。
この1月から、SAFe®︎を推進するエンタープライズアジャイル室主導で、「プロダクト開発の各チームが、より楽しくよりスピーディに開発を進められるよう」すべく、リックソフト社内で自社プロダクト開発推進プロジェクトが進んでいます。参加している開発チームは3製品・チーム。各プロダクト間の関係性は薄いのですが、ワークショップを通じてほかの製品の計画や取り組みを見れる機会となっています。
SAFe®︎の作法に則った機能優先順位の付け方に、WSJF(Weighted Shortest Job First、作業コストが小さく、価値の高いものから着手する優先順位の付け方)という手法があります。今回、全チーム実践してみました。
顧客ハッピードリブンの見積もり方法「WSJF」とは
WSJFフレームワークは、Weighted Shortest Job First、作業コストが一番小さいものから着手する優先順位の付け方で、「顧客が求めるもの」をいちばん素早く実現する見積もり方法だとされています。「顧客ハッピードリブン」な見積もり方法と言えます。
WSJFの計算方法
作業を、
ユーザービジネスバリュー
ユーザーにとって価値のあるもの,Business Value)
緊急性
「はやくこの機能をつけないと、ユーザーがほかのサービスを使い始めてしまう」「顧客はこの機能をどの程度期待してくれているか」、外部環境によるもの。Time Criticality
リスク低減・機会創出
この機能があることで、新規顧客が生まれる・将来のリスク低減につながる等の影響度。「新たな機能実現の機会創出につながる」、内部判断によるもの)。Risk Reduction/Opportunity Enablement
そして
仕事にかかる作業サイズ
作業にかかる労力、時間
をフィボナッチ数列の数式で表現します。先の三つを数字を合算したものを「遅延コスト」とし、「作業サイズ」で割ったものが、「WSJF」で見積もった数字になります。WSJFの見積もりでは、数字が高いものから着手するべきと決めています。以下の図は、「小学生の保護者向けに、タスクリストを整理するアプリ」です。
この3機能を作成する順番は、「関係者にタスクをLINEでシェアする機能」>「学校のプリントをスキャンして重要事項をタスク化する」>「ログイン機能」となりました
「最初にログイン機能を作るべきでは?」と思ったのですが、ユーザーの価値では「関係者にタスクをLINEでシェアする機能」が優先されます。
ユーザーの視点でみると、たしかにログインうんぬんより、タスクをLINEでシェアする機能があるとよさそうです。
「WSJF」での見積もり、実際やってみると...
ある製品のプロジェクトリーダーは、WSJFで出た数字を眺めて
「 粗末な機能が上にきて先にきている。開発者から見て、重要そうな画面は後になった」
「優先して開発すべき機能ではないか、と思う機能の優先度が低くなったので、WSJFドリブンでやるのは勇気がいる」
「労力が低いものの優先度が上がる。労力の見積もりが不安定だと怪しい」
と、戸惑いの声とともに、
「こういう整理の仕方としてはアリ。1つのプロダクトの人数が増えていくときの指標になる。さくっと優先順位を決めるのには便利そう!」
という声もありました。
SAFe®︎は、ひとつのプロダクトの開発人数が50-125人くらいがちょうどいいとされています。50-125人でプロダクトを作るときには効果を発揮するものだといえそうです。
ワークショップをリードするエンタープライズアジャイル室の辻さんは「指標の一つにするのがいい。みんな”えっ、この順序、なんか違う”と戸惑っていたのは、そこに新しい視点が入ったから。ユーザーハッピードリブンだとこういう優先順序になるんだ、という指標にしてほしい」と締めくくりました。
WSJFで見積もりをしたことがある人の中には、同じように感じたことがあるのではないでしょうか。「WSJFでの見積もりはあてにならない」と切り捨てるのではなく、あくまで指標の一つに使ってみてください。