Reviving Brownfield Projects
Tobias Schlauch · elib (German Aerospace Center) · 2014
The term “brownfield project” describes an existing codebase that was previously created and is contaminated by poor practices, structure, and design. In contrast, a “greenfield project” allows starting development without taking such an existing legacy codebase into account. Unfortunately, in practice, the first case is much more common, particularly, in research environments. In this talk, we examine the term “quality” in context of software development. Then we show how continuous refactoring and testing helps to improve and keep the level of quality in a software project. On this basis we explain the brownfield dilemma and sketch an approach to revive such a project. In this context, we particularly address the relationship of testing and good code design.