« 新人技術者にはOOPLの前にDSLを | トップページ | ドメインの階層化とDSP »

2015.03.22

「CONCEPTWARE/受注生産」の実装版が完成

 「CONCEPTWARE/受注生産」の実装版が完成した。最終的に57個のテーブルと201個の機能定義と62個の業務定義を含む小振りな生産管理システムとしてまとまった。開発を始めてから1年ほどだが、休日にも開発したので、延べでは5~6人月といったところだろう。これは設計から実装までを含む工数なので、小さめの規模とはいえ開発生産性はけっして低くない。

 この生産性は基本的に、気の利いたエンジニアリングツール(XEAD Modeler)と開発基盤(XEAD Driver)を利用した結果であるが、「おひとりさま開発」にこだわった結果でもある。去年の7月に開催した中間レビュー会での指摘や、実際にシステムを動かして気づいた問題にもとづいて、仕様変更を何度も何度も図ったのだが、おひとりさまでなかったらそんな無茶はできなかっただろう。改修課題をいちいち関係者に指示するようなやり方をとっていては、手間がかかりすぎるからだ。だから、アジャイル開発を実践するのはじつは簡単で、気の利いた開発環境の下で設計から実装までひとりでやればいいのである。ペアプログラミングなんて悪い冗談としか思えない。

 このように主張すると「育成の視点が欠けている」とか「欠員リスクが大きい」と言われたりするが、的外れである。以前にも書いたが、おひとりさま開発の有効性はエンジニアリング上の事実である。いっぽう、育成や欠員に対する配慮は、組織論やプロジェクト管理上の問題だ。そこらへんの観点から必要と思われるなら、人員を多重化するなり、新人を組み込むなりすればよい。それらは、おひとりさま開発の有効性とは軸の異なる問題である。

 育成に関して言わせてもらえば、そもそもモデルシステムのような「教材」を整備することのほうがOJTより優先されるべきだ。モデルシステムを起点として、モデルや実装版の習作を繰り返す。そのような教育体制を確立することのほうが先決であって、それがないままに相変わらずのOJT頼みというのは工夫がなさすぎる。それに、効率的な開発基盤がいろいろと登場しているにもかかわらず、育成の大義名分で余分な人数を投入するというのは、顧客に対して失礼な話だ。メンバーがひとり増えるだけでどれだけ効率が損なわれるか知らないのだろうか。

 欠員リスクに関しても、そもそも「欠員しても大丈夫なように、要員を余分に入れておこう」というのは、技術者を「交換可能な部品」とみなすゆえの発想である。おひとりさま開発を実践できるような開発者は、自身がドメインエキスパートであるような希少な人材である。いっぽう、ドメインエキスパートではない要員をいくら集めても、システム開発はうまくいかないものだ。ゆえに今後のシステム開発事業は、タレント事務所や士業のような、限られた人材資源をうまくまわすための采配が求められるだろう。

 「CONCEPTWARE/受注生産」の実装版の公開にさきがけて、その基本設計情報ファイル(MfgOrder.xead)を、XEAD Modelerに「サンプルモデル」としてバンドルした。絵描きもミュージシャンも建築家も、若い頃に良い事例を真似しながら腕を磨いてゆく。システム開発者も同じことだ。真似したくなるような事例が身近にないのであれば、ぜひこのモデルを眺めながら、自分の手に馴染んだ開発基盤を使って実装してみてほしい。何のためか。モデルのイディオムやその組み合わせを含む「システム仕様の型」を身体化して、ドメインエキスパートとして成長するためだ。

|

« 新人技術者にはOOPLの前にDSLを | トップページ | ドメインの階層化とDSP »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/87674/61320570

この記事へのトラックバック一覧です: 「CONCEPTWARE/受注生産」の実装版が完成:

« 新人技術者にはOOPLの前にDSLを | トップページ | ドメインの階層化とDSP »