ソフトウェア プロジェクトのインフラストラクチャ [終了]
-
01-07-2019 - |
質問
私はすぐに新しいプロジェクトを主導する予定です。そして私は、ソフトウェア プロジェクトの基本的なインフラストラクチャとは何なのかについて熟考してきました。すべてのプロジェクトに含めるべきだと私が考えるものは次のとおりです。
-コーディングスタイルの規約
-命名規則
- 標準のプロジェクト ディレクトリ構造 (例: Maven 標準ディレクトリ レイアウトなど)
- プロジェクト管理と問題追跡 (例: trac、redmine など)
- 継続的インテグレーション サーバー (ハドソン、クルーズ コントロールなど)
何かを見逃したかどうかはわかりません。追加したい人はいますか?
正しい解決策はありません
他のヒント
予備的な答えとして、Joel テストを確認してください。http://www.joelonsoftware.com/articles/fog0000000043.html
前菜だけ:
- ソース管理を使用していますか?
- ワンステップでビルドできますか?
- 毎日ビルドを行っていますか?
- バグデータベースはありますか?
- 新しいコードを書く前にバグを修正しますか?
- 最新のスケジュールはありますか?
- スペックはありますか?
- プログラマーは静かな労働条件を持っていますか?
- あなたはお金で買える最高のツールを使っていますか?
- テスターはいますか?
- 新しい候補者は面接中にコードを書きますか?
- 廊下のユーザビリティテストを行っていますか?
- リビジョン管理システム (例:Subversion、CVS、git)
あなたのものに加えて、私は次のものを入れます:
- 単体テスト戦略
- 結合テスト戦略
- 定義されたプロセス
- リリース (配信) 戦略 (マイルストーン、作業パッケージなど)
- ソース管理分岐戦略
- ドキュメントについてはどうですか - どのように (コード内のコメント、概要仕様)、いつ、量、誰が
- テスト方法 - 単体テスト/受け入れテスト/ユーザーテスト
- コードのバージョン管理、一部の SVN/Git (または trac に含まれていますか?)
- チームの役割と責任 - プロジェクトのテキスト内で行う必要があります
ナレッジマネジメントは重要です。すでに wiki (Trac や レッドマイン)KMにも使用できます。
機能テストはどのプロジェクトでも必須の部分です。単体テストは優れており、アジャイル プロジェクトに適していますが、機能テストは依然として必要です。少なくとも基本的なテスト計画が必要です。複数のプロジェクトまたはサブプロジェクトを計画している場合は、テスト戦略ドキュメントまたは Wiki ページが適しています。テスト ケース、受け入れテスト ケースなどは、ユーザー ストーリーまたはそれに相当するものによって駆動される可能性がありますが、それでも何らかの形式で存在する必要があります。
ファイル共有サーバーもそれに加えたいと思います。私はバージョン管理は非常に基本的なものだと思っていたので、わざわざリストに含めることさえしませんでした。しかし、これはバージョン管理としては優れています。
構成管理計画。開発ワークストリーム、そのワークストリーム間でのマージ方法などに対するアプローチを文書化する必要があります。