Yes, it would be ideal if all development projects were greenfield in nature where we were starting with a clean slate and could design and build using the latest tools and methods. Unfortunately, that’s not the world we live in. More than likely, you are currently working on a brownfield application. What’s a brownfield application?
I will answer the above through the use of a metaphor that struck me as I was traveling to Decisions Days in NYC last month. As I got off the plane at Laguardia airport I was struck by a number of things. Initially I was impressed by the improvements to the terminal since the last time I had flown in. Next I could see all the construction taking place and was amazed at the scale of the project. It turns out that there is an $8 Billion dollar project to rebuild the Laguardia airport all while the airport continues to operate. This is the exact scenario that a large number of our newest clients are currently facing. They are having to refactor and slowly rebuild core applications while keeping them operational.
If this sounds familiar it’s because roughly 75% of application development projects today involve rebuilding existing applications onto modern architecture. Brownfield applications share all the pitfalls of Greenfield projects with the additional complexity of dealing with Legacy code. In some respects, understanding the overall requirements can be a bit easier if you have an existing application. On the other hand digging into hundreds of lines of undocumented code is full of hazards and unexpected complexities.
Here are a few strategies that can help you on your journey:
If you would like to talk about your existing legacy application, we love to discuss such things. Please reach out to us at firstname.lastname@example.org.