3.開発環境
ソース管理の実施
- ソースのバージョン管理「元に戻す機能」。
- ロックを使用すると競合の問題はなくなるが、ロックの解除を忘れると悲惨だったり欠点あり。
- tagはマイルストーンに対して意味のあるラベルとして使える。
- branch
- リリース時にbranchを作り、保守用に利用することで、次バージョンに向け--コードベースに劇的な変更をするような新機能の開発時にtrunkに影響を与えずに開発を進めることができる。
- グループで開発する際に便利なユーティリティ
- 代表的なソース管理システム
- Concurrent Versions System
- Subversion
- Perforce
- Visual Source Safe
- ソース管理に入れるべきもの
- ドキュメント
- アプリケーションの設定ファイル
- ビルドツール
- ソース管理に入れるべきでないもの
- コンパイル済みのソフトウェアなど
作業環境
- 作業環境のモデル
- 開発環境
- あらゆる新規コードの作成、テストの場。
- マメにソース管理システムと同期しておく(毎朝始業時など)
- 開発環境
- ステージング環境
- 開発環境ではソース管理と完全に同期とれていないことがほとんど。(自分のところでうごいても本線のソースでちゃんと動くかは保障できない)完全に同期しようとすると、開発者全員が完全に足並みをそろえないといけなくなる。
- ハードウェアとデータプラットフォームが開発用と実運用用では動作が異なることもある。
- 開発環境で構築されたアプリケーションを実運用環境時と同じ環境でテストするための環境。
- スナップショットを取り出して実運用ハードウェア上の実運用データでテストが可能になる。
- 実運用環境
- ユーザが目にすることのできる唯一の環境。
- ステージングサーバからコピーする。
1ステップビルド
開発、コミット・ステージング、デプロイ(展開)の一連の処理を1ステップで自動的に実行してくれるツールをつくる。複雑な作業を1ステップで実施できるようにしておくことでミスが減る。
- 開発用と実運用用の設定ファイルを両方ともソース管理に保存しておくテクニック
- デプロイ
- ステージングされたコードにリリース番号と日付のタグを付けて実運用サーバにコピー
- 自動化すべきでないもの
問題の追跡管理
開発上の未解決の問題(不具合、要求の不一致)がどうなっているか追跡する。
小さな規模の解決の場合付箋紙を使うのが有効だが、ある程度の規模になると、問題の優先度を決めてマイルストーンを追跡管理するツールが必要になる。
- 問題追跡管理ツール
- 最低限の機能
- 「問題」という実体に対して、「タイトル」「説明」「メモ」「所有者」「担当者」「状態」が含まれること。
- ソフトウェアの例
- FogBugz
- Mantis Bug Tracker
- Request Tracker
- Bugzilla
- Trac
- 何を追跡管理すべきか
- バグ
- すぐには修正しないものも項目はつくっておく。関係する開発者を担当者に割り当てて優先度を設定。
- 機能
- 新機能を計画したら、各機能に対してタスクやサブタスクを追加して進捗を管理する。
- バグを一緒に管理することで開発者自分が抱えている残作業を全体的に把握可能。
- 作業
- 即座に完了すべき作業以外はすべて。
- ある作業をすることになっているが、他の作業の待ち状態になっているとき、行いたい作業に対して「問題」を作成して、そこから完了待ちの「問題」へのリンクを張れば、まだ終わっていない作業がいつ完了したか追跡管理可能になる。
- 作業に必要な詳細事項を全てメモとして追加しておく。
- サポート依頼
- 顧客サポートも追跡管理する必要がある。
- バグ
- 最低限の機能
-
- 問題のカテゴリ化
- S1/高
- 即座に対応する必要のある問題。現在の開発を中断させてでも取り掛かる必要のあるもの。
- システム停止に関わるようなもの。
- S2/中
- 重要だが、現在の作業を中断するほどではない問題。
- 重要な機能、比較的重大なバグ修正など。
- S3/低
- 新機能のための作業などあまり本質的ではない問題。
- S1またはS2の問題がなくなったら取り掛かる。
- S1/高
- 問題のカテゴリ化
テスト
- 作者: Cal Henderson,武舎広幸,福地太郎,武舎るみ
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2006/12/26
- メディア: 大型本
- 購入: 4人 クリック: 115回
- この商品を含むブログ (70件) を見る