1. トップ
  2. 新着ニュース
  3. 経済
  4. ビジネス

「チェーン店の味が同じ理由」はプログラミングで説明できる

プレジデントオンライン / 2020年4月9日 11時15分

※写真はイメージです - 写真=iStock.com/Makidotvn

2020年4月から、小学校でプログラミング教育が必修になった。なぜ小学生から学ぶ必要があるのか。ロングセラー『教養としてのプログラミング講座』(中公新書ラクレ)の著者で、このほど増補版を刊行した清水亮氏は「プログラマーの思考法はあらゆる場面で活用できる」という――。

※本稿は、清水亮『増補版 教養としてのプログラミング講座』(中公新書ラクレ)の一部を再編集したものです。

■「クローバー探し」でもプログラミング技術を使っている

プログラミングする人、すなわちプログラマーはどのように思考しているのか、ここで想像してみましょう。

実はプログラマーとして熟練すればするほど、生み出すプログラムがシンプルになるのと同様に、思考も効率化され、洗練されていきます。そしてその洗練こそが、プログラミングを他の仕事に活かすヒントとなるのです。

たとえば、みんなで河原に行って「四つ葉のクローバー」を探す、そんな場面を想像してみてください。

友達数人で四つ葉のクローバーを探そうとするとき、どうしますか?

全員で同じ場所だけを探したりはしないですよね。「Aくんはあっち、Bちゃんはこっち」というように、受け持つ範囲を割り振って、それぞれ探すように考えるのが効率的で自然ではないでしょうか。

実はこの方法は「分割統治法」と呼ばれ、プログラミング技術の一つとして知られています。

「分割統治法」の技術は、たとえば営業マンがエリアを決め、片っ端から電話をかけていくという営業活動、いわゆる「エリアセールス」として応用できるでしょう。ピザの宅配店がそれぞれ宅配エリアを決めて営業する、という戦略なども分割統治法の応用例といえます。

■「優れた思考の道筋」を体系化したもの

「なんだ、プログラミングってその程度のことか」と思われるかもしれません。そう、「その程度のこと」だったからこそ、プログラミングというものが持つ、本当の力が見過ごされてきたのです。

「分割統治法」は非常にシンプルで、要領のよい人ならすぐに思いつくものですが、使うと使わないとではかかる手間が全く異なる、とても優れた思考。そしてプログラミングとは「機転」とも呼ばれる、それらの優れた思考の道筋を体系化し、洗練したものだともいえます。

実際、こうした「四つ葉のクローバー探し」や「エリアセールス」「宅配ピザ」における分割統治法は、プログラミングとは意識されていません。しかしプログラマーの視点を通せば、こうした戦略そのものが、プログラミング技術の亜種としても捉えられる、ということなのです。

■「小さな町の食堂」にもプログラミング技術は見られる

「分割統治法」のほかにもう一つ、このようにプログラミングテクニックとして認識されていない例をご紹介しましょう。

小さな町の食堂を思い浮かべてみてください。オヤジさんが厨房の中で調理を担当し、オカミさんが注文と接客を担当する。よくある風景ですよね。

食堂ではオカミさんがお客さんから注文をとって、オヤジさんが調理し、料理を提供するわけですが、調理の間、オカミさんはじっと待っているわけではありません。次にお客さんが来れば、また注文をとり、てきぱきと料理を運び、食べ終わった食器は洗い場へ戻します。

オカミさんが動き回っている間、オヤジさんの手も止まりません。前の料理が運ばれたそばから次の料理を作り始めています。

この見事な「役割分担」があるおかげで、オカミさんは接客に集中し、そしてオヤジさんは調理に集中できるのです。

一方でこの役割分担ができていないところ、たとえばオヤジさん一人でまわしている食堂に入った際、たくさんの先客と同席したためにイライラしながら待たされる……なんてこともすぐに想像できるのではないでしょうか。

■ワンオペ食堂と2人で運営する食堂の違い

ここでオヤジさん一人しかいない食堂と、先ほどの食堂との違いを、料理が運ばれるまでのプロセスで考えてみましょう。

どんな食堂でも、お客さんが入店して料理が提供されるまでの基本的なプロセスが「図表1」の流れになっているとします。

【図表1】注文の流れ/画像=『増補版 教養としてのプログラミング講座』
【図表1】注文の流れ/画像=『増補版 教養としてのプログラミング講座』

