Many times it seems like the hardest question to get answered by clients is:
“What’s your domain?”
I’ve seen people putting their feet down and yelling:
“There is no domain!!!”
Followed by:
“This application is 100% customizable by the end user… everything is dynamic… the screens, the reports, this, that, the other…”
My default answer for that has been:
“Well, luckily, there’s already some software you can use for that, then: it’s called MS-Excel!”
I then proceed to ask:
“Can we take your app as-is, give it either to Walmart or the Mom and Pop store around the corner and tell them to use it to run their business?”
To which I hear:
“Well, no… that’s not what our app does.”
Darn it, whatever happened to the “100% customizable by the end user…” talk?
As it turns out, there’s always a domain.
Yes, the user may adjust the application to make it fit the business better, but that’s always done on top of the core domain the application addresses.