Question

As a software architect/product lead/project manager etc., should you run your database model by your customer? Is it common practice to show that model to have their opinion, or should they trust that the model you chose will fit their requirements?

What is common practice on the subject if they don't explicitly ask for it?

EDIT: I wanted to keep the question open as I was hoping for a generic answer as well, as that is what stack exchange is for, but seeing all the downvotes, here is the more specific case I had in mind, which I received the answer for:

We are a software development company developing an application for an external customer. The application uses a database as it is necessary for their business requirements (data persistense and sharing across the company). As the software developers, we are designing and implementing that database. Doing so corresponds to many hours of work that are difficult to show to the customer (hours of work only to be able to close the app and reopen it and see that the changes are still there). As I am the person preseting our progress to the customer and I had little to really show, I was wondering if it was common practice to go deeper into the database model.

Was it helpful?

Solution

A database model is not often useful to discuss with the customer, unless they have database knowledge themselves.

A database (model) is an implementation detail. It is responsible for storing and retrieving data necessary to make an application work. The underlying mechanism isn’t that important. Whether you use a relational, document or other db is not something your customer cares about, as long as it’s cost effective and performant enough for their needs.

The thing you want to show your customer, or even create in collaboration with them, is a domain model. That is where their area of expertise is. If you want to know more about this collaboration and how you create rich domain models in a ubiquitous language, look into Domain Driven Design.

Licensed under: CC-BY-SA with attribution
scroll top