症状を見て病気の根本原因を解決しているわけではありません。「コード管理」アプローチの使用は対症的ですが、長期的には問題を解決できません。根本的な原因は、「適切に管理された」製品の機能、機能、拡張機能、バリエーションの不足です。
あなたの「カスタム」のコードは、の拡張子は何も示していない製品の機能および機能とデータフィールド他人の変更を。
製品のコードベースを「サニタイズ」するのに、カスタム機能がどれだけ広範囲に、どのように異なり、どのように文脈的に類似しているか、またはそうでないかが大きく影響します。
コーディングやバージョン管理の方法だけでなく、製品管理、製品アーキテクチャ、データアーキテクチャが関係する場所でもあります。真剣に。
なぜなら、結局のところ、コードは、クライアントへのビジネスおよび製品の機能/サービスの提供に他ならないからです。それはあなたの会社が支払われているものです。
これをより適切に処理するには、コードの観点ではなく、「機能」の観点から行う必要があります。
あなた、あなたの会社、そして製品はすべての人にとってすべてではありません。500のクライアントというまともな収益基盤ができたので、今度は自分が意図するものを製品化するときが来ました。
また、複数の製品を提供している場合、製品の機能を体系的にモジュール化することは理にかなっています。
あなたの製品はどれくらい広く、深く行きますか?さもなければ、これは「サービス品質」の問題と「製品の希釈と断片化」につながります。
あなたは次のようになりますCRMやERPや注文処理/ディスパッチまたはMicrosoft Excelの?
既存の拡張機能は、大規模なソフトウェアの主要な、ロールアップと調和させる方法を必要引っ張る内と合流し、スタートアップから取得した製品を。
強力な製品管理とデータアーキテクチャの担当者が以下をマップする必要があります。
- マスターブランチ、その製品機能、および機能ベース
- カスタム拡張機能、タイプ、およびバリエーション
- 「カスタムフィールド」の重要性とバリエーション
..コアアプリケーションの壮大なコンテキストで、これらすべての緩やかな製品スレッド/ブランチの同化と調和のロードマップを作成する。
PS:私とつながってください、私はあなたがこれを修正するのを助けることができる人を知っています:)