gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

「料理上手」と開発のマネジメントが似てる件

お話をすると簡単な事なのですが、実践するにはどうも結構なスキルと経験が必要なようなんですが、とはいえ「超重要」なので。
一度は書いておこうと思ったので、書いてみます。


最終的に技術のお話につなげますが、相変わらず料理のお話から*1
一汁三菜、を考えてみましょう。
豆腐の味噌汁、イモの煮っころがし、焼き魚、若布とキュウリの酢の物
って献立を想定してみます。


調理法は雑ですが、料理上手な人の手順の1つを見てみましょう。


(味噌汁)出汁を取る
(魚)焼き始める
(酢の物)若布を戻し始める
(イモ)剥いて切る
(イモ)味噌汁の出汁を少しガメて、出汁で煮始める
(酢の物)煮たり焼いたりしている間にキュウリを切る
(イモ)みりんを照りつける
(イモ)醤油で調整:少し冷まして味をしゅませる
(味噌汁)豆腐を入れる
(味噌汁)味噌をとき入れる
(酢の物)加減酢で和える


大体こんな手順です。
一方で、お料理のスキルが今ひとつ高見に向かいきっていない辺りがやると、こんな手順になります。


(味噌汁)出汁を取る
(味噌汁)豆腐を入れる
(味噌汁)味噌をとき入れる
(イモ)剥いて切る
(イモ)出汁を取る
(イモ)出汁で煮る
(待ち発生)
(イモ)みりんを照りつける
(イモ)醤油で調整
(魚)焼く
(待ち発生)
(酢の物)キュウリを切る
(酢の物)若布を戻す
(待ち発生)
(酢の物)加減酢で和える


こんな感じですね。
「一品ずつ料理」なのでわかりやすいのだと思うのですが、時間がかかります。
「出汁を取るのに5分」「お魚焼くのに10分」「芋が煮えるのに10分」「若布戻すのに5分」くらいで仮定しますと。
上手な人の手順ですと、20分くらいで食事の支度ができます。「時間はかかるけど放置できる」タスクを放置しながら、別の「手がかかる」タスクをやるから、です。
一方「今ひとつ」の人の手順ですと、40分以上かかります。「時間はかかるけど放置できる」タスクを、じ〜っと待っているから、です。


これが「3品」だからこんなもんですが、品数が増えると、この辺の「差異」が、割としゃれにならないレベルで開いていきます。
この辺は、レストランとかの厨房の「プロジェクトマネジメント」が大変に秀逸である…と、どこかのプロマネの書籍で読んだ記憶があります。内情を詳しくは知りませんが、外枠で拝見させていただくに「さもありなん」という感じの、かなり複雑なマネジメントが繰り広げられておりますので、興味がある方は是非チェックを。


で…全く同様のお話が、開発でもあります。
そのうちの一部は、以前に「■[その他技術]テストデータは原則として作らない http://d.hatena.ne.jp/gallu/20130313/p1 」で言及をしていたのですが。

この辺が「コミュニケーションデザイン」というあたりに繋がってくるのですが。


プロジェクトの前半は、この辺のスキルは正直あんまり必要ないように見えます…単に「顕在化しない」だけで、実際には序盤から需要なのですが。


ちなみに「序盤はまだいいじゃん」とか思うかたは、この台詞を、十分に咀嚼してかみ砕いて飲み込んで栄養にしてください。
「プロジェクトの初めの1日も、最後の1日も、同じ24時間である。」
まぁ「段取り八分に仕事二分」なんて言葉は職人の世界では一般的であることを考えると、むしろ「序盤こそが重要」って気も色々といたしまするが。


閑話休題


中盤以降、特に顕著には「後半」のあたりになると、前述料理の例えのような状況が、大変に重くのしかかってきます。
よくあるのが
・締め切り直前なのに「待ち」が発生する
・段取りの順番を間違えた為に「無駄な二度手間」が発生する
・連絡やコミュニケーションの不足から「タスクの優先順位」に齟齬が生じる
・無計画からくる「時間がかかるタスクがタイムリミットまでに未着手のまま」
・「誰もやっていない」または「複数人が同じ作業を重複させている」
あたりでしょうか。
上述の「テストデータ」の話も、結局の所「待たせない」「無駄な手間を発生させない」あたりに対する対応の一つです。


で、大体ここで、人はさらなる「負のスパイラル」を生み出して、絶望は更なる絶望を呼び、希望が暗転して魔女になります(何の話だ何の)。
プロジェクト後半に、上手くマネジメント出来てないと上述のような「無駄」が発生して、タダでさえタイトなスケジュールが、否応なく、しゃれにならん感じのバーンダウンチャートが形成されていきます。


