2008年11月3日月曜日

アイディアを証明することと実用に耐えるものにすること

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
だいぶ差がある。

2:8の法則を使って説明すると、労力(コード、テスト量)の2割は前者、残りの8割は後者。
で、価値を感じる部分は使い始めるまでは、前者が8割、後者が2割。

「使い始める前」が味噌。いままでできなかったことを可能にすることによる価値は8割だといいたいところだが、微妙。もちろん作り始めるモチベーションはそのバランスじゃないと存在しないのですが。

使い始めて使いにくさを実感すると、実用に耐えるものにすることに価値を感じ始める。実用に耐える状態を維持する、つまりユーザの不快感を取り除く作業です。メンテナンスと呼ばれていますが、エレベーターとかのメンテナンスとかとはちがい、ソフトウェアのメンテナンスは、定期整備というよりむしろ建物のリフォームや改築といったほうがあたっている。

当然、リフォームや改築をするためには元の構造がよくないとだめでしょう。設計が悪いとリフォームや改築自体が不可能で、建て直しになってしまう。ソフトウェアも同じ。

結局、使うのをやめるまでにトータルの8割の労力を投じることになるだろう。よい設計、悪い設計があるとしたら、その労力を減らす点が上げられる。しかし所詮未来予知なので、完全にはできない。そこで使いながら作り変えていく形態が必然になる。

作り変えていく作業を行うと、当然その過程でbugが入ってサービスがとまる危険が常に付きまとう。となると、常にテストし続けることになる。テストのコストが高い、つまり自動化されていないということは、そのような形態を不可能にしてしまう。
No automated test, No evolutionである。

また、メンテナンスを常にし続けるという形態を考えると、頻繁にリフォームされる家というのは現実的には存在しなくて、むしろ生物のホメオスタシーや新陳代謝を想起するほうがよりよいだろう。

当たり前のことだが、人間は、生きている間に皮膚がない状態になったり、骨がない状態になったりはしない。機能停止状態がいない。80年間365日24時間無停止である。生きているとはそういうことである。心臓の筋細胞とて例外ではない。しかし心臓はとまることはない。

あるサイトを支えるプログラムがあるとしたら、とめずに置き換えていくことができることが大事で、生物のあり方を目指すべきだろう。サイトの機能が増えていく過程は、生物が発生して成長していく過程になぞらえてもいいだろう。

細胞は全部入れ替わるし、構成している分子も入れ替わる。機能も変わる(蝶を考えてみよう)。しかし同一の生き物であることにはかわりがない。サイトもそのようにあるべき。ウェブサイトのデザインといった場合、cssで見えがどうのこうのというのはごくごく小さな話で、ユーザにサービスを提供する生物を創造するつもりでデザインすべきだとおもう。
そのレベルから見た場合、アイディアというのは、羽をつけたら空を飛ぶことができそうだみたいな要素です。

飛んでいるトンボをみたらよくできているとおもうが、卵からヤゴになり、脱皮して飛べるようになるプロセスを支え続けるものはなにか?という命題はサイトを通じてサービスを提供するのなら考えざるを得ないのです。

0 件のコメント: