頭の中を整理するために、新たにチーム開発を始める時に決めることをリストアップしてみました。すべて書き出すと大量になるので、プロセスや開発基盤を中心に書いています。
- プロジェクト計画
- ゴール
- マイルストン
- スコープ
- リリース計画
- プロセス
- チーム構成
- リスクと対策
- プロセス
- プロダクトデザイン(略)
- ソフトウェアアーキテクチャ(略)
- インフラアーキテクチャ(略)
- テスト計画(略)
- 開発基盤
- バックログ管理
- プロジェクト構成
- 計画から完了までのワークフロー
- ソースコード管理
- リポジトリ構成
- ブランチ戦略
- 品質ゲート(例:CIステータスチェック)
- ビルド
- プロジェクト構成
- ビルドツール(例:Gradle、Rake、Webpack)
- 静的解析、メトリクス
- IDEやエディタの設定管理
- 開発インフラ
- 継続的インテグレーションと継続的デプロイ
- 開発、ビルド、デプロイのワークフロー(例:masterブランチを自動デプロイ)
- 実現方式(例:Jenkins、Circle CI、DeployGate)
- 設定管理(例:Pipeline、circle.yml)
- コミュニケーション
- バックログ管理
- チームビルディング
- キックオフ
- 自己紹介
- ワークショップ
- トレーニング
- 1 on 1
以下の要因によって計画に必要な内容は変わります。例えば、上記には契約やコストの話は入っていません。
- B2Cサービス、B2Bサービス、自社内システム
- Webサービス、モバイルアプリ、ソフトウェアパッケージ
- 受託開発、社内開発
- 大規模、小規模
- 階層型組織、フラット組織
- 新規開発、エンハンス
- 期限付き、無期限
- スコープ固定、リリースポイント固定
- ワンロケ、複数拠点
チームやプロジェクトのレベルでコントロールするのが難しい内容もあるでしょう。例えば、以下が挙げられます。
- 採用戦略
- 人事評価
- 組織構造
- 技術選択
- 開発基盤整備
各トピックは互いに依存しているので、整合性が取れるように検討とレビューを繰り返すべきです。例えば、テスト計画と品質管理は密接に関係しています。
これらをチームの立ち上げ時にすべて決めるのは難しいので、優先順位を付けて漸進的に決めていくとよいでしょう。また、チームを取り巻く環境は刻々と変化するので、環境の変化に合わせてルールも見直すべきです。
ざっと書き出してみましたが、一生かけてもすべてに習熟するのは難しい気がします。チーム開発を始める時の計画も、誰か一人にすべてを委ねるのではなく、得意分野を持ち寄ってチームで決めるのが最良かもしれません。
チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)
- 作者: 池田尚史,藤倉和明,井上史彰
- 出版社/メーカー: 技術評論社
- 発売日: 2014/04/16
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (11件) を見る
- 作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未
- 出版社/メーカー: オーム社
- 発売日: 2011/07/16
- メディア: 単行本(ソフトカバー)
- 購入: 42人 クリック: 1,991回
- この商品を含むブログ (254件) を見る
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~
- 作者: Mike Cohn,マイクコーン,安井力,角谷信太郎
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2009/01/29
- メディア: 単行本(ソフトカバー)
- 購入: 74人 クリック: 764回
- この商品を含むブログ (226件) を見る
- 作者: Kenneth S. Rubin
- 出版社/メーカー: 翔泳社
- 発売日: 2014/08/01
- メディア: Kindle版
- この商品を含むブログ (3件) を見る
システムテスト自動化 標準ガイド CodeZine BOOKS
- 作者: Mark Fewster,Dorothy Graham
- 出版社/メーカー: 翔泳社
- 発売日: 2014/12/17
- メディア: Kindle版
- この商品を含むブログ (4件) を見る