直接の答え
他の回答は、より良いプラクティスの採用に関する良い「メタポイント」になりますが、直接関連するガイダンスを提供するために、チーム(またはチーム)が採用することをお勧めするベストプラクティスの大まかな順序を示します(最初):
- ソース管理
- 問題追跡(プロジェクトおよびタスク管理)
- 自動ビルド1
- 自動展開
1 非常に関連するプラクティスは、開発または保守している各アプリまたはソフトウェアプロジェクトのビルドおよび開発環境のセットアップを自動化、または少なくとも文書化することです。あなたがこれを頻繁にまたはめったに行わないので、それははるかに有用ではありません。
ほかのすべて
「ユニットテスト、ロギング、データベースの正規化、...リファクタリング、...ドキュメント」など、他のいくつかの優れたプラクティスについて言及していますが、これらはすべて徐々に実装する必要があるプラクティスです。それらを一度にすべて採用する必要はありません。慎重にかつ慎重に採用することで、おそらくそれらを採用する方がよいでしょう。
上記の4つのプラクティスにより、新しいプラクティスを可能な限り簡単に採用し、実験することができます。たとえば、ユニットテストを自動ビルドに組み込み、自動展開の一部としてドキュメントを公開できます。
「アジャイル開発、...コーディングスタイルガイド、...コードレビュー、...標準化されたドキュメント作成方法」およびフレームワーク(Springなど)といった他のプラクティスは、本当にオプションであるか、疑わしい価値があります。そして、それは、あなたが発見または遭遇する可能性のある多くの(ほとんどの?)可能な慣行に当てはまります。
アジャイル開発は、使用される他の方法論より明らかに優れているわけではありません。そして、多くの人々(私を含む)がそれについて恐ろしい経験をしました。しかし、多くの人々もそれを本当に気に入っています(または愛しています)。それを試してみてください!
コーディングスタイルガイドは、特に大規模なプロジェクトや大規模なチームで役立ちますが、これらのガイドラインを実施するのは大変な作業であり、それを行っている人にとっては最善の方法とは言えません。
コードレビューも非常に役立ちます。コードのレビューを同僚に依頼したことがありますか。グッドプラクティスを採用するための正式なプロセスは必要ないことに注意してください!
ドキュメントは素晴らしいです–何かありますか?もしそうなら、あなたに良い!(より)「標準化された」ドキュメントを作成することで防止できる多くの余分な作業に直面していますか?もしそうなら、それはおそらくやりがいのあることです。ただし、ご使用のソフトウェアが少数の人々によって使用されている場合は、ドキュメントは不要かもしれません。(または、ドキュメントをソフトウェアに直接組み込むこともできます。それが常に私の好みです。)
フレームワークは...(非常に鋭い)両刃の剣です。ソフトウェアのコア以外の機能に対する、きちんとカプセル化され、よく管理されたソリューションは、そうでないまでは素晴らしいものです。「手書きのフロントコントローラー」が正確に何なのかはわかりませんが、Springを活用するコードよりも劣る理由については明確な説明はありません。これらすべてのコントローラーの共通ロジックを独自の社内フレームワークにカプセル化することを検討しましたか?Springを採用し、既存のすべてのコードを書き直すことは、膨大なリファクタリング(または、おそらく書き直し)プロジェクトになる可能性があり、コードに加えることができる最良の変更ではない可能性があります。もちろん、使用するすべてのソフトウェアを書くべきではありません。フレームワーク(およびライブラリ)は素晴らしいです!しかし、素晴らしい(または良い)Webアプリを作成するために、Spring(または代替)を使用する必要はないかもしれません。