Disorganized code that no one fully understands, changes that cause bugs in seemingly unrelated parts of the application, plus a constant sense of urgency on top of it - does it sound familiar? The answer, sadly, is often "YES", and a project I currently work on was no exception just a year ago. Nevertheless, we managed to gradually turn the things around, and brought the project to a much healthier state.
The talk will focus on strategies used to tackle what seemed to be an unapproachable problem - primarily on the technical (code) level, but with some management aspects as well.
Concrete advice on the technical and organizational measures taken that proved successful, as well as a few examples of approaches that actually did not work well in practice, despite their initial appeal. Essentially a set of concrete suggestions that can be applied to any project, regardless of the tech stack used.