この時の正解は
・一端足を止めて、丁寧にマネジメントとスケジューリングをし直し、適切なコミュニケーションデザインを行う
です。
つまりここにおいてもなお重要なのは「段取り八分に仕事二分」。
適切にスケジューリングをしつつ、現場ときめ細かいコミュニケーションを取り、状況を(負担にならない程度に)細かい粒度で吸い上げ、スケジュールを小まめにPDCAして、全体を最適化していきます。
それによって「可能な限り無駄を省き」、そのチームが出せる「ギリギリの速度」を出せるようにチューニングをしていきます。
先日書きました「■[親方]「1+1」は2を超えるのか? http://d.hatena.ne.jp/gallu/20150330/p1 」にもかかるお話ですね。


しかし多くの場合、まず(特に駄目な)人は
・こんなにスケジュールが詰まっているのに、実際のお仕事ではない「段取り」なんかに時間を費やしている暇はない!
と考えます。
そのために、全体的に「仕事十分」にさじ加減を取り、見事に「迷走経由で座礁」していく訳ですね。
いやまぁ勿論「彼らの(ノー)スキルなマネジメント技術でのスケジューリング」なら「しない方がマシ」って気もしますが、座礁するのに変わりはないんで以下略。
全員が「自分の事」しか見えていないので、無駄が発生し、重複と二度手間によって「いらん工数」が費やされていきます。
そして、リリース直前とかの「一番イヤなタイミング」で「重要なタスクが未着手」「一週間前までにやっておかなければいけないタスクが漏れている」なんて重大事に気づき、現場はパニックと絶望のカクテルとなります。


「ちょっと冷静に筋道点てて考えてみれば子供でもわかりそうな」お話ですが、現場で散見されているって所を見ると「現場にいるとなかなか気付きにくい」ものなんですかねぇ、っとかいう雑感。


で…マネジメントが一つ難しいと思うのが。
「出来ていない、という事が理解しにくい」んですね。


プログラムなんかだと「そもそも、動いていない」という、わかりやすいハードルが一つあるので、とりあえず「一つ目の閾値」は割と明確です(まぁその先が長く、わかりやすい閾値が一つあるだけに"腰掛けやすい"とも言えるのですが、本稿からはずれるので省略)。
しかしマネジメントの場合…これは営業とかにも割と言えるのですが「そもそも出来ていない」が認識しにくいんですね。
「極めて順調なプロジェクト」であれば「プロマネなんか、案山子でも順調に回る」もんですし、「根本的に無理なプロジェクト」であれば「化け物がマネジメントしたって無理」なわけで。
そうすると、「ちゃんとプロジェクトが回っていない」状態が「自分に起因するのか、外部に起因するのか、その割合は項目は要素は?」という辺りの考察が、ぶっちゃけると「スキルが低ければ低いほど」理解も分析も考察も出来なくて、でもその辺がわからないと「そもそも必要性がわからないから学習しないので」っていう負のループが発生して、似非プロマネのスキルって「全く伸びなくなる」んですね。


で、その結果として現場に「無駄なタスク」やら「待ち」やらを発生させた上で「現場がものを上げてこなかったから現場が悪くてボク悪くない」とかいう話になって、プロジェクトは崩壊しつつ、駄目プロマネがしぶとく居座る、というややこい現状が発生したりするものでございます。


閑話休題(…今回多いな)


まぁ、マネジメントってのは本当に「どこまでも手が抜けて、どこまでも難易度の高い」スキルではございますが。
真摯にそれをとらえた場合、その中の一つ「タスクの消化順番の組み立て」なんてのも、割合と軽視されやすい、ただ実際には「とても重要なスキル」でございます。
プロジェクト進行に従って当然あちこちで「前倒し」と「遅延」が発生するので、適切な粒度でPDCAぶんまわして都度「細かく調整する」必要もありますしねぇ。
っつかとりあえず「くりてぃかるぱす、ってなに?」「締め切り日をがなってればいいんでしょ?」「タスクに順番なんてあるの?」「上意下達で後は現場が頑張るもんでしょ」って言い出すようなプロマネを「生まれる前に消し去りたい。すべての宇宙、過去と未来の全ての似非を、この手で」って感じではございます正直。


どうにかなんねぇもんかなぁとか思うんですが、気付きがないことにはどうにもなんないので。
せめて「素質がある子」に気付かせる一端にでもなればいいなぁ、とか思って止まないところではございます。


あぁちなみに「上述の危険性が明らかに見えたプロジェクト」をご覧になった場合、基本的には「可能な限り全力かつ最速で逃げ出す」のが一番安全なのは言うまでもありません。
責任感も重要ですが、自分の身は自分でしっかりと守りましょう。

*1:先日、何度か購入している糀屋さんから「お店をなさってるんですか?」とかまた聞かれたなぁ、とかいう微妙なネタ話はおいといて