Psst! I Know Where Your Business Domain Is Hiding…

There is a place that hides huge part of our Business Domain. It’s also a place where probably the most important parts of your business hide. It’s probably the same place that is most often overlooked when analyzing your business and designing a solution.

  • So where is it?
  • Human Computer Interface. 
  • Wait, what? 
  • Yup, UI. 

Have you ever wondered why do we need to have UI or reporting or any other human-readable form of I/O? I did. I wanted to understand WHY do I need it and WHAT should be on the UI. And I asked this question a lot till I found the answer….

Decisions

If you need to have Human Readable Output from your system it means you need to invoke a Protein Based Decision System to continue your business process. As any system this one also needs to have some input. How this works is, this decision engine will get lots and lots of variables into consideration including the information presented on the UI/Report/Chart, and he’ll make a subjective, error prone, emotional decision, to do something, or not to do anything. (In case of Command and Control Systems, no need to react is a good reaction).

In order to fully understand what it’s all about, we need to find such output (UI/Report/Chart) in our system and ask some questions: 

  • What decisions this needs to support?
  • What actions need to be taken by a human based on information presented on this view?
  • What are the consequences of not having this view at all?
  • What are the consequences of this view having stale data? 
  • How stale is too stale?
  • Is there some form of compliance that is met by this?

Look at your users, as a protein based extension of your business process. This will allow you to build more complete understanding of your Business Domain. 

Do not treat UI as some gimmick to please users (at least not only). Treat it mainly as a communication interface with external decision engine. And ask:

  • Why?
  • Why do we need this UI?
  • Why do we need to show on this UI?
  • Why do we need to show X?
  • What decisions will be made by user looking at this UI ?

Not only will this allow you to create better UI but also create a better understanding of your business.