オヤジさんが一人しかいない食堂に、二人のお客さんが別々に来て、先に入店したお客さん1が注文に悩めば「図表2」のような流れになりがちです。

【図表2】食堂での接客の流れ/画像=『増補版 教養としてのプログラミング講座
【図表2】食堂での接客の流れ/画像=『増補版 教養としてのプログラミング講座

この場合、C「お客さんが食べたいものを考える」に、注文をとりに行ったオヤジさんが待たされることになったため、厨房に戻れず、以後の進行がストップ。後に入ったお客さん2の流れも滞ってしまっています。これは全ての過程を一人の人間でこなそうとするために起きること。

ではオヤジさんとオカミさんがいる食堂ならどうでしょう。

この場合、接客するのはオカミさんに限定しているので、同時に複数のお客さんを捌(さば)きやすくなるはず。

仮に「図表2」のように、お客さん1が長く考え込んでも、オカミさんの判断で、お客さん2の注文を先にオヤジさんに届けることができれば、その場で調理は始まりますから、少なくともお客さん2は早く料理にありつけることでしょう。

■役割分担を「パイプライン」と呼ぶ

メニューを貼り出しておくことなどでA→B→Cのプロセスは短縮できるかもしれませんが、オヤジさんとお客さんとのやりとりに時間がかかれば、ロスが発生することは避けられません。

やむなく効率を追求すれば、選択の余地が無いくらいにメニューを限定するか、調理が簡単な、もしくは作りおきのものを提供することになるでしょうから、これではバラエティに富んだ、美味しい料理を提供することは自然と難しくなってしまいます。

接客係と調理係をきちんと分担することで、より調理に力を入れたメニューを提供する。これが食堂ではとても大事なのです。

プログラミング用語では、こうした役割分担を「パイプライン」と呼びます。

パイプラインは複雑な作業工程を細かな単純作業に分割し、効率的に作業を処理する方法として、プログラムの世界で頻繁に用いられている技術です。

そして屋台や食堂の発展形、たとえばフランチャイズ方式のレストランともなると、まさにこういったプログラミング技術のオンパレードになります。

■「セントラルキッチン」もプログラミングで説明できる

レシピや材料が全く同じでも、味にはどうしても差が出るはずだし、食材の調達に下ごしらえ、調理という過程は高級レストランと変わらない。なのになぜ、フランチャイズのレストランでは、全国どこでも割安で、均一な味の料理を提供できるのでしょうか。

清水亮『増補版 教養としてのプログラミング講座』(中公新書ラクレ)
清水亮『増補版 教養としてのプログラミング講座』(中公新書ラクレ)

この難問をクリアするために、多くのフランチャイズ店では、「セントラルキッチン」方式を採用しています。

それぞれのレストランからほぼ等距離の地点に、食材の調達から下ごしらえの加工まで一手に行う大規模な厨房を設置。毎日そこから各レストランへ向け、下ごしらえの終わった食材を送る。これならフランチャイズ全体の食材を一気に大量に仕入れることができるため、仕入れコストが下がります。

下ごしらえも一度に行えば、熟練した職人による味の均一化を図ることもでき、価格を下げ、味を均一なクオリティに保つこともできます。そのうえ、各レストランでは最低限の調理しかしなくてよいため、かかる時間も短縮できる。これが「セントラルキッチン」の利点です。

このセントラルキッチン、プログラマーなら先に述べた分割統治法とパイプラインの複合技として捉えられるかもしれません。このように、実社会のさまざまな仕組みが、プログラミングという視点を通じて説明でき、またプログラミングの概念が、実社会のさまざまな局面にも応用可能だといえるのです。

----------

清水 亮(しみず・りょう)
ギリア代表取締役社長兼CEO
1976年新潟県生まれ。2005年に情報処理推進機構(IPA)より「天才プログラマー/スーパークリエイター」として認定される。17年にソニーCSL、WiLと共にギリア株式会社を設立。19年より一般社団法人未踏によるAIフロンティアプログラムのメンターとして活動。「ヒトとAIの共生環境」の構築に情熱を捧げる。著書に『よくわかる人工知能』(KADOKAWA)、『プログラミングバカ一代』(共著、晶文社)など。noteサークル「shi3zのメディアラボ」主宰。

----------

(ギリア代表取締役社長兼CEO 清水 亮)

この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください