An interesting DDD / TDD Odyssey (oddity?)
An interesting circumstance cropped up recently during some practical sessions with
work colleagues. Let me set the scene first. I was instructing on TDD and DDD in the context of an internal company project, there are four developers (including myself), which meant pair programming had now become quad programming. The thing that was interesting (to me) about this project (with respect to DDD), was that we were effectively modelling a business domain where the domain was itself was a database! Strange indeed. Let me explain further.
In this particular industry, there exists a well know database schema that is used commonly to shuttle data to and from a DMS and this often requires a full ETL workflow. The application we are currently working on is targeting a “Transformation” process and hence our model is to a large degree dependent on this ‘little’ schema, which by the way finds it’s way into the physical world as an Access Database(s). Therefore some of the entities in our model were modelled against this database and when you think about DDD this sounds a bit strange since one of the common tasks in that process is to model entities to business concepts and then map those entities to a database. It became even more interesting when we interviewed the business stakeholders and asked them questions about what language and common expressions they use when they describe this database, it’s tables and rows and what they do with it all.
It quickly became apparent that the ubiquitous language in this case was to a large degree describing a database. Strange. At least I thought so.
No comments








