Presentation: "Four Strategies for Recovering the Ability to Design When Surrounded by Messy Legacy"

Time: Tuesday 15:30 - 16:30

Location: Salon D

Once a large software legacy is built up, accumulated design problems and the intrinsic complexity of integration combine to make it more and more difficult to execute clean design. A team may set out to design a new piece of software using a domain model, and at first they are focused on strategically valuable new features. In collaboration with business innovators, they outline a new vision of some part of the domain. They distill a model and design the new functionality.

Of course, the new functionality calls for integration with existing functionality. As the new vision is stuck together with a messy legacy system, lots of expedient compromises are made. Perhaps the new work must also be integrated with an external system and the introduction of these external elements leads to loss of clarity in the model. In response, the team may try to redesign or replace more of the legacy system, and the scope expands, and the work bogs down. There are various ways this may happen, but they lead to the same place. The focus on strategic value is lost, and a fresh and clear approach to the problem is muddied to the point that it has no impact.

Eric Evans, Author of Domain Driven Design

 Eric  Evans

Eric Evans is a specialist in domain modeling and design in large business systems. Since the early 1990s, he has worked on many projects developing large business systems with objects and has been deeply involved in applying Agile processes on real projects.

Out of this range of experiences emerged the synthesis of principles and techniques shared in the book "Domain-Driven Design," Addison-Wesley 2003.

Eric now leads Domain Language, Inc., a consulting group which coaches and trains teams to make their development more productive and relevant through effective application of domain modeling and design.

Software Passion: Breaking My Own Domain Models


Books: Domain-Driven Design: Tackling Complexity in the Heart of Software