動かして、整えて、拡大する
(Make It Work, Make It Right, Make It Scale)
このキャッチーなフレーズは私の発案ではなく、賢いエンジニアから学んだものだ。賢い
エンジニアと一 緒に働 いたことがある(あるいは 彼らの 本を読んだことがある)ならVDPフ
レーム ワーク の 話 は 聞 き覚 え の ある 話 か もしれ な い 。
プログラミングは複雑だ。コードをテストする前に、完璧なコードをたくさん書くとバカを見
るものだ。ユーザーと対話する前に、巨大で高くつく新機能をつくるようなものだ。小さく
始 め 、 進 めながらテストするほうが い い 。
エンジニアは「概念実証(PoC:proof of concept)」から始める。概念実証とは、
壮大な計画が実際にうまくいくことを示すのに最小限の、手早くつくれて見た目がよくない
デモのことだ。手早くつくれて見た目がよくないことは、初めの段階ではとても褒められる。
そ れ が うまく動くことが わ かったら 、 整える。体裁を整え、中身を適切に整える。うまく動
いていれば「適切」がどれくらいかがわかっている。問題を直し、安定させ、エッジケース
をなんとかする。ぱちぱち。そうして、コードが現実世界でうまく動くようになったら、数
百万のユーザーのために、規模を拡大しても速度を落とさず、効率的に処理できる方法を
考える。
ソフトウェア開 発では普 通このように考える。 理にかなっている。UXも かくあ りた い が
……。
コンピューターは疲れない。常に指示に従い、毎秒数百万回の決定を下せる。人であ
るユーザーはそうはいかない。人は怠惰で、気が散りやすいし、熱しやすく冷めやすく、
一貫性がない。正直、あちゃーということばかりする