2008年2月7日木曜日

ありとあらゆるものを包含しても、それが何かを証明するわけではけっしてない

むしむしとした夏も、暖かい冬も、それはそれでいいものだけれど、きんきんに冷えた冬の一日も、冴え渡るひと時を与えてくれるという意味では、非常にありがたいものだということに最近気づきました。

フレームワークを評価する際に注目すべき点は何か?

・作業環境の構築と、解体は、頻繁に簡単に行えるほど、思い切った作業をしやすいので、できるだけ準備が簡単なものを用意すべきだし、できるだけ依存するものを減らすべきだ。依存するものとは、言語のバージョンや開発環境、データベース、バージョン管理システム、ビルド環境等がそれにあたると思われる。

・テストが簡単にできるものが良いので、モックやテストデータを簡単に作れるものがよい。つまりフレームワークなしでも起動が簡単にできるような、インターフェースを実装すべきだ。

・直感的な操作で作れるものがよい。ただし、これは、上記の二点とトレードオフにする場合には、慎重になる必要があるだろう。なぜなら、開発担当者はそもそも実装能力を持っているわけだし、開発手法にもなれたものを使ってもらうことは、プログラミング工数を減らすことよりも、生産性を挙げることも多いからだ。なにより、作業時間が計算しやすいというのは、開発者に余計なストレスをかけずにすむ。ユーザビリティを追求するからこそ、開発者の能力を見極めて信頼することはとても重要なことだ。

・メンテナンス性に優れているものがよい。フレームワークに限られた話ではないが、部品化と一般化は特にフレームワークのような、多彩な要求への対応を要求される部分には重要だろう。

・リソースの仕様はできるだけ抑えられたほうがよい。これは、起動時間を含めて、動作に時間がかかったり、大量の接続を受け付けた場合に、システムがダウンしてしまってはお話にならないので、当然といえば当然なのだけれど、やっぱり重要なので、そして、プロジェクト終盤になって問題になったりするので、挙げておきたい。

言葉にするとどれも簡単そうだけど、大規模システムでは、なかなかそうは行かないよね。なんででしょうな。

0 件のコメント: