I m working in a team of 2 front-end developers on a web-based late-stage startup project.
The site works quite well, but there s a lot of room for improvement code-wise, as the code is quite messy and disorganized.
I would like to clean things up gradually by writing tests and carefully refactoring to avoid breaking anything. (Using principles from the book Working Effectively with Legacy Code )
However, the developer I m working with is being given a lot of high-priority feature work, and I don t want to burden him with maintenance tasks. A lot of the time he has to write messy code simply because of the time-constraints.
As the team grows I m concerned about how to manage the different concerns.
I m thinking of dividing the team into 2 groups:
- Does rapid development on new features, with less care on code quality.
- Writes unit tests, refactors code, generally optimizes things.
The result I m aiming for is to bring as much of the code under test as possible, while still keeping up the pace of new-feature development.
Has this been tried before? Any thoughts?