>>>>Stop the bleeding<<<<
1) Source Code Management (branch, merging into main on approval)
2) Paired programming (start learning)
>>>>Learn a better approach<<<<
3) Read "Clean Coder" as a team
4) Pick the best, next practice to fix (like removing commented out code)
>>>>Do better<<<<
5) Refactor, refactor, refactor
I agree with the sentiment that a full rewrite is a waste of time. The team needs to learn better practices, together, or any rewrite will fall into the same pattern. We've had great success doing side-by-side upgrades (from AngularJS to React as an example).
> All new features (screens) build on React (newest)
> Run them in the same path, so it looks like a single app
> Each sprint has additional upgrade work to start porting over to React
> Use the customer and usage analytics to refactor screen, flow, function, while rewriting
I agree with the sentiment that a full rewrite is a waste of time. The team needs to learn better practices, together, or any rewrite will fall into the same pattern. We've had great success doing side-by-side upgrades (from AngularJS to React as an example). > All new features (screens) build on React (newest) > Run them in the same path, so it looks like a single app > Each sprint has additional upgrade work to start porting over to React > Use the customer and usage analytics to refactor screen, flow, function, while rewriting