私の職業は、IT技術者。ということで、自分の仕事を忘れないために、たまにはIT技術関係の話題を取り上げてみようと思う。
この数年、アジャイル開発手法が日本でも広まりつつある。私がアジャイル開発手法に出会ったのは、Kent BeckがeXtreme Programmingを広め始め、日本でようやく書籍が出始めたころだった。その頃、アジャイルの面白さを説明をしたところ、鼻で笑われ悲しい思いをした記憶がある。
アジャイル開発手法とは、「設計」「実装」「テスト」「リリース」を短いスパンで繰り返し実施する特徴がある(テストと実装が逆になることもある)。リリース後、お客様のレビューを受け、意見を聞き、さらに機能を追加して行く。
つまり、アジャイル開発手法は、お客様の要望を、次々に叶えて行く開発手法と言える。
そこで私は、ひとつひっかかった。「お客様の要望を、次々と叶えて行く」ということは、開発者の創造性はどこで発揮されるのだろうかと。
お客様の要望を叶えるために、美しいコードを創造することはできるが、ソフトウェアの存在を創造することができないのではないか。
このことを考えていたとき、あるブログ記事のことを思い出した。
Apple以外のメーカーは、ユーザーの声を聞く、という言い訳のもとで、「欲しいものを言ってください、それを全部作りますよ」、という姿勢をとっている。しかしAppleはそれはメーカーとして、いやクリエイターとして怠慢だろうと言ってるのだと僕は考えます。
iPad上陸間近。世界を変える商品の作り方 - 小川浩( @ogawakazuhiro )
アジャイル開発手法は、開発者が「どんな美しいコードを書き上げるか?」という点での創造性を発揮することができるが、「作ったモノにより、どのように社会に影響を与えるか?」という点での創造性を発揮することは、できないのではないだろうか。
これからのアジャイル開発手法には、開発者が、社会的な面での創造性を発揮するために、どのようなプロセスを取り入れ、どのように考えるかがポイントになるような気がする。
新しいモノが好きでIT技術者やってるのに、未来を予言し新しいモノを創造することが出来なくなってしまうなんて、悲しいじゃないか。
未来を予言する一番簡単な方法は、自分で未来を創造することだ。
アラン・ケイ