人は誰しも、自分の慣れ親しんだ「やり方」で物事を進めたがるものだ。システム開発も、とかく「いつもの段取りで進めよう」となりがちである。むしろ、開発のような仕事であればこそ、いつもとは違うスタイルで臨むことに抵抗があるのかもしれない。

 これは決して、間違った考え方ではない。会計でも人事でも、例えば業務パッケージシステムを開発するベンダーであれば、いかに確実に、そして効率的に開発を進めるかが重視される。だから、実績のある開発手法と計画を毎回順守すべきだろう。

 また、毎月毎月、同じようなリニューアルを繰り返すサービスであれば、そのサービスを運営する事業部門も、従来とはなるべくやり方を変えずに、決まったタスクをこなす方が失敗の確率は下げられる。

 しかし、である。

 ITエンジニアには「これまでとは違うアプローチで開発すべし」と、勇気を出してビジネスサイドに提案しなければならないシーンが必ず訪れる。それが仮に、相手にとって抵抗のあるような進め方であってもだ。

 今回はそんな、これから作ろうとしているサービスにとって最適な開発手法をITエンジニアが積極的に提言していく話をする。

 舞台はリクルートにおける、某Webサービスの開発シーン。そのサービスを運営する事業部門では、魅力的かつ便利な企画や機能を、いかに競合企業よりも早くリリースできるかを常に追求していた。

 それだけに、システム開発に対する考え方も実に柔軟である。多少の不具合があっても、とにかくリリースまでのスピードを早めることを優先する。しかもリリース直前まで、可能な限り機能を詰め込むという、いわゆるQCD(品質・コスト・納期)の優先順位でいけば「納期≧品質>コスト」的なスタイルが、これまでの開発手法だった。

 Webサービスを展開する事業会社にとっては、至って普通の考え方かもしれない。

 その事業部門が、今度は顧客である企業の業務もカバーするシステムを開発したい、と言ってきた。これまでは一般消費者(リクルートでは「カスタマー」と呼ぶ)向けのサービス開発が中心だったのに対し、今度の開発は顧客企業(同様に「クライアント」と呼ぶ)向けの、いわゆる業務システムである。