リリースごとに正確な変更ログを提供したいプロジェクトに取り組んでいますが、手間をかけずに機能する変更ログを収集する方法が見つかりませんでした。問題は主に、バージョン間の時間が長く、各バージョンに多くの機能とバグ修正が同梱されている場合、およびソフトウェアに複数のブランチが同時に開発されている場合です。
私が検討したいくつかのオプション:
- コミットメッセージから変更ログを作成し、開発者が変更ログの行を作成する場合と同じようにメッセージを書き込むように要求します(実際には変更ログを作成します)。
- 複数のブランチがあり、ブランチ間でマージする場合は機能しない可能性があります(どのコミットが最終的にリリースで終わったかを知るのは難しいかもしれません)。
- コードの変更ごとに、バグ追跡システムに対応するチケットが必要であることを要求します。変更ログは、チケットに基づいて書き込むことができます。
- 開発者は、特にバグの修正よりもチケットの作成に時間がかかる場合は、マイナーな変更のチケットを作成するだけでもイライラするかもしれません。
- 開発者がコードに変更を加えると同時に、常に変更ログを(プロジェクトルートのテキストファイルとして)更新する必要があります。
- 自動化できる手作業のように感じます。
- プロジェクトマネージャーに、現在のバージョンと以前のバージョンの差分を取り、変更されたことがわかったものに基づいて、その時点で変更ログを書き込むよう依頼します。
- リリースの責任者のための余分な作業。コードを見ただけでは、変更の実際的な効果が何であるかは明らかではない場合があります。
- リリース予定の機能のみを出荷してください。コーディングを始める前でも、変更ログを書き込むことができます。
- ウォーターフォールモデルを使用していない限り、実際のオプションではありません。
私はこれらのそれぞれまたはそれらのバリエーションを過去に使用したことがありますが、それらはあまりにも信頼性が低く、面倒で、堅固でした。問題を解決する方法について魔法の弾丸または良いアイデアを持っている人はいますか?