1.開発環境準備、構築
◆作業の概要、目的、タイミング
開発に必要な環境を準備し、プロジェクト内での使い方のルールなどを決める。
- サーバ、OS、ミドルウェア、DB、開発ツール、専用ソフト、など
- ディレクトリ構成、ファイル名規則、更新ルール、バックアップなど
仕様がほぼ固まって開発作業の詳細内容が見えてきたら、開発環境の準備を始める。
- 本格的な開発作業に入る前に開発環境を準備しないと、実際の開発作業に入れない。
うっかりしていると、スケジュールが遅れる。
◆事前に必要なもの、情報
この作業の前段階として以下の作業を行い、また、作業に必要な情報として以下のものや情報等を用意しておく。
| この前の作業 | 事前情報、他 |
|---|---|
| ・設計全般 | ・システムの内容詳細 ・技術知識(マシン、ソフト、プログラム言語) |
◆具体的な作業項目、手順
前に準備・設定しておくべきこと、検討・決定しておくべきことには、主に以下のものがある。
開発に必要なハードウェア/ソフトウェアの洗い出し、その準備・設定
- サーバ機、OS、ミドルウェア、DB、開発ツール、専用ソフトなど
- ハードウェア/ソフトウェアの調達、インストール、各種設定、動作確認、ユーザ作成など
ファイル名規則
- プログラム開発中には、何人もの人が多くのファイルを作成することになる。ファイル名がバラバラで脈絡がなかったり、重複したりすると、プログラム全体を合わせるのが大きな手間となる。
- あらかじめ、発生するファイルの種類を想定し、だいたいのファイル名の付け方を決めておく。
ディレクトリ構成
- 最初から最後まで各自がローカルマシンで作業をしていたらプログラムがまとまらないので、何らかの共有サーバを利用することが多い。各自が作ったファイルを何も考えずにサーバにアップしていると、気が付いたら共有サーバがめちゃくちゃになっていることがある。
- あらかじめ、発生するファイルの種類を想定し、適切なディレクトリ構成を検討し、名前を付けておく。
- ドキュメント用、ソースファイル用、外部ライブラリ用、実行モジュール用、素材用、...
- 最新用、○月○日段階のもの、...
- 本番用、テスト用、...
- 各担当者の作業用、...
更新ルール
- サーバにあるファイルが最新のものなのか、どの段階までできているものか把握していないと、プログラム全体の整合性が取れないことがある。
- 各自の最新の作業状況を更新する時間を決めたり、ファイル一覧とその完成状況(どの段階までできているものか)が分かるような表を作成するなどの工夫が考えられる。
- (最新の保管だけでなく、)少し前の状態を残しておくのも、いざという時に立ち戻れるので便利。 ⇒ バックアップ
- ファイル・バージョン管理ツール(CVS等)を使うこともある。
バックアップ
- マシンの調子がおかしくなったり、大切なファイルをうっかり削除してしまうことはある。
- 大切なファイルはバックアップルールを決め、徹底する。
- バックアップ対象ファイルの特定、待避場所、頻度、担当者
- 外部メディアを使って本格的にやらなくてもよく、別ディスクにコピーを置いたりするだけでもよい。
(ただしその場合、どれが最新でどれがバックアップ(○月○日時点のもの)かを明確に管理する必要がある。)
◆成果物、最終イメージ、作業例
この作業で以下の成果物を出す。または完成イメージの状態にする。それをこの後の作業につなげる。
| 成果物、完成イメージ、他 | この後の作業 |
|---|---|
| ・必要な開発環境ができていること | ・製造 |
◆作業上のポイント、注意点
環境構築にはある程度の技術的知識が必要となり、また、思ったより時間がかかるもの。
- プログラムよりも、ハードウェアやOS、ミドルウェアや各種アプリケーションの設定などの知識が必要となる。
- 作業項目の量と所要時間によっては、あらかじめ全体の作業スケジュールに入れておくことも必要。
メンバー全員がやる必要があるものもあるが、誰かがやってしまえば済むことも多い。
うまく作業分担をして、設計から製造作業へと効率よく移行する。
- ただ、環境構築は技術的にとても勉強になるし、知っていると仕事の幅が広がる。
そういう意味では、(自分が担当者でなくても)見ておくといい。
プロジェクト内で共有しないといけない情報は、正確に共有して徹底をはかる。
- ハード・ソフトの各種設定(項目・内容)、ファイル名・ディレクトリ構成、更新ルール、バックアップルール、など
- 誰かに伝わらなかったり、間違って伝わったり、伝えられても実行しなかったりすると、全く意味がなくなる。
むしろ、作業が混乱する。決める/作るだけでなく、それを全体で「運用する」ことが大切。
Copyright © Xincor miXell Co., Ltd. All rights reserved