Creativity

これは物書きの創作ステップだそうだけど、創作にはInsight、Saturation、Incubation, Illumination、Verification の5ステップあるそうだ。

説明によると、まず興味や疑問が湧き、飽和するまで情報を取り込み、アイディアを孵化させ, 考えがまとまり、何回でも作り込んで現実の物にする。

これって理想とするソフト開発のステップそのものじゃないか。

頭の中に絵がかけるまで取り込んだ情報は孵化するみたいにプログラムとなって出てくる。形ができたプログラムはリファクタリングを繰り返して完成度を高めて最終形とする。

右脳、左脳というけど、高レベルのプログラミングの解というのはオンデマンドに問題を解くのと違い、非同期に頭の中でまるで孵化するようにまとまってくる。

日本の著名なギタリストは取り込んだ音楽が醱酵して出てくるんだと言ってたが、まさにそんな感じだ。そういう意味でもプログラミングと言うのは実はとてもクリエィティブなプロセスだ。

だから究極のプログラミング法というのはデザインパターンの丸暗記みたいな物ではなく、絵描きや物書きといったクリエィティブなプロセスにとても近いものなのではないかと思う。