コンテキスト: 私は伝統的に研究タイプの仕事を行ってきた小さなソフトウェア会社で働いており、商業分野での経験はあまりありません。私たちは現在、商業の世界に進出しようとしています。私たちの起源は研究にあるため、プロジェクトの適切なバージョンを維持するという点で、非常に迅速な開発サイクルと非常に小さな構造に慣れています。
問題: すべての開発者がコード ベースに対してわずかに異なる見方をしているため、構造の欠如が多少の障害になっていることが判明しています。ある開発者が発見した問題は、別の開発者が再現することはできず、あるビルドで見つかった問題は次のビルドで消える可能性があります (または、さらに悪いことに、新しい問題が発生する可能性があります)。これは、すべてのプロジェクトを統合し、品質とパフォーマンスの基準が満たされていることを確認する責任がある人、つまり私自身にとって非常に苛立たしい経験になります。
考えられる解決策: 個人的には、固定のバージョン番号と定期的なリリースを通じて、より良い構造を強制する必要があると確信しています。適切なバージョン管理が私たちの問題の多くにどのように役立つかは自明のことですが、もちろん問題がないわけではありません - 開発者はリリースを実行してテストするために余分な作業を行う必要があり、最新バージョンのすべての。
質問: 要するに、リリースに必要なプロセスと労力をできるだけスムーズに行うために、どのような戦略をお勧めしますか? バージョン管理にはgit、ビルドシステムにはmavenを使用しており、バグ追跡と継続的インテグレーションシステムを実行しているため、ツールはそこにあると思います. 適切なリリースプロセスがどのように見えるべきかについて、私は単に確信が持てません.