Development PracticesDevelopment Practices
Keynote15min
BEGINNER

From greenfield to minefield: How to avoid traps of creeping complexity

The abstract explores why all software eventually becomes legacy, despite good intentions. It proposes strategies to slow system decay by distinguishing essential from accidental complexity and managing the latter through better design, technology choices, and communication practices.

talk.summaryAiDisclaimer

Adam Michalik
Adam MichalikRabobank

talkDetail.whenAndWhere

Wednesday, April 1, 09:30-09:45
Zaal 2
talks.description
A "greenfield project" is used as a highlight in software engineering job offers. On the contrary, a
"legacy project" is considered a nightmare that nobody would choose for willingly. Yet the
moment our fingers touch the keyboard, we are creating exactly that - our legacy.

Often with a sense of purpose and pride towards our own creation, while at the same time cursing the legacy
left by others. How is it that even with the best intentions, systems tend to turn into a
Frankenstein monstrosity? How can we, software engineers and architects, reduce the rot of our
applications?

We can't build with a fully future-proof design, but we can make it age slower. I will
discuss how to separate essential complexity of a problem from accidental complexity
introduced by technology, people and communication, and show ways to manage the latter.
complexity
engineering
design
legacy
talks.speakers
Adam Michalik

Adam Michalik

Rabobank

Netherlands

Quality freak, clean code preacher, TDD enthusiast, pair-programming practitioner. In love with Java since the start of my career, excited about devops in the last few years. Developing highly-available core systems at Rabobank.