Domain Excavation Because it requires constant discovery and refinement, building software is much like excavating a buried house. One requirement exposes a section of wall. A bug fix reveals a doorway we hadn’t accounted for. A conversation with a user turns up a hearth or a pottery shard. Gradually, the pieces begin to suggest architectural features yet to be discovered: rooms, connections, and the activities they supported. Recognizing the architectural whole changes how we understand ...