Development PracticesDevelopment Practices
Conference45min
INTERMEDIATE

Reversible Decisions for Better Software Design

This session explores how evolving requirements slow development when software design isn’t regularly updated. It emphasizes the need for adaptable, high-quality design, even with AI tools, and shows how reversible decisions, good testing, continuous review, and refactoring enable changeable architectures to keep projects efficient and maintainable.

David Tanzer
David TanzerDavid Tanzer

talkDetail.whenAndWhere

Tuesday, March 24, 15:00-15:45
Room 8
talks.roomOccupancytalks.noOccupancyInfo
talks.description
The longer a project is ongoing, the more software development slows down; The reason for this is that the architecture and design of the software is not suitable for the current requirements anymore. Some requirements change, some become less important, new ones are discovered. When we do not change our design constantly to mach these new realities, implementing new features becomes harder and harder.

And artificial intelligence (AI) does not save us (yet): The context of those tools is limited. AI also benefits from good design with high cohesion and low coupling. And it needs good, fast tests. Those tools need us to keep our design current and our design quality high.

In this session, I will talk about changeable design: How we can make decisions reversible and what trade-offs and costs are associated with that. And I will show how good tests, quality in everything we do, continuous reviews and refactoring can lead to changeable design.
refactoring
design
requirements
cohesion
talks.speakers
David Tanzer

David Tanzer

David Tanzer

Austria

David Tanzer is a freelance developer, trainer and technical coach with two decades of experience. He not only supports clients with long-term projects; He also helps developers and teams to gain new knowledge and to improve their existing skills. His main focus is on modern software engineering- On delivering hiqh-quality software continuously using testing, automation, feedback and collaboration.

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