人類の叡智が生んだ偉大なツールとものづくりを楽しむ姿勢について

テックポエム

2019年春の休日、妻より「夕食に春らしいご飯が食べたい」と要望があった。

 

筆者は、世の中年男性の例にもれず健康と料理に興味を持っており、喜んで要望に応じることにした。

 

料理とソフトウェア開発は類似点が多い。予算があること、納期があること、各種のツールを駆使すること、顧客の要望を実現すること、ものづくりの喜びがあること、想像力が必要なこと、等々多くの類似点がある。

 

筆者は、今回の「夕食に春らしいご飯が食べたい」プロジェクトのフレームワークとして、スクラム開発を利用することにした。ロールは顧客兼プロダクトオーナー(妻)、開発チーム兼スクラムマスター(筆者)のスクラムチームでプロジェクトを完遂する。

顧客の要望から、プロダクトバックログに「夕食に春らしいご飯が食べたい」を登録した。

 

バックログリファインメント

「春らしいご飯」とは何だろうか?曖昧なまま開発すると、有名なイラスト「顧客が本当に必要だったもの」になりかねない。開発チームとして、ふんわりした要望を具体的なフィーチャーに落とし込むべくプロダクトオーナーにインタビューを実施した。結果「春らしいご飯」とは「春が旬である食材を使った料理」であり、「夕食に...が食べたい」とは「19:00に食事が開始可能な状態であること」という認識をスクラムチームで共有した。

 

プロダクトオーナーとのネゴシエーション

インターネットでの市場調査を行い、一汁三菜の具体的なアイデアを提案した。

・たけのことアサリの炊き込みご飯

・わかめと豆腐の味噌汁

・漬物(たくあん)

・鶏もも肉の照り焼き

・小鉢(きんぴらごぼう)

 

ネゴシエーション後、上記の献立と調達予算が3000円以内であることについて、スクラムチームで合意した。

現在の時刻は13:00であり、納期までに6時間のタイムフレームで開発作業を行うことができる。開発チームはざっくりとした計画を立てた。

13:30までに詳細な計画立案に必要な情報を揃える

14:00までに食材の調達を完了し調理可能な状態にする

19:00に食事を開始できるようにする

 

具体的に必要な食材をリスト化し、在庫の管理者でもあるプロダクトオーナーにインタビュー2を実施した。

・食材について在庫の有無や残量を確認する

・必要なツールの所在を確認する

・不明な点があれば随時プロダクトオーナーが答える

上記の点について、プロダクトオーナーの回答と合意を得た。

 

スプリントプランニング

開発チームとしてプロダクトバックログアイテムである「夕食に春らしいご飯が食べたい」からストーリーを作成しタスク化する。

タスク化の前にまずリスクを挙げる。

1. 開発チームは、ツール習熟度が低い。料理経験が皆無であり、まったくの素人である。(余裕のあるタイムフレームで学習しながら開発する必要がある)

2. 炊飯に要する時間は1時間(炊飯器の性能?)

 

スプリントバックログにストーリーとタスクを積み上げる

[ストーリー:調達]食材を調達する, 30

 

[ストーリー:調理]炊き込みご飯をつくる, 300

           [タスク:調理]炊き込みご飯:たけのこの準備, 60

           [タスク:調理]炊き込みご飯:アサリの準備, 180

           [タスク:調理]炊き込みご飯:油揚げの準備, 20

           [タスク:調理]炊き込みご飯:米の準備, 35

           [タスク:調理]炊き込みご飯:炊飯器のスイッチを押す, 5

 

[ストーリー:調理]きんぴらごぼうをつくる, 70

           [タスク:調理]きんぴらごぼう:ごぼうの準備, 50

           [タスク:調理]きんぴらごぼう:ニンジンの準備, 10

           [タスク:調理]きんぴらごぼう:調理, 10

 

[ストーリー:調理]鶏もも肉の照り焼きをつくる, 30

           [タスク:調理]鶏もも肉の照り焼き:鶏もも肉の下ごしらえ, 10

           [タスク:調理]鶏もも肉の照り焼き:ソースの作成, 10

           [タスク:調理]鶏もも肉の照り焼き:調理, 10

 

[ストーリー:調理]味噌汁をつくる, 20

           [タスク:調理]味噌汁を作る:豆腐をカットする, 5

           [タスク:調理]味噌汁を作る:わかめを水で戻す, 5

           [タスク:調理]味噌汁を作る:万能ねぎを切る, 5

           [タスク:調理]味噌汁を作る:調理, 5

 

[ストーリー:後片付け]食後に後片付けをおこなう, 30

 

検討事項

準備と後片付けを除く調理の総工数は420分なので7時間である。料理初心者の開発チームでは時間的に厳しいのではないか。

ボトルネックである「たけのこ」を水煮パックで5分に、「アサリ」を缶詰で0分とし、[ストーリー:調理]炊き込みご飯をつくるは、65分に工期を圧縮しスプリントを開始した。

 

以下、各タスクの消化は特に面白いトピックもないので時系列で紹介する。

15:00 ごぼうとニンジンを5cm/0.5cm角に切るのが難しいぞ!

16:00 きんぴらごぼうの調理に遅れがでている!スコープから外すか?プロダクトオーナー「答えは"NO"だ」

17:00 鶏肉の下処理は油が手について大変じゃないか!

18:00 無事に炊飯器のスイッチを入れることができた

19:00 すべての調理タスクを完了して食事(スプリントレビュー)開始

 

スプリントレビュー

プロダクトオーナーから「タケノコとアサリの炊き込みご飯はまずいが、その他は美味しい」との貴重なフィードバックを得ることができた。

その他にも開発チームから「炊き込みご飯は残念だが、きんぴらごぼうが予想以上に美味い。味噌汁も具が少なくて良い。鶏肉も味が濃くて良い。」という意見も得られた。

 

スプリントレトロスペクティブ

後片付けをしながら、今回のスプリントのふりかえりをおこなった。開発チームはきんぴらごぼうの開発でツール(包丁)の習熟度が格段に上がった。炊き込みご飯は確かに失敗であった。だが重要なのは原因を分析し失敗を繰り返さないことである。

開発チームは、原因として、レシピを検索する際に見つけた「タケノコの炊き込みご飯」、「アサリの炊き込みご飯」の両方を食べたいと考え、和風と中華風のレシピを加算したことに由来する問題であると結論を出し、次回からレシピ間の加算は厳禁とするルールを作った。本事象は、設計段階で混入した不具合であり、炊飯器はそのブラックボックス的性質により、最後(炊き上がり)まで不具合の検知が難しいので、コンセプト・設計段階からの検査が必要であった。

 

筆者は今回のプロジェクトを経験し、プラクティスやツールをうまく使いこなすことは重要ではあるが、「顧客への価値の提供」と「ものづくりを楽しむ姿勢」の両立が重要であると感じた。

 

最後までお付き合いいただきまして、ありがとうございました。

 

包丁もフライパンもまな板も、人類の叡智が生んだ偉大なツールです。

Unifinity Studioも皆様のお役に立てるツールになればと考えております。

 

 

//EOF