When object-oriented programming was first introduced, it held the promise that objects in software could model objects in the world. As it was adopted into enterprise software development, objects started to model the world less and the computer more. Eric Evans refocused object-oriented analysis and design onto the problem domain with his 2004 book Domain-Driven Design.