Atoms, Molecules, Organisms and Designing Systems

In another post I mentioned the Atomic Design Methodology.   The Atomic Design Methodology is a mental model that someone is promoting for the design of web pages, here is that. But I think that mental model goes beyond web pages. In fact, Brad Frost who is apparently the creator of the Atomic Design Methodology of web pages, also promotes Atomic Design more generally.

But the most useful part of his book to me is chapter 2, Atomic Design Methodology. I think I am seeing something, I think that something is very important, and I think this “ties” XBRL, SBRM, and RDF together. Per the definitions of the Atomic Design Methodology of “atom”, “molecule” and “organism”; 

  • Atoms are basic building blocks and make up all “matter” or “things”. RDF is at the “atomic” level and an RDF triple is an atom.
  • Molecules are two or more atoms held together by a “bond” (i.e. rules are bonds).  XBRL is at the “molecular” level, NOT at the atomic level and XBRL “stuff” like element, fact, dimension, presentation relation, calculation relation, definition relation, arcrole, role, and such are all molecules that can be, and should be able to be “distilled” down to the RDF atomic level.
  • Organisms are assemblies of molecules that function together as a unit. Logical patterns "glue" molecules together to form organisms.  Organisms, which are logical patterns of molecules which form the assemblies that are the organisms.  SBRM, the Standard Business Report Model, is at the “organism” level.
  • Species are categories of organisms. 

Atoms are very detailed, much like working with computer assembly language; very flexible and you can do pretty much whatever you want, but the average person would never work directly at this level. This is simply too technical for the average person to get their head around.

Molecules make working with things easier, but the ease of use comes at the cost of flexibility.  You cannot do "anything you want" at the molecular level, you are stuck using the specific molecules that you have been provided with. This mismatch is want causes integration problems and the "software wasteland" people talk about.

Organisms, those assemblies of molecules, contribute to usability but organisms also to the integration problem due to their lack of flexibility.  It is not that molecules and organisms are inherently bad; it is the mismatch of the easy to use organisms and the problem you are trying to solve.

XBRL and SBRM are interesting because they define a very “general” model that is applicable to many, many, many different business use cases.  XBRL+SBRM is pretty flexible, but not as flexible as RDF.  But XBRL, which defines the "molecules" used to create a business report and also the "organisms" of business reports, but most people cannot "see" the organisms so they build software at the wrong level of functionality.

But, is XBRL + SBRM good for every use case?  For example, should they be used to represent accounting transactions? What about accounting and audit working papers and schedules like I want to do?

Also, accounting is only part of an enterprise.  You also have operations, human resources, sales and marketing, legal, and many other functions.  Should all of those areas of knowledge be represented using XBRL?  I think not. In fact, that sounds like a really bad idea because it does not solve the integration problems.

Atomic Design Methodology is an absolutely excellent metaphor to think about the semantic web and the future of software systems.

Additional Information:


Comments

Popular posts from this blog

Microsoft CEO: "AI Agents will Replace All Software"

New Tool for Accountants, Auditors, Analysts

Named Graphs