「堅い」開発スタイル

http://blogs.itmedia.co.jp/hiranabe/2006/03/__56f1.html?ref=rss

最近、SI業界とIT業界におけるソフトウエア開発スタイルの違いをよく意識するようになった。広く考えると、IT業界には製品開発も含まれる。チェンジビジョンの開発スタイルと、普段私が行っている開発スタイルはもちろん違うけど、

  1. 要求を重視すること
  2. 目に見える成果を残すこと
  3. 変化に対応する余地を残すこと

というポイントでは結構似ていると感じた。ただ、最後の「変化に対応する余地を残す」ってのが、ディフェンシブなSIなりの表現になっている。本質的にSIはディフェンシブであり、これを無理にオフェンシブに変える必要はないと思っている。お客さまとの交渉や繰り返し型の開発プロセスによって、変化・変更によるダメージをできるだけ最小限に抑える必要がある。ソフトウエアの生み出す価値も重要だけど、チームを守ることも大事だ。SIは、業態からしてチームとメンバーの安定性を継続することが重要な種類のビジネスだと思う。
同様に、新しい技術へのチャレンジも慎重に。無理をしすぎてはいけない。平均的なメンバーにも十分理解できるよう、技術の選択には気配りが必要だ。「かっこよいアーキテクチャ」や「流行のツール」が完璧に動作することを期待しすぎてはいけない。よく似た内容、メンバーで短めのプロジェクトが続く場合は、前回のプロジェクトのことを引き合いに出しやすいように、技術の変更は一つ二つにとどめよう。例えば、前回Struts+S2を使ったのであれば、今回はStruts+Springというのは、まあ「あり」だろう。しかし、JSF+Springに変えてしまうのは危険だ。チャレンジをする場合は十分な期間が必要だし、お客さまの求める価値に採用する技術が直接影響を与えることは少ない。
メンバーに説明するときはたとえ話を多用しよう。「これは前回でいうところの○○に相当します」という説明は分かりやすいはずだ。全てにおいてたとえ話を徹底し、理解度を確認しながらきっちりと進めよう。
このような「堅い」開発スタイルを楽しくなさげに感じる人は多いかもしれない。しかし、SIの現場リーダーとしてきっちりと成果を残すには、このようなスタイルを覚えることも必要だ。