Atomic Design Methodology

Apparently  there is something that describes the way I am thinking about the Seattle Method and/or the Standard Business Report Model (SBRM) or perhaps maybe this is more about the report itself.  That something is the Atomic Design Methodology.

The Atomic Design Methodology is described on the above linked page as:

"Atomic design is a methodology composed of five distinct stages working together to create interface design systems in a more deliberate and hierarchical manner." 

  • Atoms are the basic building blocks. Atoms are indivisible elementary building blocks.
  • Molecules are combinations of two or more atoms. These combinations of atoms take on their own unique properties, and become more tangible and operational than atoms. Molecules are decomposable into the atoms that make up the molecule.
  • Organisms are assemblies of molecules functioning together as a unit. Organisms are more complex and sophisticated than molecules. Organisms might be constructed from other organisms to create compound organisms. Organisms are decomposable into molecules and atoms.
  • Species: There can be "species" of organisms. (I added this; not explicitly described by Atomic Design methodology, seems like it might be implied.  Maybe a "template" is used to define a "specie".


If you apply the ideas of the Atomic Design Methodology to financial reporting or general business reporting, my first take gives me something like the following: (each of this is an "infon" which is a unit of information as defined by Situation Theory)


Here is an explanation of the above logical pieces of a financial report (or general business report) to help you understand what I am getting at:
  • Fact, Report Element, Rule, Association: These are the "atoms" or "building blocks" that are used to construct the "molecules" of a business report. This is like the "raw material", the building blocks used to construct higher level pieces. (Fact, Report Element (a.k.a. Term)Rule, Association)
  • Assembly: An assembly (a.k.a. what I have called a Block; another term for this is subgraph). This might also be better called a "subassembly" from the terminology of a bill of material.
  • Structure: A structure is a set of assemblies or sub-assemblies.
  • Disclosure: The term disclosure is from financial reporting but not used precisely as it is used in financial reporting. A disclosure, as being used here, is simply something that is disclosed.  A disclosure is composed of a set of 1 to many Structures.
  • Report: A report is a set of Disclosures. A report has 1 to many Disclosures.
  • Report Set: A report set (a.k.a. Analysis Set) is a set of 1 to many Reports.
Atomic Design Methodology is an approach that can be used to make software applications easier to use.  This is done by burying complexity within software rather than exposing that complexity to software users and forcing them to deal with it.  The Standard Business Report Model (SBRM) is an effort to provide a standard logical conceptualization of a business report. It will help people understand and agree on the terminology used to discuss the notion of a business report.

So why would anyone care about something like the Atomic Design Methodology and the logical conceptualization of a business report provided by SBRM?  Here is one very specific example of the benefits.

Below you see what I refer to as a “Block” of information or which can be seen as an “Assembly”.  The Block/Assembly represents a logical Structure which has the logical mathematical pattern called a “roll up”.

Suppose you want to add new information to that Block/Assembly.  Logically, there are two obvious “Slots” or places that something might be added to this roll up Block/Assembly.  One Slot is the addition of another period to the two existing periods that are already shown.  Another Slot might be the addition of a “line item” to the roll up.  By way of contrast, you cannot add a second total to a roll up because a roll up logical pattern has only one total.  Additional logic is that the concepts being rolled up must all be of the same data type and period type.

One additional but less obvious Slot would be the addition of some Dimension, such as perhaps a “legal entity” breakdown of the information or maybe a “reporting scenario” breakdown which differentiates actual, budgeted, and the difference between actual and budgeted.

So, rather than build software that focuses on some technical syntax like XBRL and forces software users to understand that technical syntax; software applications can work at a much higher and be easier for users of the software to understand and work with because the complexities of the technical syntax are dealt with by the software application, freeing the software user from this burden.  In fact, the logical framework is actually HELPFUL to the user of the software application because it can predict or sense what the user might want to do because the software understands the logical patterns the software user is working with.

This notion of a logical Slot is just one of many, many other such logical structures that could be leveraged by software engineers building software applications for business users to perform tasks they need to perform.  Another big use case for these logical objects exposed by thinking in this way is verification of what is being built by the software to make sure that software is conforming to that logical representation, such as the Standard Business Report Model (SBRM) logical conceptualization of a business report.

* * *
Simple Common Logic seems to provide similar mechanisms for creating high level objects from atoms. Simple Common Logic uses words such as "Atoms", "Phrases", "Sentence", "Compound Sentence", "Expressions", "Qualified Sentences".  This Intro

Additional Information:

Comments

Popular posts from this blog

Relational Knowledge Graph System (RKGS)

Getting Started with Auditchain Luca

Evaluating the Quality of XBRL-based Financial Reports