ソフトウェア・クリエイティビティ 2.0
日経BPからでました。ロバート・グラスさんの
リーン・ソフトウェアのシリーズ(メアリー・ポペンディック)を一緒に訳してきた高嶋さんが主の訳者。
私も、最後に「解説」を書かせてもらいました。ソフトウェア開発に関して、「生産性(プロダクティビティ)」をうんぬんすることは多く行なわれていますが、「創造性(クリエイティビティ)」に関してはほとんど言及されてきていません。測定するのが難しいからでしょうか。
でも、ソフトウェア開発の実際は測定できること(して意味のあること)の少なさに愕然とします。
そんなことを感じながら、「でも、ソフトウェアの楽しさってそこ(創造性)だよな」と信じる気持ちを強くしました。
一部、解説を掲載します。
「ソフトウエアは工業製品なのだろうか、それともアートなのだろうか。」
この質問は、私自身が20年間のソフトウエア開発者人生を通してずっと悩んできた問題であり、まだ解決できていない問題でもある。ここで、「アート」とは芸術という狭い意味ではなく「人間の技」を含むサイエンスの対義で捉えてほしい。ソフトウエア開発を職業としている人たちにとって、仕事の中に「アート」に属する部分があることは否定できないが、全体をアートだと言ってしまうとまったく前進が望めないように思える。逆に、趣味でソフトウエアを開発したり、オープンソースに参加したり、大学や企業内R&Dにおいて研究に携わっている人からすると、自分たちの活動を「工業製品」と言われた瞬間にそれは発想の自由のないアクティビティに見え、自分の人生を費やす意味をなくしてしまう……
アートとしての立場からの発言は、書籍やブログ等でまだまだ活発なようだ。ポール・グレイアムの著書『ハッカーと画家 コンピュータ時代の創造者たち』には、アートとしてのソフトウエアが賛美されているし、ジョエル・スポルスキーの『Joel on Software』シリーズにもその傾向が強い。これらの共通点は、コードに対する偏執的なこだわりと美意識、プログラミング活動に対するあくなき欲求がなければ、良いソフトウエアができない、という点である。アンディ・オラムらが編集した書籍『ビューティフルコード』には、そのような美しいコードの魅力が強く語られている。まだまだ、この陣営はモチベーションを持って持論を主張し続けている。しかし、これはこの立場が「カウンターカルチャー」であることがその情熱の理由にも思える。「工業製品」ととらえているメインカルチャーとは逆側から、現在、どうしようもなく悪い方向に工業製品化が進んでしまったソフトウエア開発の堕落を嘆いており、アートへの回帰、ソフトウエアの喜びの回復を叫んでいるのだ。
逆に、工業製品的立場からの発言は若者からの人気はないが、産業界全体はこちら側を主体として進んでいるように見える。すくなくとも、ソフトウエア開発をGDPベースで見ると、ほとんどのソフトウエア開発は、こちら側になるのではないだろうか。このような経済状況でソフトウエア開発を管理しようという立場から見ると、天才的個人、ひらめき、スーパープログラマといった偶然的要因に頼るのではなく、計画どおりにちゃんと仕事をこなすエンジニアたちに、ソフトウエアを、期間内に、決まった予算で、品質よく仕上げてもらわなくてはならない。これができなくては、企業システムの開発を「請負う」ことはできないし、ソフトウエアを含む製品を開発することもできない。これは、ビジネスとしてソフトウエア開発をとらえると、当たり前のことのように思える。
この2つの中間に位置づけられるのが、最近の「アジャイル」だと私は思っている。この10年でソフトウエア開発界に起こった一番大きな事件は、「アジャイル開発」の(再)発見とその現実への着地だと思う。プログラマの能力を最大限活かすことから始まったように見えるアジャイルだが、実際は顧客とのコミュニケーション、ビジネス価値の最大化、リスクへの対処、変化への対応、などの企業経営視点を含んだアプローチとして理解が進んだ。そのおかげで、欧米で着実に採用が進み、今では日本でもこの動きを無視できない状況になっている。アジャイルが確実に実用化され、企業内利用が進んでいるのだ。それでもなお、従来のウォーターフォール型のやり方との「戦い」は結論がついておらず、いたるところで採用・不採用の議論が続いているのが現実だ。
ともあれ、2010年を迎えるにあたって、最初の疑問である、
「ソフトウエアは工業製品なのだろうか、それともアートなのだろうか。」
には、答えが出ていないのが現状である。
では、この疑問について本書のテーマである「クリエイティビティ(創造性)」は何か答えなりヒントになるのだろうか? 答えは「イエス」である。本書では、「ソフトウェアの生産性(プロダクティビティ)」ではなく、「ソフトウェアの創造性(クリエイティビティ)」という新しい概念を取り出している。そして、その創造性は工業製品にもアートにも見つけることができる。iPhoneの例をひくまでもなく、新しい市場を切り開く製品開発にはかならずクリエイティビティが必要だし、競合に勝てる機能を見つけ出すのもクリエイティビティだ。そして、一般には開発ライフサイクルの前半に集中して必要になると思われるクリエイティビティが、実際は「製造」などと工業の悪しきアナロジーで呼ばれるコーディングにいたるまで、幅広く必要だということも本書からわかる。クリエイティビティはソフトウエア開発のいたるところに現れるし、必要なのだ。Creativity Anywhere!これが、本書の一番大きなメッセージだと思う。(以下つづく)
以下は、本書を買って読んでください^^;!⇒ 「ソフトウェア・クリエイティビティ2.0」