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.

Adam Michalik
Adam MichalikRabobank

talkDetail.whenAndWhere

Wednesday, April 1, 09:35-09:50
Zaal 2
talks.roomOccupancytalks.noOccupancyInfo
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.

talkDetail.rateThisTalk

talkDetail.poortalkDetail.excellent

talkDetail.ratingNotYetAvailable

talkDetail.ratingAvailableWhenStarted

talkDetail.signInRequired

talkDetail.signInToRateDescription

occupancy.title

occupancy.votingNotYetAvailable

occupancy.votingAvailableBeforeStart

talkDetail.signInRequired

occupancy.signInToVoteDescription

comments.title

comments.speakerNotEnabledComments