1つの解決策を永続的な決定とするのは無理がある――曳光弾とプロトタイプ、ユーザーからのフィードバック問題解決力を高めるコツはプログラミングの原則・思考にあり(7)(4/4 ページ)

» 2017年08月24日 05時00分 公開
[上田勲]
前のページへ 1|2|3|4       

UNIX哲学(3) 即行プロトタイプ

 英語  Build a prototype as soon as possible.

 日本語  できるだけ早く試作を作成する。

 What 〜できるだけ早くプロトタイプ着手

 できるだけ早くプロトタイプを作成します。

 あるアイデアがものになりそうか、目に見えるようにして現実的かどうかを確かめるには、試しに作ってみるのが一番です。この試作のことをプロトタイプと呼びます。

 「できるだけ早く」とは、本当に「できるだけ早く」ということです。完全な機能仕様書を待っているのは、時間の浪費です。プロトタイプによる「学び」によって、開発の推進力を高めます。

 Why 〜試行錯誤なしでよいものは作れない

 まったく失敗をせず、常に正しい結果を出している人間は存在しません。ソフトウェアの開発においても、最初から完全なソフトウェアを書くことは不可能です。ソフトウェアには、継続的な改善作業が不可欠です。試行錯誤は当然であり、数えられないくらいのやり直し作業を行って、初めてよいソフトウェアが誕生します。

 また、試作以前のアイデアは、「これはこう動くはずだ」という憶測の域を出ていません。そのため、この時点では、設計構想は、ほとんどの人に完全には理解されません。人によってその解釈はまちまちです。しかし、プロジェクトの前進には、全員の合意が必要です。プロトタイプによって、目に見える形でゴールを示すことで、メンバー全員の同意や理解を得ることができます。

 How 〜プロトタイプで確度を高める

 早いプロトタイプ作成によって、リリースを早めましょう。

 プロトタイプ作成が早ければ早いほど、製品のリリースは早まります。プロトタイプ作成によって、以下のメリットが得られるからです。

  • 前提の誤りを早期に発見できる

 プロジェクトの初期においては、設計の方針を定め、その方針の可否を早めに判断しなければなりません。プロトタイプを作成すると、前提の誤りを早期に発見し、わずかな被害で済ませることができます。誤った前提のまま何ヶ月間も開発を進めて、リリース日の直前になって不意打ちを食らうことはありません。

  • 要件不備による手戻りを減らせる

 プロトタイプのフィードバックにより、要件不備による手戻りを減らすことができます。プロトタイプをユーザーに見せてよい反応が得られれば、要件が間違っていなかったことを確信できます。

 悪い点を指摘されることもありますが、それはそれで、貴重な情報です。ソフトウェアの完成後に、多数のユーザーから愛想を尽かされるよりも、開発の本格着手前に、少数のユーザーから批判を受ける方がはるかに救われます。

  • 早いうちから誤りを取り除く作業を始められる

 プロトタイプのフィードバックにより、早いうちから誤りを取り除く作業を始められます。それが早ければ早いほど、高品質の最終製品に早くたどり着くことができます。開発が進めば進むほど、「計算不能なアルゴリズム」「合致しないタイミング」「わかりにくいユーザーインタフェース」など、続々と問題が見つかりますが、プロトタイプがあれば、これらを「ふるい」にかけ、試行錯誤しながら品質を上げることができます。

 関連 〜第3のシステム

 人間は、すべてのシステムにおいて、それを改善していきながら、順に「第1のシステム」「第2のシステム」「第3のシステム」をリリースしていくことになります。

  • 第1のシステム……性能こそ非常に高いものの、必要な機能がいくつか欠けている。
  • 第2のシステム……振り子が反対方向に振れ、機能は多くなるが、性能が犠牲になっている。
  • 第3のシステム……両者の間に最適なバランスが模索され、本当に必要な機能だけが残され、適正なリソースで多くのことを達成できるようになる。

 システムを開発するにあたっては、この「第3のシステム」を目指すべきです。

 では、どうすれば第3のシステムを作れるのでしょうか?

 その答えは、最初に他の2つのシステムを作ることです。それ以外の方法はありません。この順序を変えようとして何をやっても、それは本来1つずつで済むはずの第1のシステムと第2のシステムを、いくつも作ることにしかなりません。

 ただし、第1のシステムから第3のシステムへとできるだけ速く進む方法はあります。それがまさに「プロトタイプ」です。「プロトタイプ」とは手段であり、その目的は「第3のシステム」なのです。

書籍紹介

プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則

プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則

上田勲著
秀和システム 2,200円

一通りプログラミングができるようになった。しかし、読みにくい、遅い、頻繁にエラーが発生する、書いたコードを修正すると動かなくなる等々、なかなか「よいコード」を書けないとお悩みではありませんか? 本書は、よいコードを書く上で指針となる前提・原則・思想、つまり「プリンシプル」を解説するプログラミングスキル改善書です。初心者向けの書籍では絶対に説明しない、古今東西のプログラマーの知恵をこの一冊に凝縮しました!


注文ページへ


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。