【90】柔軟性がプロジェクトマネジメントをシンプルにする
宮本武蔵は 17 世紀の有名なサムライで、「ひとつの武器、ひとつの流派に固執してはいけない」という原則を信じていました。このアドバイスはプロジェクトにも当てはまります。ひとつのマネジメント原則、ひとつのソフトウェアツール、ひとつのプログラミング言語といったものに固執しすぎないことは極めて重要です。既存のリソースを柔軟に、さまざまに配置可能だと考えることによってのみ、顧客の問題に対して最高の対応をとることができるのです。
プロジェクト要求を定義するときには、最初から偏見なしにやりましょう。顧客と話す前に、すでに武器を手にして戦い方を決めていると、あなたのソリューションがベストであることを証明するのは困難です。
武器を選ぶ前に、顧客の要求をすべて調べましょう。顧客はあなたが提供する新しいソフトウェアを使ってどんな問題を解決しようとしているのですか? 通常、問題はビジネスロジックにあって、現在のソフトウェア資産ではその機能を十分果たせていないことを示しています。次に、組織内にある再利用可能なシステムやリソースについて検討しましょう。既存のシステムの一部をうまく再利用することで、プロジェクトの道のりを短く容易にすることができます。
再利用可能なものとしては、企業インフラ施設、機器やソフトウェア、商用のデータベース、プログラミングツール、人的資源のスキルなど、さまざまなものが含まれます。
ソフトウェアやプロジェクト成果物によって満たされるべき顧客要求を、既存リソース中心に分析すると、現在の組織にある基本的リソースが浮き彫りになります。「私たちのユーザーは、XPP34 コールセンターシステムと私たちの企業向け売掛金勘定システムを協調動作させる必要があります。あなたの製品は 4465IL レガシーソフトウェアと統合するか互換性をもつ必要があります」といったことがわかるでしょう。
あなたがやるべき仕事は、顧客が期待する各種最終パフォーマンスについて、また既存のリソース / ソフトウェア / システムと新しいコードがどんな相互関係をもつべきかについて、顧客に適切な質問をすることです。既存リソース中心のアプローチをとることで、あなたは顧客が将来望んでいる変更のための土台を築けるかもしれません。このように分析することで、最終的にあなたのソフトウェアは新しいリソースの一部となっていくでしょう。これは現在の問題を解決するだけでなく、将来のプロジェクトを実現させ、将来のソフトウェアとやりとりすることにも使えます。
顧客が何を望んでいるのか、あなたの組織でどんな既存リソースが利用可能なのかがわかると、問題と戦うのに最適な武器を選ぶことができます。実際の開発においては、まず顧客の信頼を得るために、いくつかの重要な要求の実現に注力しましょう。重要な要求を満たすために必要なモジュールとサービスは、プロジェクトの最初に実装しておくべきです。
ソフトウェア設計のための新しい道をいつでも受け入れられるようにしておくと、絶えず要求が変化しても、気持ちよくプロジェクトに取り組めます。こうした柔軟性をもっていると、プロジェクトマネジメントという難題もシンプルになります。新たな武器と計画を作ることは、あなたの労働時間を楽しく豊かにしてくれるでしょう。