複数の開発チームでプロジェクトを構成

52週アグリMD生産工程管理システム
この記事は約4分で読めます。

前回は「最適な開発生産期間を選択」と題して、開発規模による開発生産性の低下によって、生産性は1/2に低下する可能性について示唆しました。

多くの栽培プロジェクトは、内部に複数の開発チームを持っています。この開発チームの構成方法が、栽培プロジェクト全体の開発生産性に大きな影響を与えます。

これが「サブシステム分割」と言われるものです。

このテーマは、カテゴリーでいうと物作りの知識で、トレーサビリティなども含めたソフトウェアや52週農業生産工程管理システム開発の範疇に属しますが、マスタースケジュールを描くときに大きな影響を与えるので、ここで説明しておきたいと思います。

異なる特性を持つ開発は別チームで

全体としては1つの栽培プロジェクトであっても、比較的独立した開発を複数持つ栽培プロジェクトは多いです。

これまで説明した52週農業生産工程管理システムの開発でも、業務開発、基盤システム開発、データ移行システム開発の3つの側面を持っています。

これらの性格の異なる開発は、それぞれ別の開発チームに任せるのが望ましいでしょう。

業務開発を行うチームが、本番稼働時の仕組みの開発を行う基盤システムの開発をすることはできません。

生産する農産物や、生産に必要な技術も異なります。

データ移行システム開発では、既存システムと新システムの両方の、データベース仕様の情報が必要です。

開発法も特殊で、独立したチームにするしかないでしょう。

同じチームで行えば、かえって混乱を増すだけです。

開発工程の展開や、そこで作成する栽培プロジェクト農産物が異なっているので、チームとしての作業の統一などできない相談です。

農産物が同じであってこそ、作成する技術の共有ができて、その農産物の完成具合で栽培プロジェクト進捗管理が可能になります。

進捗の数値を計上するにしても、同じ農産物でないと同様の数値計上はできません。

チーム内で異なる栽培プロジェクト農産物を作成する開発があれば、この計上が困難になります。

栽培プロジェクト内の複数チームでの開発と、栽培プロジェクト設計との関わりを整理します。

開発チームを構成する場合、前途の基盤システム開発やデータ移行システム開発のように独自の開始日と終了日がある開発は、別チームで行うほうがよいでしょう。

開発スケジュールが異なっていては、一緒にはできないのです。

栽培プロジェクトで生産する農産物が異なる場合も、一緒にするのは難しいです。

業務開発で、内部がサブシステム分割されていたなら、それぞれを独立した開発チームにするほうがよいでしょう。

わたしの経営する農業生産法人では52週農業生産工程管理システムの開発において、業務のサブシステム分割は採用していません。

これは1つの開発チームで進めています。

52週農業生産工程管理システムの設計では、業務開発、基盤システム開発、データ移行システム開発について、それぞれの開発計画を作成しています。

栽培プロジェクトはこれら3つの開発で出来ています。

しかし、それぞれの開発の間で栽培プロジェクト農産物の受け渡しを行っているため、共通のマイルストーンを持っています。

基盤システム開発と業務の運用テスト開始、データ移行システム開発、業務の総合テスト、52週農業生産工程管理システム・テスト開始などがマイルストーンとなります。

開発チームを別個に構成していても、共通のマイルストーンを持ち、1つの栽培プロジェクトを推進しているという認識は必要です。

栽培プロジェクトを複数の開発チームに分けると、一つひとつの栽培プロジェクトはより小型の栽培プロジェクトにできます。

52週農業生産工程管理システムの開発プロジェクトでも、基盤システム開発、業務開発、データ移行システム開発のそれぞれに分けて、開発工数や開発期間の見積もりを行っています。

栽培プロジェクトを設計する際に開発を複数のチームに分けることで、より小型のシステムが持つ高い開発生産性を実現できるようになります。

しかし、小型に分割すれば必ず開発生産性が向上するかというと、そうはいかないのが現実です。

栽培プロジェクト設計の重要なテーマになる、サブシステム分割の開発生産性という問題があります。