情報試作室が理想とするカスタムシステムの開発プロセスは、以下の2点の実現を目標とします。
- できる限りクライアントに負荷をかけずに要求を汲み取ること
- できる限り早く完成形をイメージできるプロトタイプシステムを提示すること
これらを満たすには、クライアントと接するエンジニア本人が、クライアントの要求を汲み取り、プロトタイプシステムを開発し、完成形との差分を説明できることが理想的です。情報試作室では以上の考え方に基づき、チームではなく個人で要件定義からプロトタイピングまでを行います。また、この作業を行うエンジニアを「プロトタイピスト(prototypist)」と呼びます。
※プロトタイピストという職種は情報システムにはありませんでしたが、工業製品の金型の元になるモデルを作る「原型師」や、衣装の仮縫いまでを行うファッションデザイナーが「プロトタイピスト」と呼ばれています。
プロトタイピストがプロトタイプを作成し、クライアントのコンセンサスが得られた後は、従来の開発プロセスを適用しますが、そこでもプロトタイプは有用です。実際に動くプロトタイプシステムからリバースエンジニアリングによって得られるモデルは、頭の中で考えただけのモデルよりも矛盾や見落としが少なくなりますし、内部のコードやインタフェースデザインは、正確で詳細な設計資料として活用できます。また、プロトタイプを見ることにより、開発者もより具体的なイメージを持って開発できるので、仕様書だけを渡された場合よりもクライアントの要求に近いシステムを実装できるはずです。
優れたプロトタイピストに必要な技術や、それらをどのように習得するのかについては、残念ながらまだ模索中です。おそらくコミュニケーション能力や幅広いドメイン知識、高速開発手法、プレゼンテーション能力などが必要で、進捗管理や要員管理といったマネージャとしての能力は重要ではないでしょう。この点については経験を積み重ね、クライアントやエンジニアの方々のご意見を取り入れながら、少しずつでも明確にしていきたいと思います。それを反映することで、カスタムシステム開発プロセスを改善してまいります。