今回からカレーを例に、料理をプロジェクトマネジメントする方法を具体的に考えていきます。▼前回の記事はこちらプロジェクトマネジメント的思考で料理のメニューを決めてみよう!「料理は理系!料理をプロジェクトマネジメント」と題し、料理をソフトウエア工学でプロジェクトとして考えマネジメントする方法をご紹介。連載第3回ではいよいよ実践編として、メニューの決め方に迫ります。家menカレーは今や日本の国民食。子どもが好きな食べ物ランキングでも常に上位に挙げられる料理です。カレーは家庭料理の定番でもあり、入れる具材も季節の野菜を入れたり、変わり種の具を入れてみたりと、人により好みもさまざま。カレーの作り方もひと手間かけたり隠し味を加えたり、各家庭ごとに家庭の味があるのではないでしょうか。本場インドカレー、東南アジア系、欧風カレーなどありますが、ここでは市販のルウの箱に書いてあるオーソドックスで家庭的な日本風カレーを作ります。具材はこちらもルウ記載のレシピどおりに、定番の肉、玉ねぎ、じゃがいも、人参で作ります。カレーライスかライスカレーか。どちらにしてもカレーとライスを作るのは並列で最近、糖質制限が流行っていますが、食事はおかずだけではなく主食も必要です。カレーを食べるといったら一般的にカレーライスのこと。カレーをナンやうどんで食べる時もありますが、やはり日本のカレーはライスが合います。カレー作りと一緒にご飯も炊きましょう。カレーの作り方はルウの箱に書かれているレシピに忠実に作ることにします。ご飯は炊飯器で普通に炊きます。どちらもそんなに難しい料理ではないですが、レシピは通常、1種類の料理を作る手順しか書かれておらず、カレールウの箱にはカレーの作り方しか載っていません。実際の献立では複数の料理が並ぶことが多いです。複数の料理を調理するのに一品づつ順に作っていては時間がかかってしまうため、同時進行で並列調理をする必要があります。プロのシェフや料理に慣れている主婦・主夫は自然と並列調理を行っていますが、料理初心者でカレーとご飯を並列して作る段取りを把握している人はほとんどいないのではないでしょうか?炊きたてご飯に、程よく煮込まれた出来立てアツアツのカレーをかける。料理するならベストなタイミングで美味しく食べることができるようにしたいですね。カレーもご飯も同時に調理するにはどうすれば良いでしょうか?そこでカレーとご飯の並列調理に対応した「調理作業の標準化(レシピ)」の作成を目指してプロジェクトマネジメントしていきます。カレーライスをフローチャートで考えるには成果物がカレーとご飯と決まったら、まずは調理のタスクを細分化し、作業工程をレシピに起こします。連載第1回で紹介したフローチャートレシピを活用したいところですが、フローチャートでは基本的に一つのルートしか表現できません(フローチャートも各種あり、規格によっては二重線で表現することも可能)。条件分岐は一般に「Yes/No」か「真/偽」の2分岐が答えとなる判断を扱う図法で、プログラミングに例えると分岐命令(goto文とif文)だけでプログラミングしているようなもの。今でもフローチャートは使われていますが、いさかか古い時代の表現手法です。一つの料理のレシピならフローチャートで表現できるかもしれませんが、カレーとライスといった複数料理の並列調理を表現するにはフローチャートでは難しそうです。Language:統一モデリング言語)を用いることにします。『フローチャートレシピ2.0』として、UMLのアクティビティ図を使った並列調理レシピを考えてみましょう。「カレー作り」と「ご飯を炊く」、2つの調理をまとめたアクティビティ図です。左の青枠内はカレー作りのフロー、右のオレンジ枠内はご飯を炊くフローです。○(丸)はフロー開始。◉(二重丸)はアクティビティの終了。角の丸い四角で囲まれた内容はアクティビティ(処理)を現します。◇(ひし形)は条件分岐。この図では分岐がNOの場合、ループ処理させています。アクティビティ図において従来のフローチャートから拡張された機能の一つは、並列処理が表現できること。横長の太い線で2本に分岐しているのが並列アクティビティを示しています。並列アクティビティの開始と終了は同じ横長の太線を使い表現しますが、矢印が下に分岐しているのが複数処理の開始(フォーク)で、矢印の先が合わさった太線が複数処理分岐の終了(ジョイン)です。カレーとご飯を同時進行で並列調理するフロー図まずアクティビティ図の一番上で、青枠の「カレーのプロセス」とオレンジ枠の「ご飯のプロセス」にチャートが分岐しています。左側のカレーを作るチャートでも、中頃に並列処理が出てきています。©村上誠ここは具材を煮込む際の工程で、鍋に具材と水を入れて、(右)具材が煮崩れしないように火加減を調整しながら柔らかくなるまで煮る(左)あくが出たらあくを取り続けるという2つの作業の並行処理を表しています。ここでは(右)(左)の両方が達成するまで煮込み続けます。両方OKになったら、次のルウを割り入れて溶かす工程へ進みます。このようにアクティビティ図では複数の工程を同時に処理(調理)する表現が可能です。今回のアクティビティ図で、カレーライスを作るプロセスのフロー(流れ)と、並列調理が必要なタスクが分かりました。これで料理の全体像が可視化され、調理作業途中の進捗を把握しやすくなりましたね。火加減を間違えて焦がしてしまう、具材に火が通っていないといったバグや、調理手順を間違えてプロセスが滞ってしまうスタックの発生リスクも軽減されます。パソコンや携帯では複数のアプリを並列処理したりバックグラウンドで動かしたりして、全体の処理速度を上げています。料理においても手際が良いと言われる料理上手な方は、段取りの良さとマルチタスクで調理できる能力が高いのです。次回以降、マルチタスク調理の業務効率化のためのタスク管理やスケジュール構成を考えていきます。PERT図で最も短い調理時間を割り出そう「料理は理系!料理をプロジェクトマネジメント」と題し、料理をソフトウエア工学でプロジェクトとして考えマネジメントする方法をご紹介。連載第5回では、「PERT図」を応用することで調理工程と所要時間を可視化する方法を解説します。家men▼すべての連載記事はこちら『料理は理系!料理をプロジェクトマネジメント。洗濯ハカセの洗濯と洗剤の新方程式Daddy's_Talk夫婦喧嘩はアンガーマネジメントでうまくいく。)目指せ我が家のHERO!家族を助ける特技を作る収納マンが教える!快適な暮らしをつくる片づけ・収納術うえたに夫婦(イラストレーターユニット)おすすめの。