料理とプログラミングの共通点

先週作ったモウイのレシピを今更おきレシに投稿して安堵する担当のイッペイです
こんばんは!

自社で運営する沖縄食材のレシピサイト「おきレシ」
のUI改善の学びを得るために、久々に料理を投稿をしたのですが、
今回はよく言われることで、「料理とプログラミングには共通点があるよね」という話です。

これが、今回開発・・・いや、料理した「モウイのラタトゥイユ」です。
DSC_0124

・・・。

巨大なシステムの開発はよく建築に例えられますが、
Webサイトとかの小さな開発は料理の方がイメージがしっくりきます。

よくよく考えると書籍等のタイトルでも、全体の設計に関わるようなことを解説しているものは
「○○アーキテクチャ」とかタイトルがついている一方で、
プログラミングの小さな技集みたいなものは
「○○レシピ」なんてものが多い気がします。

建物も料理もどっちも「作る」ということには変わりないのですが、
建物はガッツリ設計書を書いて、めちゃめちゃレビューをしてレビューをした上で作りそうですが、
料理の設計書(レシピ)は作りながら決めて、後でリバースで書き起こしていそうな感じです。

例えば、こう、手元に500円のレンタルサーバ
DSC_0102

があって、ちょっと最新のRubyやJavaは動かないんだけど、

PHPはバージョン5.5が使えます。

WebサーバはApache2.2、データベースはMySQL5.5・・・

そこで、誰かにこう言われる。

「あのさぁ・・・それでfacebookみたいなの作って欲しいんだけど。投稿がシェアできて、コミュニティーもあって、いいねボタンみたいなやつ付けてね。データを入れたり出したりするだけだから簡単でしょ?」

・・・え?

おいおい、ちょっと、この予算と俺だけでfacebookみたいなの・・・?・・・だと?

DSC_0107

まてよ・・・facebookと別タブを出して見比べられたらショボイのが分かるが、
あくまでもそれっぽいものなら作れるぞ・・・!
 
・・・お、ここで便利そうなフレームワーク見っけ!
DSC_0117
 
 
このライブラリーは中々使えそうだぞ^^
DSC_0111
 
 
この辺はフルスクラッチで開発するしかないか・・・
DSC_0109
 
 
デバッグ中・・・。何か、JavaScriptとPHPの連携がややこしいぜ・・・
DSC_0120
 
・・・そんな感じでしょうか。
ちょっと違うか^^;
 
ちなみにこの料理は実作業は全部自分でやったのですが、
ディレクターはうちの家族でして・・・
何か物凄く追加仕様・・・というか仕様変更が多かったです。
 
「レシピとして書き起こしたいので、あんまりLiveすぎるのとか、後付けの手順はなるべく簡便して欲しいんだけど・・・」
 
とお願いしてみましたが、最後まで仕様変更が止むことはありませんでした・・・。
 
料理初心者はしっかりレシピを読んで、そのとおり分量を守ってやるのがコツだと聞いたことがあるんですが^^;
 
しかし、結果的に美味しかったので、設計は破綻してなかったということですね。凄い。
・・・これはまさかアジャイル開発の成功例か・・・。
実装方法を知り尽くしているプログラマがディレクションをすると、設計書を書くのが下手でも、
経験の浅いプログラマにも、ある程度良い仕事をさせることが出来るということなのか・・・。
 
ただし、この開発(料理)の後に私が書いたドキュメント(レシピ)の行間を読むのは大変です。
再現できる人、いるのかな・・・?
 
この辺はドキュメントに記載する必要のあるところと、
記載しなくても読める行間を理解している必要がありますね。
実装とドキュメンテーションの場数を踏まないといけないということですね。
うん。プログラミングと同じだ。
 
無理矢理すぎるけど!

   
サンネット株式会社
〒901-2101
TEL098-870-0670/FAX098-870-0671