最小限の労力で最大限の効果を得る、美しい設計を心がける

カテゴリー 記事
公開日 2016-10-24 02:24:00
コメント数 0

最小限の労力で最大限の効果を得る

 設計をするうえで、常に心がけている主題です。常に、最小限の労力であるか?最大限の効果であるか?問い続け、見直す点があれば設計を修正します。そして、最も理にかなったとき、その設計は美しいと言えるとでしょう。

 設計するものであれば、どんなものにも当てはまります。スケジュールから業務・人間関係・部屋の片付けから、パソコンのデスクトップ、あなたの周りにも設計出来るものは溢れています。プログラミングは特に設計の効果を発揮します。わたしは、23歳の頃にCMS(ウェブコンテンツ管理システム)を作り、現在に至るまでずっと改良を続けて作り続けています。CMSとは、プログラムの入ったウェブサイトを簡単に立ち上げるテンプレートのようなものです。このお陰で、ポータルサイトからブログからシステムの入ったサイトなどが、すぐに作れるようになりました。さらに基盤となるシステムを更新すれば、どのサイトも最新の機能を兼ね備えるのです。これは、今開発しているボットのウェブサービスの基盤にもなりました。汎用性が高いシステムなので、数人のプログラマーが数ヶ月かけて膨大な量のソースコードを書いて作るものを、数年積み上げた技術により一人で完成させることが出来ました。


自作したCMS 「 Uni Template

 最小限の労力でなければ、設計されて作られたものは手間のかかるものになります。同じ作業を複数回繰り返したり、不要な作業をしなければならなかったりします。だから、楽をできるように設計しなければなりません。将来を見据えて細かいところまでルールを作るのです。チリも積もれば山のような障害になるので、甘く捉えてはなりません。ルールを作り不要なものが貯まらないようにするべきです。例えば、プログラミングではシステムに影響しないソースコードの空白の書き方まで、全行統一させて記述します。後から、このシステムを複数の人間が触ることになってルールが統一されていなければ、各々が自由な書き方をして不揃いなコードになってしまうからです。問題に気付いたときは、時既に遅し。膨大なプロジェクトを端から端まで見直さなければならなくなるのです。長期的に見て労力が減らせるのであれば前もって整えて設計すること、それが最小限の労力であり続けることの意味であります。

 最大限の効果を得るということは、目の前の目的を達成するのはもちろんのこと。この先、想定外の事態に陥ったり、新たな可能性を広げることも踏まえて、柔軟的に設計するべきです。先程、最小限の労力のために細かいルールは必要だと言いましたが、不要なルールや障害になりうるルールは作らないようにします。また、膨大な設計になっても、分かりやすくまとめられていて複雑化しないように作ります。プログラミングでは新機能を追加しても複雑化しないように、機能をソフトにまとめ基盤となるシステムを全ソフトに対応できるようにアップデートします。テレビゲーム機器のゲームソフトとハードウェアの関係に似ています。組織なら、ルールがハードウェアであり、個人がソフトと言ったところでしょうか。どんなソフトにも対応できるようにハードウェアを作ることが、可能性を広げ性能を向上させます。長期的に見てどんな環境にも適応できるように設計すること、それが最大限の効果を得る意味になります。


CMSの基盤のシステムを元に開発したサービス、制作期間は2ヶ月「わたしはボットです

 わたしは、この設計の概念を踏まえて、ある計画(プロジェクト)を立てています。変化の激しいテクノロジーの世界でも失われない根源的な技術を設計しようという計画です。例を挙げるなら、検索や掲示板のようなインターネットが始まってから使われ続けている根源的な技術の研究です。ある分野の根源的な技術を磨けば、個人でも小さな分野のトップになることが出来て、唯一のサービスを提供することが可能だと考えます。そして、その技術が汎用性の高いものであれば、将来的にも大いに役に立つ技術になるでしょう。サービスのために開発すればサービスに需要が無くなったとき計画は終わりますが、技術を追求して副産物として生まれたサービスならサービスが終わっても計画は終わりません。これは、最小限の労力で最大限の効果を得ることを考えた行動に対する設計です。


✏️ライター:モカ

 これからの女装文化をつくる。企画、計画、設計、表現を主に行う。デザインからプログラミング、経営、なども自ら携わる。真理を見つめて真理に従う。己が出来る最大限の貢献のために進む。 株式会社UNI 代表 日本最大規模女装イベント「プロ..
すべて見る