Abstract
The Meta System aims to create a system that can, in turn, build other systems. This implies the presence of repetitive patterns or tasks that can be identified and reused within the Meta System. In this article, we will elaborate on and evaluate these patterns.
Stages of Building a System
First thing first, the most challenging part on writing this article is that as we are writing the guideline on how to build a system to build a system, it is really hard for both the reader and the author to address which System Index (i.e. System , Meta System , Meta System2) that he/she is reading/writing. The only suggestion to keep your mind clear is that , read this article only when you get 100% energy fully charged.
While discussing how to build the Meta System, we first need to address how to build a system itself. Regardless of the system you’re building, you will need to consider these four objectives, and the order in which you achieve them is important. Allow me to introduce the MSC Matrix (Modelling-Standardisation-Codingⓘ ) as below:
Stage 1 – Modelling
Let’s start with an example , assuming that you are the Software Engineer who is responsible for building a Cashier Register System for your MNC scaled supermarket.
As mentioned in previous article that a good system can cater all possible outcome , which the system interacts with the environment. Allow me to named the term “all possbile outcome” as Sample Spaceⓘ,
Before we jump into the execution level to discuss step by step on how to enumerate every single instance within the Sample Space, I would rather in theory discuss what is and when we need to do the Modeling.
If the objective of us (i.e. the Cashier Register System) is to cater all possible outcomes (i.e. Sample Space) interacting with the environment1 (i.e. the environment of a MNC scaled supermarket), finding out the Sample Space will be the prerequisite before every other steps.
However, as a human being, bounded by our mortal presence and limited compute power, it is extremely difficult , if not impossible , to enumerate all the instances inside the Sample Space. For example, instead of describing how the clients bring the goods into the cashier conveyor belt, are you going to write an Apocalypse Handbook describing how to survive during an alien attack during the opening hour of your supermarket, as the very 1st presentation session to your C-Suiteⓘ boss?
Although you might think there is a chance to happen (which i am on your side, bro!) and you may have the chance to become a superhero, you may not dare to do it to risk your career path in this company. If you nod your head, it means that you are filtering what is appropriate and what is not appropriate to put into the system, which is named as Modeling.
You may challenge that human decision is always paired with a risk. While you start filtering , it is no longer all possible outcomes, which I totally agreed with. However, as stated before, due to the limited resources , we need to strike a balance between the Utopia and feasibility. The more experienced the Software Engineer is , the higher chance that he does the modeling which is close to reality. It is more of an art than a science.
The rule of thumb is simple:
The higher chance it will happen , the higher the priority to be recorded.
If you are “I.T.” enough, you can draw the Entity Relationship Diagram to do the Modelling. If you not , simply using a Google Spreadsheet will be good enough for enumerating and communicating all the factors and components
Stage 2 – Standardization (SOP)
Once you have do the Modelling by filtering all the relevant steps, concepts or objects in priority, you can do the Standardisation. In business world , you can also refer this standardization action as SOP – Stand Operation Procedure.
Whatever you name it , Standardisation (or SOP) is a procedure which you can apply anywhere within your business scope. For example, you can standardise the procedures of the self-serve checkout function in the Cash Register System as below:
- The customer brings the goods in front of the Cash Register
- The customer picks up the one goods and uses the scanner embedded in the Cash Register to scan the barcode printed in the package of each goods.
- The product information will be shown in the screen of the Cash Register
- The customer presses the Checkout button on the screen, and brings him to the Payment Screen.
- The customer chooses the Payment Method, Apple Pay for example.
- The customer scans the Apple Pay QRCode shown in the screen of the Cash Register by the QR Code scan of his/her smartphone.
- The checkout process is successful and the receipt is printed
Although the steps mentioned above is only the backboneⓘ procedures (as enumerating the Sample Space is not the focus of this session, i will bypass this exercise) , the above 7 steps will be happened almost every time for every single customer bringing the goods in front of the self-serve checkout Cash Register.
In this stage, while you are standardising the procedures , please do not rush to think of or work on any programming or coding stuff. Especially when you have a programmer background with solid hands-on coding experience, it is very tempting for you to dig into the code and write any kind of framework , database or UI to start building the software. Because in your mind you may think that Coding means automation, and automation means efficiency. You are wondering why the frontline staff need to spend double time on doing the same steps while you can automate them via coding.
Indeed you are not wrong. However, you are not correct either. Because Coding is a all-or-nothing game. You cannot write 80% of the code and bring it to production stage. Any of a single tiny bug might bring the application to fatal error. And then you need to condense all your energy into fixing that bugs. Once you sink into coding, you will spend most of your time focusing on coding for a single step of the whole system, which in turn you cannot get use of the man hour of your frontline staff and can only let them idle because they do not know what to do without any standardised procedures for the whole picture.
Allow me to illustrate this concept with Bingo Theory
Bingo Theory is a terminology invented by Diamond Digital Marketing , which is a all-or-nothing concept stating that if someone does not finish all the steps in a business line (i.e. Say Bingo! in a Bingo game), all his effort will be in vain no matter how much he had already contributed.
Illustrated in Figure 1, if there are 5 Steps to say Bingo! in each stage , we can conclude that:
- In Modeling Stage , due to the fact that we do not enjoy the efficiency brought from standardising or coding (i.e. automation) the procedures, the cost of each step will be £5 , which brings a total cost of £25 to say a Bingo!. As long as the reward of Bingo! is £30, there is still a £5 profit in Month 1.
- In Standardisation Stage, due to the fact that we have to do all the 5 steps in both Modeling Stage and Standardisation Stage in each step, therefore the total cost per step is £5 + £3 = £8. Therefore you will get £30 – £40 (£8 x 5) = £10 Lost in month 1.
- In Coding Stage, same logic as Standardisation Stage, the total cost per step is £5 + £3 + £1 = £9, and therefore you will get £30 – £45 = £ 15 Lost in month 1.
Based on Figure 1 ,you can deduce that when the time goes by (i.e. Month 2 and 3), your business in Coding Stage will get the highest profit due to the fact that it can enjoy the efficiency generated from coding (i.e. automation), provided that your company have sufficient fund (i.e. -£15 Lost in month 1 , and -£5 Lost in month 2) for you fill the deficit for your business survival. For sure, it is also not the greatest decision for any business to stay forever in the Modeling Stage to gain the minimum profit due to absence in Standardisation and Coding.
While striking a balance between efficiency and sustainability is case by case, If you are similar to us without solid external financial support , it is suggested to go for Standardisation before directly jumping into the Coding Stage. On the contrary, if you have external financial support, please contact us and invest in us!
Even worse, while you are drowning in Coding , some of the smarter frontline staff might find their own way to carry out the Cash Register procedure based on their past experience, which brings your business to risk. While your whole business now all rely on the frontline staff, you may have either wrong procedures which cannot cater the backbone procedures, or you may have many ways to do the backbone procedures due to the fact that each different smart staff may have their own working style and hence suggesting different procedures. Regardless which way it takes, it will in turn either generate errors or arguments , i.e, extra cost incurred.
Therefore, please be reminded again that in this Standardisation Stage, what you should do is simply to standardise the procedures making your Cash Register System functional.
Instead of coding, you can standardise the procedure in an Google Spreadsheet, in a Google Document, or even verbally or taking a video to record the step by step actions, depending on what way you and the users are comfortable. The purpose of the standardisation is to avoid the miscommunication due to the ambiguous definition of the benchmark of the input or output of the task. Manually input or output will be good enough in this stage.
Besides, there is a big difference between System and Software. Imagine 60 years ago before computers were popular, the supermarket with a manual Cash Register already existed. Even without the aid of computers, they can still run properly, if not as smoothly as nowadays.
In this sense, standardising all the procedures with manual input will be good enough for this stage. By standardising all the steps within the Checkout procedures, you can eliminate most of the errors generated by humans, which in turn free your hand from error handling and human resources training.
By using the extra time earned from error handling, you can spend the time profit you saved to do the coding stuff in the next stage.
And I can officially and seriously tell you putting the Standardisation Procedures between Modelling and Coding is the key to success in running a business. When you read through the financial reports of some of the leading companies, you might realise that their spending on R&D (Research and Development) can always be absorbed by their profit, which makes their research and development sustainable. If your whole business consumes most of your resources on developing the coding and automation of the Business Process Management System, the daily operation will be ruined. On the contrary, if your business keeps staying on Modeling Stage, your business will only become a theory which can never be realised, or at least the slope of the development curve will grow too gentle and behind your competitors.
Stage 3 – Coding
Coding Stage implies to automate all the standardised procedures of the Business Process Management System as much as you can by any kind of programming language , or even simply Google Spreadsheet Formula.
Bringing the company to this stage is a milestone in which you can outperform your competitors. Although I am not going to describe the step by step guideline in this article, i would like to share some rules of thumb of the Coding Stage as below:
- Automate the procedures which happen most in 1st priority.
- Automate the procedures which is easiest in coding in 1st priority.
- Rhythm between operation and development is the key to success in business. Always get a “C” grade to survive first, and get a “A” grade with the spare resource. Perfectionism always deficit first. If Apple , the manufacturer of iPhone is a perfectionist, it should only have iPhone 1 and not iPhone 16 because iPhone will wait until all the features are “perfect” before it is launched in the market.
In conclusion, each record (or row) in Model-Standardise-Coding Matrix is for a specific objective in the Business Process Management System. If you have 10 steps in your Business Process Management System, you do not need to do all the 3 steps (for example) in the Modelling Stage before you can move to the next Stage. I personally suggest a horizontal move (Table 1) before vertical move (Table 2) due to the based on Bingo! Theory. Nevertheless ,whether you go vertically or horizontally is dependent on the resources and manpower capacity of your company which is a preference and not right or wrong.
Stage / Step | Step 1 | Step 2 | Step 3 |
---|---|---|---|
Modelling | Day 1 | Day 2 | Day 3 |
Standardisation | Day 4 | Day 5 | Day 6 |
Coding | Day 7 | Day 8 | Day 9 |
Stage / Step | Step 1 | Step 2 | Step 3 |
---|---|---|---|
Modelling | Day 1 | Day 4 | Day 7 |
Standardisation | Day 2 | Day 5 | Day 8 |
Coding | Day 3 | Day 6 | Day 9 |
- Refer to article Build a Business Process Management System – System Index Concepts
↩︎
Leave a Reply