英語 Build a prototype as soon as possible.
日本語 できるだけ早く試作を作成する。
できるだけ早くプロトタイプを作成します。
あるアイデアがものになりそうか、目に見えるようにして現実的かどうかを確かめるには、試しに作ってみるのが一番です。この試作のことをプロトタイプと呼びます。
「できるだけ早く」とは、本当に「できるだけ早く」ということです。完全な機能仕様書を待っているのは、時間の浪費です。プロトタイプによる「学び」によって、開発の推進力を高めます。
まったく失敗をせず、常に正しい結果を出している人間は存在しません。ソフトウェアの開発においても、最初から完全なソフトウェアを書くことは不可能です。ソフトウェアには、継続的な改善作業が不可欠です。試行錯誤は当然であり、数えられないくらいのやり直し作業を行って、初めてよいソフトウェアが誕生します。
また、試作以前のアイデアは、「これはこう動くはずだ」という憶測の域を出ていません。そのため、この時点では、設計構想は、ほとんどの人に完全には理解されません。人によってその解釈はまちまちです。しかし、プロジェクトの前進には、全員の合意が必要です。プロトタイプによって、目に見える形でゴールを示すことで、メンバー全員の同意や理解を得ることができます。
早いプロトタイプ作成によって、リリースを早めましょう。
プロトタイプ作成が早ければ早いほど、製品のリリースは早まります。プロトタイプ作成によって、以下のメリットが得られるからです。
プロジェクトの初期においては、設計の方針を定め、その方針の可否を早めに判断しなければなりません。プロトタイプを作成すると、前提の誤りを早期に発見し、わずかな被害で済ませることができます。誤った前提のまま何ヶ月間も開発を進めて、リリース日の直前になって不意打ちを食らうことはありません。
プロトタイプのフィードバックにより、要件不備による手戻りを減らすことができます。プロトタイプをユーザーに見せてよい反応が得られれば、要件が間違っていなかったことを確信できます。
悪い点を指摘されることもありますが、それはそれで、貴重な情報です。ソフトウェアの完成後に、多数のユーザーから愛想を尽かされるよりも、開発の本格着手前に、少数のユーザーから批判を受ける方がはるかに救われます。
プロトタイプのフィードバックにより、早いうちから誤りを取り除く作業を始められます。それが早ければ早いほど、高品質の最終製品に早くたどり着くことができます。開発が進めば進むほど、「計算不能なアルゴリズム」「合致しないタイミング」「わかりにくいユーザーインタフェース」など、続々と問題が見つかりますが、プロトタイプがあれば、これらを「ふるい」にかけ、試行錯誤しながら品質を上げることができます。
人間は、すべてのシステムにおいて、それを改善していきながら、順に「第1のシステム」「第2のシステム」「第3のシステム」をリリースしていくことになります。
システムを開発するにあたっては、この「第3のシステム」を目指すべきです。
では、どうすれば第3のシステムを作れるのでしょうか?
その答えは、最初に他の2つのシステムを作ることです。それ以外の方法はありません。この順序を変えようとして何をやっても、それは本来1つずつで済むはずの第1のシステムと第2のシステムを、いくつも作ることにしかなりません。
ただし、第1のシステムから第3のシステムへとできるだけ速く進む方法はあります。それがまさに「プロトタイプ」です。「プロトタイプ」とは手段であり、その目的は「第3のシステム」なのです。
プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則
上田勲著
秀和システム 2,200円
一通りプログラミングができるようになった。しかし、読みにくい、遅い、頻繁にエラーが発生する、書いたコードを修正すると動かなくなる等々、なかなか「よいコード」を書けないとお悩みではありませんか? 本書は、よいコードを書く上で指針となる前提・原則・思想、つまり「プリンシプル」を解説するプログラミングスキル改善書です。初心者向けの書籍では絶対に説明しない、古今東西のプログラマーの知恵をこの一冊に凝縮しました!
Copyright © ITmedia, Inc. All Rights Reserved.