Category: Knowledge Base

  • Task Instruction in Teamwork.com

    Task Instruction in Teamwork.com

    Defintion

    Task Instruction is the Instruction found in the Task Description Field written by the Task Creator. Sometimes the images related to the Task Instruction will be pasted into the Task Comment, which consists of part of the Task Instruction.

    The Task Instruction will be attached to SKUd# level, which means 1 SKUd# will only have 1 Task Instruction, and 1 Task Instruction will only attach to 1 SKUd#.

    All the Task Specification (e.g. Start Date and End Date of a Task) which is modified by a particular button and is NOT modified inside the Task Description Field , is not regarded as part of the Task Instruction.


    How is the Task Instruction and Task Specification looks like


    What Problems a Task Instruction Framework Solves

    Ambiguous Task Scope which make the Task not executable

    Imagine if the Task Creator wrote an instruction in the Task Description and simply told you to make USD$10 million net profit in the upcoming 365 days. Anyone with common sense will realise that this is not a Task which can be executed by one person. Instead of naming it as a “Task”, it is better to name it as an “Objective” which should be broken down into hundreds of tasks and executed by a whole company.

    The more ambiguous the Task Description , the higher authority the Task Creator should assign to the Task Executor to make a decision, and the higher requirement of the Task Executor.

    In this sense, a Task Instruction Framework is going to provide a benchmark on how to define the Task Scope by writing the Task Description which makes the Task executable by the assigned Task Executor.

    Ambiguous meaning of the Wording

    While with different culture , employment and academic background, it is very likely that each person will use different wording or technical terms to describe the same phenomenon with a Task Instruction. 

    For example, when a client is asking you to place an ad on Facebook, he/she may probably refer to Meta where your ads are supposed to be shown in both Facebook, Instagram , Facebook Messenger and Whatsapp. 

    In this case, the wording “Facebook” has ambiguous meaning that it can be referred to a Company or a particular Social Media.

    While the wording with ambiguous meaning occurs in the Task Instruction, whether or not that Task can be executed accurately will be by chance, which means additional communication cost and error fixing cost will be incurred.

    Even worse, imagine if your superior provides you a word inside the Task instruction with ambiguous meaning which drives you to execute the Task wrongly, do you dare to stand up and request your superior to improve the skill of writing Task Instruction next time? 

    Most of the time people (if not you) will not give feedback to their superior because it will take risks of being blame. While they have learnt and transformed  ,next time when they encounter another wording with ambiguous meaning in the Task instruction, to avoid being blame (which is always in a higher priority than making achievement) they will become bureaucratic and will simply passively pause the task and wait for the instruction from their superior and resume the Task after the wording is clearly defined, instead of proactively suggest the meaning of the wording which they think is approproate for the Task.

    Their action makes the Task not wrong as the mistakes can be avoided , while at the same time it also they also did not make anything correct as the Task Task is paused. This “not wrong but also not right” phenomenon called Bureaucratic

    This poisoned bureaucratic culture will bring an organisation to shrink (if not die) gradually. All of these are starting from an ambiguous wording inside an Task Instruction.

    By applying a Task Instruction Framework, we will make sure that the Task Instruction to be as crystal clear as it can be , which in turn makes the Task Instruction executable without any trap left to the Task Executor.

    Time on writing duplicated Instruction

    While most of the Task Instruction of the same SKUd is expected to have same Task Objective, Task Input and Output. Repeating writing the same instruction for same Task will be a waste of time.

    Task Instruction in Teamwork.com is expected to modularize the Task Instruction so a particular Task Instruction can be repeatedly used in another project.

    Lack of Feedback From the Assignee

    While some of the research and development tasks which even the assignor him/herself did not execute the task before, it is unrealistic to expect the task instruction to be perfect and precise. 

    Most of the time the instructions found in the research and development task simply provide a direction , instead of step by step guideline , for the assignee to carry out the task. 

    In this case, a feedback mechanism is crucial for the assignee to feedback to the assignor every single decision making point during his/her execution, such that the assignor can fine tune the precision of the task instruction to make it more measurable , quantifiable and observable in the next task assignment. 

    With a Task Instruction Framework, the feedback from the assignee can be contributed to excel the Task Instruction.


    Components of an Task Instruction

    A quality Task Instruction is the prerequisite of the quality output of a Task. As an Assignor who places the task order, following components are required to be shown in the Task Instruction every time . The components of the Task Instruction will be denoted as “[]”.


    Below are the Task components which will be sync with the SKUd Specification in Zoho Book. These Task components will be seen by the Clients. For comprehensive explanation regarding specification of SKUd, please refer to article SKUd Specification.

    [Basic Service Scope]

    Basic Service Scope describes the direction of standard services that will be rendered if no additional add-on is purchased. Each SKUd will have a different basic service scope.

    [Excluded Service Scope]

    It describes which service direction is not included (i.e. excluded) in the basic service scope. For example, In a Copywriting Translation SKUd, only Translation service will be included, while Installation service (e.g. installing the translated copywriting into the website) will be excluded.

    [Prerequisite]

    Prerequisite of a SKUd describes what should be provided , either by Client or 3rd Parties, before the SKUd can be rendered successfully.

    For example, if the Client want to ask DDM Group to help them install the Google Analytics 4 into their website , the client should provide the Access Rights of Both the Google Analytics 4 account as well as the Access Rights of the Website.

    [Specification]

    The Specification component describes the quantified deliverables in terms of following aspects:

    1. Service Quantity
    2. Unit of Service Quantity
    3. Service Frequency
    4. Service Deliverable
    5. Optional Adds-on

    Below are the Task components which will be accessed by ONLY DDM’s Group Teammate . i.e. Clients or Vendors cannot see this part.

    [Background]

    Task Background of a task is crucial but always be skipped by the Assignor or even by the Assignee him/herself.

    The background of a task makes the Assignee know how to make decision based on the dynamically changing environment in real time. 

    To understand how important the background of a Task is , let’s demonstrate with the example below.

    Assumed the assignor Anna assigned a task to Joanna with the Task Description in below:

    • Please take Bus Route 55 and depart from office at 16:00 and arrive at the Church at 17:00 today.

    Imagine in 15:45 , by checking in Google map, Joanna realized that there is a severe traffic jam of the main road which Bus Route 55 will pass, and if Anna is stuck into a meeting which she cannot read the question sent from Joanna, do you think Anna will expect Joanna will make a decision by herself on how to tackle the problem?

    Of course Anna can write in the Task description to emphasise that if in case the Task instruction is not executable, please raise it before making any decision. However, most of the time it is very unlikely that the Assignor can predict and enumerate all the scenarios that the Task may derive.

    Therefore, it is reasonable for Anna to expect Joanna to make decisions on her own in case there is any unexpected situation. 

    Following background of the task will drive Joanna to a totally different decision:

    Task Background 1 – If Joanna can arrive at the Church at 17:00 today, the company can earn USD$1,000,000.

    Task Background 2 – Anna wants Joanna to measure how much time she needs to spend on taking the Bus Route 55 as Anna would like to take the same Route in next day heading to the client’s meeting.

    Under Task Background 1 , if there is a traffic jam in the road, Anna will expect Joanna to choose any other alternatives to arrive at the Church at 17:00 no matter the cost. Even if Joanna takes a drone taxi which costs her USD$1,000 , it will be acceptable compared to what the company is going to earn.

    On the contrary, under Task Background 2 , even though there is a traffic jam in the road, Anna will still expect Joanna to take Bus Route 55 so that Anna can measure the worst scenario of the arriving time during a traffic jam. 

    Now you can realize how important the Task Background will affect the quality of the output if you expect the Assignee to make a decision on him/herself if the default task description is not 100% executable.

    [Objective]

    Task Objective is a quantifiable , observable and measurable statement which can be delivered by the Assignee given specific resources provided to the Assignee.

    An quantifiable , observable and measurable objective is the prerequisite of an executable task. A task should be executable before it can be executed properly and correctly. It is the duty of the assignor to place an executable task for the assignee. 

    To understand what an executable task looks like, let’s start with the following objective:

    Objective 1

    To make profit in the business.

    While making profit is a correct objective which every business is dreaming of , the statement “making profit” is definitely not a good objective statement due to the fact that it is not measurable, quantifiable and observable.

    To refine the objective statement to make it executable , let’s see another version in below:

    Objective 2

    To make a profit of USD$1,200,000 in the year of 2025 which the profit should be generated from operation instead of selling of fixed assets. This profit should be reflected in the financial reports audited by the auditor.

    Compared with Objective 1 , Objective 2 is much more measurable (operation instead of fixed assets selling), quantifiable (USD$1,200,000) and observable (shown in financial reports).

    Nevertheless, it is still not a objective statemetn which is easy to execute in daily life. If the assignor want the task to be executable, he/she can further deintegrate the task into subtasks. The granularity of how small the task should be decoupled highly depends on the experience and capabilities of the assignee. 

    For example, when you assign a task to a Sales Director, most likely the granularity shown in Objective 2 will be good enough. On the contrary , if you want to assign the task to a Sales Manager, It is better to further break down the task in a deeper level as below:

    • With the following Sales Matrix, hit the sales target of USD$100,000 per month in the whole year of 2025 as below:
    • Sales Target assigned to each 4 Branches : USD25,000/mo
    • Sales Target to each 5 salesperson in each branch : USD$5,000 / person / mo
    • Sales Target of Hero Product [A] : USD$1,000 x 4
    • Sales Target of Hook Product [B] : USD$100 x 10

    So you can see that it is an optimisation process on how to find out the optimal point of the granularity of a task.

    [Input]

    Input of a task is referring to any material or information which is the prerequisite of carrying out a task. While there are quite a lots of types of input, there are some input type which is common in daily task:

    Input Material / InformationUse Case
    Access Rights of Meta Ads A/cPlace Ads on behalf of client
    Business Registration Certificate SoftcopyDomain registration on behalf of client
    Blank Order Registration FormPass to the client for order registration
    CashTo purchase
    Step By Step GuidelineGuide the Task Assignee to carry out the task correctly and punctually.

    It is the responsibility of the assignee to provide the input information to the assignee inside the task instruction in order to carry out the task.

    Meanwhile, as an assignee , you have to understand that there are 1,000+ predefined Task instructions within DDM Group, given the ever changing business environment, it is impossible for the assignor to keep the task instruction 100% updated. It is the assignee responsibility to give feedback to the assignor if you find any outdated / missing input information which is crucial for the task execution.

    The assignor will modify the Task Instruction Framework after hearing the feedback from the assignee and hence the input of the Task Instruction will be punctual next time. 

    Please be reminded that most of the time , the output of your task will be the input of other tasks, which forms a system. For the detail on what is a system and how it perform, please refer to the article Build a Business Process Management System – System Index Concepts.


    Specification of an Input

    To make the input functional, following specification should be found in the details of the Input:

    Source of Input

    Source of input is referring to where you (as an assignee) get the details of the input.

    For example, if the Input is the Login Password Credential of a Google Analytics Account, you may be suggested to get the Login Password Credential by either:

    1. Ask for client , OR
    2. Find in CRM in DDM’s Group, OR
    3. Find in the current Task Instruction , OR

    If the Login Password Credential is already stored in the CRM in DDM’s Group, it will be a waste of time to ask for the client again. Besides, due to the data privacy, it is not a good practice to record the Login Password Credential directly in the task instruction. 

    While the source of the Input is dynamic to different clients and different scenarios. It is the duty of the assignor to provide the source of Input inside the Task Instruction.

    Meanwhile, as an assignee , if you find it is happy for you to find the Login Password Credential easily through the CRM in DDM’s Group, this means someone had recorded the Login Password Credential at the time they got the information from the client. Therefore, as a virtuous teammate in DDM, please always proactively record the Login Password Credential in the CRM of DDM’s Group. In case there is no such option in the CRM to record the Login Password Credential of a specific application, please raise out loudly in the comment of the Task.

    Trustworthiness of Input

    Trustworthiness of an Input means to what extent the input can be trusted by the assignee. The degree of trustworthiness is an important parameter for the assignee to carry out a task, especially in the case where the assignor may expect the assignee to make a decision on his/her own. 

    Imagine a case where the client agreed to a daily ads budget of USD$100, while in the Task Instruction, it is suggested to set USD$1,000 as the daily budget in the Google Ads account. Any reasonable assignee who has paid attention to his/her work will raise out the potential problem that he/she may think of. In fact, if the assignee failed to raise this problem, he/she may probably not be in a working mood. 

    However, the assignor may not tell the assignee that there is a trick in Google Ads that we have to configure a much higher daily budget in order to make the ads running properly. Even though we have set a USD$1,000 daily budget, at the end of every day the ads budget will not be fully utilised due to the fierce ads bidding environment.  

    In the case above, it is necessary for the assignor to find a way to tell the assignee that simply trust the Task Instruction (i.e. USD$1,000) and execute accordingly. And therefore the trustworthiness of the input of the daily budget USD$1,000 will be categorized as Feasibility Proven (100%), which is expected to be executed by the assignee without any hesitation. 

    Like any of the political office environment in the world, it is make sense for the assignee to afraid of executing an exteriorly illogical task because it is probably the assignee who is going to bear the responsibility if the assignee failed to raise out the problem before they carry out the task. 

    You can sense that the assignee does not know what to ground on raising out the phenomenon that they perceive as a problem. To cater to this dilemma, it is the responsibility of the assignor to let the assignee know the trustworthiness of the input. 

    The rule of thumb is, as long as the input is classified by the assignor as 100% trustworthy, in case there is any failure due to that particular piece of input, the responsibility of the assignee will be waived. 

    On the contrary , if the trustworthiness of the input is scored under 100% or lower, it is the responsibility for the assignee to raise out the phenomenon which they may regard as a problem. 

    Please refer to the 

    Task# Reference

    Task# reference means any previous same or similar tasks which are carried out by other teammates.

    While sometimes Task Reference (i.e. in the form of Task#) will be provided in the Task Instruction, as an assignee, you can also find out the Task Reference by your own by means of:

    1. Search the SKUd# in the Teammate.com interface
    2. Search the SKUd# in bGraph

    It will be the assignor duty to keep an updated and hygiene bGraph such that it can be performed as a Knowledge Library for all the teammate to take reference when carrying out tasks new to him/her.


    [Output]

    Output is the observable material deliverable that you are going to deliver after the assignee has completed the task. It is crucial for the assignor to define the specification and expectation of the output such that the assignee can carry out the task accordingly.

    Please be noted that 50% of the failed task is due to the fact that the expectation is not clearly explained to the assignee. 

    Output Specification

    Below is the specification of the output that you will be expected to be found in the Task Instruction.

    Deliverable Presence

    Following is the some of Deliverable Presence example that can be found in a Task Instruction

    1. Report
    2. Document
    3. Installation of an application
    4. Production of a snippet of source code

    It is crucial for the assignor to define the Deliverable Presence in the task. For example, if you request the assignee to write you an article titled 2025 Digital Marketing Outlook, you can expect different levels of Deliverable Presence

    1. Plain Text in Task Comment
    2. Proofreading by assignor
    3. Text with Typesetting in Task Comment
    4. Text with Typesetting installed in WordPress Blog

    You can see that in fact there are 3 processes to produce the deliverable:

    1. Copywriting
    2. Proofreading
    3. Typesetting
    4. Installation

    Do NOT expect the assignee to guess which level you want. It will be the duty of the assignor to clearly state which processes are needed.

    Deliverable File Format

    In case the deliverable of the Task is a document, the file format should be clearly stated. Examples of file formats are as below:

    1. .pdf
    2. .docx
    3. .gsheet
    4. .esd
    5. .xlsx
    6. .eml

    Again, it is the duty of the assignor to define the file format of the deliverable for the assignee. 

    For example, as an assignor , if you want to have a 2025 Marketing Budget Plan from the assignee, instead of a .pdf file which you cannot further edit the content , you may want to have the Budget Plan with .xlsx file format (i.e. Microsoft Excel) for modification. 

    However, in another case while you need to send the Budget Plan to the client with an authorized company chop, then it is better for the assigned to save the file as .pdf format such that the content inside the budget plan cannot be modified any further.

    On top of that , if you even want to share to your teammate to comment and review before you can send to your client, it is better for the deliverable to be in .gsheet format (i.e. Google Spreadsheet). 

    As an assignor , while you spend a little extra time and effort to define the deliverable file format in advance before the task execution, it will help the assignee to save a lots of time to convert their file format after they completed the task. 

    Delivery Destination

    There are few examples of what a Deliverable Destination should look like:

    1. DDM’s Group Company Google Drive
    2. Record in DDM’s CRM
    3. Task Attachment
    4. Task Comment
    5. WhatsApp

    With no surprise, it is also the duty of the assignor to define the Deliverable Destination for the assignee. 

    As an assignor , imagine if the assignee completed a task and sent the .xlsx deliverable file to you via your personal WhatsApp account. In fact , there is literally nothing wrong for the assignee to do that if you do not define the Deliverable Destination in the Task Instruction in advance. 

    The cost of not spending time to clearly define the Deliverable Destination is that you have to use your Mobile Phone to open the .xlsx file, which assumes you have the MS Excel viewer installed in your Mobile Phone. And if you want to read it in your desktop due to a bigger screen, you either have to upload the file to your Company’s Google Drive, or you (as a assignor) will utilise your authority to ask the assignee to upload the .xlsx file to the Company Google Drive and send you the URL via email. 

    No matter which way you are using, you can see lots of extra and meaningless workloads are wasted. 


    [Caution]

    Caution is anything that you need to pay attention to before or after you carry out the task. While there is infinite number of caution to pay attention, there are some comment points that we can address:

    Time vs Quality Oriented

    Time Oriented Task

    For example, in an hourly based project where we charge our client USD$10 for an hour ‘s production, it makes sense for us to produce the output within 1 hour. In this case, the task will be regarded as Time-oriented , which means you (as an assignee) cannot modify hundreds of times to pursue perfection of your deliverable. 

    Another scenario is Research & Development (R&D) tasks in nature. Imagine if you , as an assignee , are required to write a Italy Market Entry Plan for a product, you cannot afford a 1,000 days effort to conduct the market research due to the fact that there will be an infinite amount of information that you can research for. If you do not set a time limit for the task, the task will never be completed. 

    Quality Oriented Task

    On the contrary, in a scenario that the web server of a VIP client’s website is down and you have been assigned a task to bring the web server alive, then we have to figure out the root cause and bring back the web server no matter the cost it takes. 

    Hybrid Task

    Due to the fact that it is impossible for the assignee to figure out whether the task is a time-oriented or quality-oriented task, it is crucial for the assignor to define clearly to the assignee. 

    But in reality, sometimes it will rather an optimisation problem instead of a binary problem (i.e. either Time-Oriented OR Quality-Oriented)

    For example, in a Research & Development Task in nature, if the assignor wants to write a task instruction on installing the Meta Conversion API to the client’s website. Due to the fact that there are no such case ever been carried out in the company, the assignor may assign the task as below in sequence

    Tasks:

    1. Assignee read article on internet and write step by step guideline on how to install Meta Conversion API in website (Max 2 Hours)
    2. Assignor reviewed the output of Task#1 and further define the subtask as below:
      1. Client assign the Access Rights of Meta Business Suite to DDM Group 
      2. Client assign the Access Rights of Website to DDM Group
    3. Assignee install the Meta Conversion API into the website (Max 2 hours)
    4. Assignee feedback the obstacles or difficulties to the assignor.
    5. Assignor further assign the subtask to the assignee as below:
      1. Raise question in Github or Stackoverflow 
      2. Keep reading related articles in internet (Max 4 hours)
      3. Outsource an 3rd party Meta verified partner to complete the task.

    We can see that in the Meta Conversion API installation task, there is a mixture of time-oriented and quality-oriented sub tasks to be carried out before the task can be completed. This is what we called Optimisation (i.e. opposite to Management) Task. 

    In an Optimisation Task, the assignor is unable to provide a 100% clear and executable task instruction in advance due to the fact that even he/herself does not know what he/she is seeking for. We called this problem as (R009) You Don’t Know What You Don’t Know.

    To handle the Optimisation Task, it is the skill for the assignor to further break down the task into subtask based on the feedback of the previous subtasks carried out by the assignee to decide what to do next.

    The rule of thumb is , the more criteria are met , the higher chance the task will be a Management Task. On the contrary, the more criteria is met , the higher chance the task to be an Optimisation Task

    Criteria

    1. The Task come with a SKUd#
    2. The Task is found in Task Template List
    3. Task# Reference can be found in the Task Instruction. 

    Reminder to the Assignee

    Although it is the duty of the assignor to define the task instruction to facilitate you to carry out the task, for some reasons it is not always feasible for the assignor to define 100% clear in the task instruction. As a virtuous teammate, therefore:

    Read and Comprehen Every Single Word in the Task Instruction

    Always read through all the content of the Task Instructions, as well as any supplementary information in the Task comment before you carry out the task. This means if there are 5 inputs and 7 outputs in the task, you need to study all those 5 inputs and 7 outputs one by one, instead of reading 1 input and immediately do another 1 output. 

    Raise Out Question before you carry out the Task

    Before you carry out the task, raise it if you think there is any input or output specification missing in the Task Instruction. Remember it will be for your own good because once you raise out and give feedback to the assignor, the assignor will update the Task Instruction Template hence the Task Specification will be more comprehensive in next time. For example, in a Google Analytics 4 Account (GA4) Creation task, after you have created the GA4 ID, you may also have the login and password information on your hand. In case there no output requirement for you to record in the DDM’s Group CRM, then it will be a good practice for you to raise out in the comment.

    Read Task Instruction More Than 1 Time

    DO NOT only read the Task Instruction ONCE. Imagine that there are 5 inputs and 7 outputs in the task, which you (as an assignee) cannot complete all the 7 outputs within 1 day. While you have only completed 3 outputs and leave the remaining 4 outputs after the 2-day weekend holiday. On Monday when you resume the tasks, while in fact you have almost forgotten what the Task Instruction is talking about, you still keep starting the task in the Task Instruction of 4th output. Due to the fact that some important information is mentioned in the 2nd input which you have already forgotten, you may fail to carry out the 4th to 7th output correctly. Statistics tell us this is one of the most common reasons why an assignee makes a mistake. And therefore, please always READ the Task Instruction:

    • BEFORE carrying out the Task
    • WHEN resuming the Task
    • AFTER Completed a Output
    • BEFORE submitting the Output

    Handling Management Task

    When you (as an assignee) are assigned a Management Task, it will have a definite right or wrong benchmark of the deliverable. It is likely that the requirement of the deliverable is clearly defined in the Task Instruction. If you think of a new way to carry out the task, or if you think it has a more efficient way to carry out the task, please RAISE OUT in the comment before you carry out. Please always remember that there are many angles and stakeholders that should be taken into consideration during carrying out a task. Sometimes what you (as an assignee) can see may not reflect the whole picture. On the contrary, it is also not appropriate for the assignor to prohibit the creative idea from the assignee. It is an art more than a science to assign a task. And hence communication is as important as production. 

    Handling Optimisation Task

    When you (as an assignee) are assigned a Optimisation Task, there may be little case for you to reference to , it is your show time to demonstrate your problem solving skills. Please always keep in mind that you should always set a time limit to this kind of task. Task without any time limit is simply a money burner. Besides, please do not expect any feasible and comprehensive task instruction to be provided to you as the assignor may need your output to determine the next step of the Task. (And that’s reason why it called Optimisation) 

    Communication is as important as Production.

    1. If you don’t understand the task, or you think that there is ambiguous meaning in some words in the task, please feel free (i.e. don’t be shy) to RAISE OUT. Remember if you have a chance to understand a Task Instruction, your teammate in the future may face the same problem. It is the duty of the assignor to clearly define the Task Instruction in order to let the assignee carry out the task seamlessly. 
    2. When you raise a question, RAISE OUT LOUDLY. Due to the fact that while you (as an assignee) may only need to read the task instructions from 1 (or max 2) assignor, on the contrary, your assignor may need to read the feedback from 10+ teammates and clients in one day. It is normal for you to wait for 1 or 2 days before you can get any feedback. If you think the point you raised is a prerequisite for you to complete the task, please raise it out loud by sending WhatsApp to your assignee. Please do not hallucinate that you have raised a stupid question or your assignor doesn’t like you so that he/she does not reply to your comment. As an assignor, it is trained to define the task instruction as clearly as possible. So don’t be shy to ask. For the manner of writing comments, please refer to the article How to Comment in Teamwork.com
    3. When you have banned or rejected something, please always suggest another solution at the same time. Your assignor already fully understands how difficult the world is. Therefore ,instead of ending your comment on “Why NOT” , please always end your comment with “How To”.

  • What is Teamwork.com

    Definition

    Teamwork.com is a SaaS (Software as a Solution) which is a Project Management System applied in Diamond Digital Marketing (DDM) to manage the execution of all project.


    How teamwork.com looks like


    What Problem the Teamwork.com Solves

    Before we dived into the problems we encoutered , allow me to setup the environment that is close to the reality.

    Imagine you are working in a company which has 20 projects come from 15 companies at the same time on the fly. You are a newbie with a title Marketing Executive in this company who just reported to due for only 1 week. Your company have 50 staff. Although you direct report to your superior which is a Senior Digital Marketing Manager, both the Marketing Director and the Senior Digital Marketing Manager, as well as the clients you are serving , can and will assign you task directly.

    Searching Inefficiency

    Multi Project Environment

    One day your superior is asking you to find out the “Logo PNG File” from one of the loyal clients which your company had already worked on 3 projects with. While you start searching for the “Logo PNG File”, you should make the following decisions before you can find the file.

    • In which Google Drive you should search for as the Logo PNG File should have been saved in somebody’s Google Drive that you don’t have access rights to. Imagine each time when you are searching for 1 file, you may need to search for 5 Google Drives, which means 80% (4/5) of the time on searching is wasted for each File you searched. Imagine if you need to search for 1000 files in a year, how much time you have spent on the searching activities which didn’t bring any productivity.
    • What Keyword to search for. While you are searching for an appropriate Google Drive in your company, what Keyword should you search in the Google Drive? While there are 4 components which locate a correct file:
    1. Client’s Name (e.g. DDM_Logo)
    2. File Title (e.g Logo)
    3. File Version (e.g. v1 , v2, v20240815)
    4. Approval Status (e.g. Approved , Rejected By Client)
    5. File Variant (e.g. 1000×1000 pixels, Editable , Transparent Background)

    Imagine if the Logo File you searched for simply came out with the result “Logo.png” , how can you decide the 5 points above? And unfortunately, most of the time you don’t even know (before you read this article) there are 5 components you should be considered during searching a file.

    The Project Management System (Teamwork.com) is going to eliminate the searching cost.

    Multi Task Environment

    On another day, your superior complained that she is not happy with the speed of your delivering the output. She wanted to help you to speed up your work and she asked you the following questions:

    1. How much tasks you are on hand right now
    2. What are the priorities of all these tasks and what is the logic behind prioritising these tasks. 
    3. What tasks are waiting for the client’s reply before we can move forward.

    Before you can answer these questions, do you have a mechanism to record all these tasks? Even if you have this mechanism , how much time do you need to spend each day to maintain the hygiene of the record?

    How much time do you need to spend on searching for all the tasks and consolidate them into 1 spreadsheet and report to your superior?

    Even worse , while you are “searching: for all the tasks , do you know what keyword to “search” for a particular task? How can you guarantee that you didn’t miss any task when each person will use a different title to mention the same task in the email?

    In turn, probably you may need 4 hours to produce this report to your superior, and that is exactly the reason why you cannot deliver the output on time (because your superior asked for a report which consumed you 4 hours). 

    While your superior , the Senior Marketing Manager , having spent 1 mins to read your report, now she understand how challenge you are to handle all the 50 tasks at the same time, don’t forget that there are still the Marketing Director and your 20 Clients who didn’t (and will not) read your report , and therefore keep complaining they are waiting for so long for your output. 

    One of the functions of Teamwork.com is helping you to enumerate and prioritise all the tasks in one click.

    Multi Communication Channel Environment

    Imagine this scenario : While you have been added into Digital Marketing Project Whatsapp Group with 6 people involved which you just joined 1 week ago. One day your client in the Whatsapp group is asking for you to find out a Last Year Budget Plan Cap Screen .jpeg File which was sent to your company 1 year before. Lucky the Digital Marketing Project Whatsapp Group is created by the company owned Whatsapp Number, so that you go for this mobile phone handset and start searching for the cap screen. As it is a cap screen that the client for sure didn’t rename the cap screen file for search-friendly purposes, you started to scroll back to top from the very bottom of the Whatsapp Group to search for that cap screen, which took you 15 mins but in vain.

    You start wondering if the client had really sent via the Digital Marketing Project Whatsapp Group. You send a message to all the teammates in the same Whatsapp Group and ask for them to search for the cap screen .jpeg file inside their personal whatsapp conversation box with that client. After less than 1 mins all your colleagues told you that they found nothing. You wonder if they really take it seriously. But unfortunately you cannot prove anything.

    You know it is unlikely that it can be found in the email box, but you still take a chance to search in the email box of the ex-staff who acted as your position. As the cap screen will not be assigned a very search-friendly name , you can only filter all the email with an attachment , and read the email title one by one. Found nothing, for sure.

    And finally you compromised and you told your client that your side lost the Last Year Budget Plan Cap Screen. Lucky your kind client told you that he remembered he sent the cap screen file to you via a Google Drive Link. So that in the Whatsapp Group and search for the Google Drive received around 1 year before. Bingo ! You finally got the Last Year Budget Plan (and in the very inner you , you muttered why the client didn’t find it by himself) , although you have already spent 1 hour to do so.

    Do not underestimate the time you spent within a year to seeking for a password, as well as resetting password of all the applications you have used in the company.

    As you are the Digital Marketing Executive who just onboard for 1 week, you should have the login credentials of the digital assets from both of the 20 clients that are under your manage, including 50+ digital assets including :

    Multi Authority Environment

    While one of your job duties are to do the regular Facebook Page Post copywriting, you need to get the approval from your superior by emailing the copywriting to her, before you can send the ready-to-publish version to your client for approval. Once your superior approved the copywriting and replied your email with a little bit comment and adjustment which is not supposed to be seen by your client, you cannot directly forward the email from your superior to your client without deleting the email content that is not approrpiate for the client. And therefore you need to create a brand new Email every time you have a new version of copywriting, but all these emails are actually referring to the same article. Imagine if you have 60 articles per month , which each article is modified 3 times on average, you are additionaly created 120 emails. How do you search for the latest version or approved version after 3 months will be definitely a challenge.

    By using the feature in Teamwork.com as the Project Management System, this kind of searching cost can be eliminated.

    Multi Talent Environment

    Imagine when you are building an e-shop for your client, your client is requesting you to create a “Banner” at the top of the “Front of the Website“to show the hot item of the eshop. When you , as a Salesperson , reply to reconfirm to your client that you will ask the web designer to design a “Hero Banner” in the “Landing Page” . So you pass this requirement to your Web Designer, which she asks you how many numbers of Product Photos are going to install into the “Hero Banner Slider”. Once she confirmed the number of photos in the slider, she passed her design with the HTML and CSS Code to the programmer to build the “Slider” , which the Slider now has an unique programming ID of “slider_home_one“. He had created a CSS Class “#slider_home_style” so that in the future any Slider can apply the same CSS style to make the design align. 

    Can you realise that even though in the same organisation ,both of you (Salesperson), Client, Web Design and the Programmer are referring to the same object (“Banner”), they are in fact using totally different wording / jargon to describe the world, not to mention if there people in different company with different academic background are using different wording to refer to the same thing. In linguistic this problem pattern is called Polymorphism.  

    By using the Project Management System – Teamwork.com, in order to avoid the misunderstanding , we are trying our best to standardize the wording that all different people are going to use to describe the same thing.

    Communication Inefficiency

    Communication Mesh

    Imagine when you are working for a project with 10 people, it is quite common that you will create a Whatsapp Group and invite everyone who is involved into this project to join. 

    Everytime when you want to update the progress of one of your web design tasks, even though you initially just want to notify the Web Designer in the Whatsapp Group, you eventually type a “@Designer” handle in the Whatsapp Group and everyone in the Whatsapp Group will receive that message. Although you only want to communicate with 1 person (the Web Designer),in turn 8 remaining people have wasted the time to check the message and find out that the message is not relevant to them, and therefore 8 communications are wasted.

    If you want to split the Main Whatsapp Group into subgroups, you will find that finally you have no idea which Whatsapp Group you should go to for checking the previous important message that you have notified your teammate.

    Now if you are working for 20 projects with 20 Whatsapp Groups with 20 Tasks on the fly per project, you can do the maths and find out how much time of communication is wasted.

    We call this communication pattern “Mesh Topology” and in order to stream the communication , we have to turn the communication pattern from “Mesh” to “Star” Topology.

    The Project Management System Teamwork.com is here to solve this problem.

    Lack of Quality Assurance

    Input Quality Control

    While most people are alert on controlling the quality of the output of a Task, seldom people will pay attention to controlling the quality of the input of a Task. One of the prerequisites of the input of the Task is the Task Instruction.  

    Let’s illustrate the concept with 2 instructions in below:

    Instruction One : Write an article that can convert the traffic to sales

    Instruction Two: Based on the product specification found in the Product Collection – Children Footwear in our website , write an English human article (which the output will be used as a Facebook Post) within 300 words in casual tone and manner, using “love” as the sales angle,  to convert the traffic in Facebook Post to Sales Transaction , with an expected CTR of 2%.

    Which one (Instruction One and Two) do you think is more executable and the less risk of being rejected by the client after delivered?

    Obviously Instruction Two is the answer. 

    However, in reality , The instructors may think that it is not worth spending 30 minutes to write an instruction which leads the executor to write an article which can be completed within 1 hour. And therefore they will apply a “trial-and-error” approach to let the executor write a draft and modify the draft afterwards, which this method make the instructor invest least time on it.

    This method is only in favour of the instructor which in expense of the time of revising articles by the executor, which in turn brings a “loss” to the company as a whole.

    Meanwhile, due to the fact that most of the time the instructor is also the superior of the executor, the executor does not dare to challenge the quality of the instruction provided by the instructors, leading the quality of the input (i..e the instructions) with no quality control.

    To consider the interest of both instructor and executor, by creating the Templated Instructions for the repeating tasks, everytime the instructor simply calls the Templated Instruction again, so as to save the time of the instructor of repeatedly writing the same instructions details again and again.

    Moreover, we can keep fine-tuning the instructions to make it perfectly. As the Templated Instruction will be used many times, the time we invested in fine-tuning the instructions will become an “asset” (i.e. instead of expenses). 

    Here comes the feature called “Templated Task List” which exactly fits the need of Templated Instructions

    Output Quality Control

    Unlike Physical Product (i.e. SKU) which has a predefined and standardised deliverable, it is quite hard for a business to standardise the service in each deliverable.

    Imagine how you can measure the quality of the Marketing advice provided by a consultant to a restaurant and a brand of a fashion chain store?

    If we cannot quantify or measure the quality of the deliverable, that means the business is at risk, which will bring the business to failure in the long-run. 

    While staff training is another big topic regarding how to control the quality of their output, before that we can build a Task Library which stores all the delivered Tasks, no matter success or failure, into one place. Whenever the newbie wants to carry out a Task by himself, he can refer to the Task Library to gain some insights and learn the error from others , in order to save the wasted time derived from error.


    Conclusion

    Teamwork.com is a the major project management system used within the entire DDM Group. Details usage of each feature will be mentioned in another articles.

  • What is Business Process Management System (BPM)

    What is Business Process Management System (BPM)

    Definition

    A Business Process Management System (BPMS) is a platform (normally a SaaS) that manages and automates well-defined business processes. It creates an infrastructure that enhances company agility, making work faster and easier. BPM involves modeling, automation, execution, control, measurement, and optimization of business activity flows to support enterprise goals across systems, employees, customers, and partners. CRM , Booking System, Human Resource Management System , can all be regarded as part of the Business Process Management System.


    What Problem Business Process Management System is going to solves

    Inconsisent Business Process

    As Murphy’s Law stated , “when something can happen, it will happen”. Whenever there is an inconsistent business process, there is a chance of risk, no matter how little the chance is , as long as you tried enough times, the risk will finally be suffered. As a enterprenuer who run a business, Risk is the synonym of Cost which we should avoid. To standize the Business Process of a business means whenever you provide a same quantity and quality of input, the output of that Business Process will always be the same. This is one of the reasons why a Business Process Management System should exist.

    Monotonous Workload

    Imagine you are requested from your superior that you have to deliver a Weekly Sales Report to your superior from different platforms including Shopify and Woocommerce. Due to the fact that these 2 platforms are not synchronised and you have to copy and paste the data from the Sales Report from these 2 platforms and consolidate the 2 reports into one and deliver them to your superior. In fact this is a monotonous and trivial data process that in fact brings little value to the company. But it’s inevitable for you to carry out the Task.

    Imagine how much time can be saved if there is a system which can be scheduled and automatically synchronise the data from different data sources and consolidate them into 1 report. 

    This is the reason why a Business Process Management System should exist in order to automate the work process and bring us better life.

    Lack of Tour Guide of the Application Interface.

    Do you have the experience that when your company is using a Google (or Excel) Spreadsheet as a CRM which you are responsible to update the record of the clients based on some event triggers , including 

    1. Event 1 – Enquiry Submitted
    2. Event 2 – Sales Order Placed
    3. Event 3 – Coupon Redeemed

    While there may be 50 columns in one Google Spreadsheet for each record of a client, each Event may only require you to modify a particular column (i.e. not all columns). 

    However, there will be a very long learning curve to memorise the mapping between the 50 columns and the 3 Events. 

    Even worse, you will never know the sequence of filling in 10 columns for a particular event.

    For example, you may never know you need to fill in the Birthday Field in the CRM before there is a Birthday Coupon shown in the drop down list of the Available Coupon list.

    By using a Business Process Management (BPM) System, we can set the conditional logic inside the BPM so that the frontend interface of the system will always guide you what to do next, and hide any fields or buttons that are not suitable for your next move, which can significantly eliminate the time of learning the frontend interface.

    Too Many Cooks Spilt The Broth

    Have you had the experience that a single Google Spreadsheet is acting as a Client CRM which is shared by 10 Salesperson and 4 departments?

    Whenever one sales person is using the Spreadsheet , he may probably apply a record filter so that he only filters the records that are related to him.

    Meanwhile, if another sales person wants to use the same Spreadsheet, he may need to deactivate the filters applied by the previous sales person , which means the Spreadsheet cannot be used at the same time by 2 people.

    Even worse, if there are 50 columns in the same Spreadsheet. And you can imagine that not all columns are related to all columns. 

    For example , the Date of Birth field may not be relevant to the Warehouse department which is only responsible for inbound and outbound sales order.

    When one of the staff mistakenly erases the value of a field, no one will have any idea who damages the Spreadsheet and makes the Hygiene Spreadsheet never be good.


    How To Build a Business Process Management System (BPM)

    In order to build a Business Process Management System, following stacks should be considered:

    Business Process Steps

    Step as the timeline of the BPM

  • What is Click Path

    Click Path is a DDM terminology which will normally occur in the instruction of a Task.

    Definition of Click Path

    Click

    The word “Click” inside the term “Click Path” means anything inside the screen in your Web Application or Mobile Application that is Clickable, which is named as Clickable Element Below are some of the examples of Clickable Elements:

    • Button
    • Image
    • Hyperlink
    • Chat Bubble
    • Expand / Collapse Button in a Accordion List
    • Navigation Menu Item
    • Tab
    • Tick Box
    • Offcanvas Menu

    Path

    The word “Path” in the term “Click Path” means the sequence or order of clicks to a group of Click Elements, as well as some Non-Clickable Elements which is acting as a directory which also can co-ordinate the location of the target destination so as to guide the user to reach that target destination.

    Below are some of the examples of Non-Click Elements which although they are non-clickable , they can still guide user to reach the target destination:

    • Title
    • Text Paragraph
    • Label (i.e. the Title of a Input Field)
    • Tooltips

    Click Path – What Problem Pattern it solves

    As a Co-ordinator in the screen.

    To guide the user what clickable elements inside the screen of the Web or Mobile Application you are using , for example, either a button or a hyperlink, to click , and what sequence the click elements to click, in order to reach a target destination (i.e. the destination) of that Web or Mobile Application.


    Example of a Click Path

    WordPress > Dashboard > posts > All Posts > Add New Post 


    Typesetting of the Click Path

    >

    The Right Arrow Character > denotes the next step among the Click Path.


    Code Block

    Inside the Code Block is any Clickable or Non-Clickable Element.


    Image Icon

    There are some Image Icons , for example Image Icon Download App in Google Play Store, which neither can you type via the keyword directly, nor using Font Awesome Icon or UTF-8 Character. In this case, we have to insert the Image Icons inline. You can use the following Click Path to achieve the expected outcome:

    Gutenberg> Gutenberg ToolBar > Inline Image 


    UTF-8 Character

    Other than any numeric characters [0-9] or Alphabetical characters [a-zA-Z], there are also some characters that exist but cannot be typed out via the keyword , which is named as UTF-8 Characters. Examples are the Vertical 3 Dots character , as well as Magnifier character

    As they cannot be typed directly via the keyword, and there are thousands of characters that you can use, it is impossible for us to list out here and the only way you can do is to search the character in the internet, provided that you can insert the search term which can precisely describe the layout of the UTF-8 character, which is the hardest part.


    Font Awesome Icon

    Font Awesome icons are a collection of scalable vector icons that can be customized using CSS. They’re widely used in web development to add visual appeal and interactivity to websites. To use the Font Awesome Icon in the Gutenberg Editor:

    1. Gutenberg ToolBar > Inline code > wpfa icon="fa-wordpress" 1

    You may not always have luck to find out the exact the same icon showed in the application which you write the Click Path. In this case instead of picking the most similiar Icon , you should better use Image Icon. (mentioned in the previous paragraph of this article)


    <<Placeholder>>

    In some scenario you may not know the exact wording that should be occured in the Click Path. For example, if you want to lead the reader to choose “Today” in a Calendar, due to the fact that you will not know which is the “Today” which the user use the Calendar, you can never write the exact Date into the Click Path in advance. In this case, you can use a “<<>>” to denote the Placeholder as below:

    WordPress> Calendar Sidebar > Date > <<Today>> 


    Component excluded in the Click Path

    Actionable Verb

    While the character > alway implied “next step” , and the Code Block already denotes the item inside is a clickable element, it is not necessary to write the actionable verb like “Press” , “Choose” or “Insert”.

    Explanation of the Action

    While the purpose of the Click Path is only to coordinate the Clickable Element, any wordings which are out of this scope should not be included inside the Click Path, espeically the word which is going to explain the reason behind of the Clickable Element.

    If you believe you must add a description to the click path to explain the logic behind, you can add a Footnote at the end of the step , or Tooltips which will be shown after mouseover the word:

    Footnote

    1. Gutenberg ToolBar > Footnote

    Tooltips

    1. Gutenberg ToolBar > Image Icon Tooltips2

    1. wpfa icon=”fa-wordpress” is the shortcode. You should add the “[” in front and “]” in the rear to wrap the shortcode. (I cannot type out the final output as once i do that, the shortcode will become an icon which i cannot show you how to type the shortcode!). The “fa-wordpress” is a variable which you can change to any Font Awesome Icon name as you wish. You can find the Font Awesome icon list in their website ↩︎
    2. Instead of mouseover the word to show the tooltips, please always add the “ⓘ” (search “i in the circle” in Google) as the underlying object which you used to show the tooltips when mouseover. ↩︎

  • About bGraph

    Definition

    bGraph is a term named by DDM (Diamond Digital Marketing) with the portmanteau of the prefix “b” and the word “Graph” . We apply the word “b” as the prefix due to the fact that the underlying system is built on top of Budibase (initial as “b”), which is a low code SaaS platform for building SaaS, which is a descendent of the AppSheet (i.e. another low-code SaaS Building platform) which we used before.

    Meanwhile , the component “Graph” is referring to the data pattern of how humans read, learn , comprehend , interpret and behave. Infact, as long as we want to find (or connect) every single concept that we know, we can apply a Graph pattern, which is backed by the Graph Theory invented (or discovered) by Leonhard Euler in the 18th century.

    What is bGraph

    bGraph (built by DDM) is in fact a SaaS (Software as a Solution) which is acting as a Knowledge Management System in DDM, which is a perfect tool to turn Graph Theory into a system which facilitates the users to learn , comprehend and behave.


    What problem the bGraph is solving in DDM

    Diamond Digital Marketing is a multi international corporation which drives our business engine to be exposed under different parameters:

    1. Multi Geo
    2. Multi Language
    3. Client from Multi Countries
    4. Client from Multi Industries
    5. Client from Multi Company Scale
    6. Multi Product
    7. Multi Job Title
    8. Multi Job Capabilities
    9. Fast Pace Technology innovation
    10. Multi Staff
    11. Multi Job Seniority (e.g. Rookie and Expert)

    Living within this ever changing business engine, anyone can imagine this is a disaster for us to barely maintain a business, not to mention to scale up.

    During the business process, there are 5 costs incurred in every single step or every single action of each team player within the whole organisation:

    Production Cost

    This is literally easy to understand. Product cost simply means the quantifiable and observable cost incurred during the production process.

    For example, when we want to write a human-written Article for SEO purposes, the Production Cost is simply the production lead time which (associated with an hourly rate) is spent by the copywriter to do the research on the knowledge domain, as well as the time on actually writing the article. As long as we provide a job description to limit the number of words of output of that Article , The Production Cost is quantifiable , observable with no doubt.

    Cost of Searching

    However, not every cost can be observed or identified easily like Production Cost. Under the same metaphor, before the copywriter can actually do the writing, he/she may need to understand the knowledge domain in advance. In fact, the time spent on research-oriented tasks can vary from hours to days, depending on what granularity you want to deep down. While the revenue that we can earn from providing the service to clients is with a cap (i.e. ceiling , or maximum) , the Cost of Searching can be infinity that you can “research” for years before writing.

    In a statistical way of thinking, while every time the revenue of the task “article writing” is limit with a maximum cap , the cost of the “article writing” is unlimited, which means after 1,000 times , eventually we will definitely have a lost (i.e. Cost > Revenue) with no doubt. (because revenue is limited and cost is unlimited)

    How to quantify the “search” actions, refine the boundary of research, and name the granularity (i.e. the deep down level) of the research is definitely a changeling task, which is more an art than a science.

    Cost of Error

    I think all of you who worked for a while have experience that your superior or clients will modify or even totally reject the service / product that you deliver to them. While our product / services in most of the time is charged based on the measurable quantity of the deliverable (e.g. Number of Words written / Number of hours in Research), the Cost of “Error” part which is rejected or modified by the clients can never be absorbed by the price that we charged the client.

    Imagine the case that when we promise to deliver an article with 1,000 english words to the client for USD$200, in fact we may write 5,000 words because we have modified 10 times due to the unsatisfactory feedback from the client. The 4,000 extra words (5,000 – 1,000) is the hidden Cost of Error that is hard to spot in a systematic way.

    Again, whenever our business engine has any hidden cost that cannot be absorbed by the price we charged the client, we will definitely have a loss after 1,000 times we sold out that product / service.

    Cost of Communication

    Every time we receive an order from a client, we should have a job description input from the client to guide what we should deliver. For example

    1. Number of Words
    2. Language 
    3. Tone of manner
    4. Delivery Time
    5. Presentation Format
    6. Scope of Knowledge Domain

    Imagine how much time we need to spend on communicating with the client the job description , not to mention that we cannot guarantee our Salesperson (i.e. the Training Cost) to remember all the job descriptions (among 100+ of different Tasks) and ask the client in the right time, and assumed that the clients can understand the questions and provide a correct answer, which is unlikely the case.

    Remember how often the job description has too much jargon that the clients do not understand and hence provide you a wrong job description input which the Salesperson passed to the production process, and in turn produce a wrong deliverable rejected by a client and finally we were requested to redo.

    The Cost of Communication incurred, again is hardly observable and hence not measurable and not be absorbed by the price charged to the client.

    Opportunity Cost

    Opportunity Cost in an academic way means highest option value forgone. In a common sense way it means how much you sacrifice when you make a decision.

    For example, assumed that your availability is only have 2 hours , if you spent 2 hours to accept an job copywriting job with an hourly rate of USD$20, you cannot spend the same “2 hours” to win a job with an hourly rate of USD$50, which means your Opportunity Cost of accepting the USD$20 offer will be USD$50 – 20 = USD$30.

    Put it in short, if you use all your hands to grab a penny, you have no hand to grab a dollar.

    Opportunity Cost is another typical cost that is hidden and hardly observed by the business owner.  Although technically you do not suffer any additional loss , you at the same time also cannot earn more which you should have.

    We can imagine that while there is only one way to make money (i.e. Selling Revenue) which is predefined and limited , there are 5 ways that we can lost money (i.e. Cost) which is hidden and unlimited.

    You can now understand why most of the businessmen failed. And imagine how many hours you have to spend on training the teammate to avoid all these costs, assuming that the business owner already recognized all these costs, which is unlikely to be the case.

    The objective of bGraph is to eliminate all these 5 types of cost as much as possible.


    How bGraph Behaves

    Before embodying the bGraph, allow me to introduce the bGraph Model which theories all the thinking and behaviour within DDM from the knowledge being acquired by us, to the services being sold out by us to the clients.

    While in DDM there are 1,000+ SKUd (i.e. the types of services) that we can provide to our client, each SKUd will go through the same procedures before it is successfully delivered to the client. We called these procedure “Knowledge Monetization

    1. Problem Pattern

    To provide a metaphor is the best way to illustrate the concept. Imagine when your client wants to run a business online, he may need to “Build a Website”. Infact he will not know anything about building a website, he has no idea on what is wordpress, woocommerce, not to mention what is domain name or web hosting. In this case, the Problem Pattern that can be recognized by the client himself is “Website Building”.

    Therefore , probably he will search in Google “website building agency” or “how to build a website” as this is his perception entry.

    On the contrary, he will NOT search in google “domain name registration” or “web hosting service” as he doesn’t even know what this is about. He can never search for something out of his perception.

    We regard the “Problem Pattern” as the Trigger of the Knowledge Monetization process because this is how the story starts.

    Perception Status

    Problem patterns can be further classified to 6 status based on the Perception Status of the client regarding that particular Problem Pattern. The Perception Status highly affects the Sales Parameters when we (DDM) are communicating with the client.

    01 – Spotlight – In this perception status , the client heard of the service or products type name , but in fact does not know exactly what he is going to buy, or what he needs. SEO Service is one of the examples of [01 – Spotlight] Service. Other than the pronunciation “SEO” , the client most of the time does not know what the service scope is covered, how much it is , how to justify the price , what is the fine-grained specification of the service, or even what will be the deliverable or the KPI. Infact , the client just heard of the service / product name somewhere and he realised that everywhere in the world is talking about this. For the sake of FOMO (Fear of Missing Out), he is going to seek out SEO.

    Client Behaviour AspectBehaviour Description
    Price SensitivityExtremely Price Oriented. The only parameter that he is going to do the comparison among vendors  is price.
    Problem SolvingMost likely he cannot solve his problem by simply buying the service because he didn’t clearly define the problem , as well as the specification of the service.
    Order SizeSmall amount of the product or trial period of the service is what he is seeking for. He will not spend a lot to buy something that he don’t understand 
    Searching KeywordHe is going to (and can only) search for the most generic and iconic Keyword. (For example , “SEO”). He will not search for any technical terms (e.g. DNS Caching) 
    Do not expect him to search for any jargon (e.g. backlink) or service specification. 
    The search term still will not deep down to operational and executable level.

    02 – Learning by Reading – Some of the clients may step further to read through the internet / KOL after he went through [01 – Spotlight]. Under the metaphor of SEO service, the client, although most likely still not know how DNS caching may enhance the SEO performance, he may know that Keyword installation or Backlink Building is a common service scope of SEO. 

    03 – Learning by Doing – Having experienced the service from any vendor, the client starts to understand the logic behind the service. He may have encountered the Problem Pattern that he had never imagined before, and can comprehend what the vendor is talking about. To continue the example of the SEO service, the client may now realise that  it is hard to do the Keyword Research to enumerate all the Keywords relevant to his business because he lacks access rights to an Active Google Ads account. Or he may realise that it is very time consuming to build backlink by himself due to the fact that he needs to create a dummy account for each business directory or guest blog one by one by himself. 

    Client Behaviour AspectBehaviour Description
    Price SensitivityMore prone to Quality Oriented instead of Price Oriented 
    Problem SolvingMore willing to listen to the service scope that out of his cognition , which normally is the missing puzzle for solving the problem
    Order SizeMore willing to engage into longer service periods. 
    Searching KeywordSearch for the Problem Pattern during the operational procedure. (e.g. how to check if the black link is  “nofollow”)

    04 – Learn From Mistake – Having used the service for a while, the risk or error derived from the service that he did not purchase in [03 – Learning By Doing] (due to the fact that this service is out of his perception) starts floating up. Even worse, most of the time he cannot correlate the mistake he made , or the problem shown up, with what he service that he didn’t purchase before. Under the same metaphor of SEO service, the client may realise that the ranking of his website is not climbing up but instead dropping, although he did realise that the dropping of the website is due to a particular cause – backlink. What he only knows at this moment is that he is suffering from the mistake and needs to fix up as soon as possible.

    Client Behaviour AspectBehaviour Description
    Price SensitivityQuality Oriented and Responsive Oriented instead of Price Oriented.
    Less doing comparison among vendors. 
    Problem SolvingDedicated to solve the problem by all means in order to resume his business to normal condition
    Order SizeDoes matter as long as the problem can be solved 
    Searching KeywordSearch for the Problem Pattern and the Solution of the Problem Pattern.

    05 – Cannot Form Question to Ask for Help – This Perception Status is in fact the extension of 04 – [Learn From Mistake], which the main difference between Stage [04] and [05] is that the client even don’t know what is the reason that cause the problem he suffered in this moment. For example, the client who bought the SEO service from a SEO Agency found that in one day the ranking of his website dropped dramatically. He cannot even tell what step he or his SEO agency made to bring this result. The only phenomenon (Problem Pattern) that he can observe is that the ranking of his website dropped.

    06 – You Don’t Know What You Don’t Know –  In this Perception Status, the client doesn’t even address the problem. He may regard the Problem as Phenomenon (instead of Problem) because he does not think that he is suffering. Under the metaphor of SEO service, for example , while the homepage of his website is still shown up in the Google Search Engine Result, he may not realise that 90 out of 100 URLs in his website are not indexed by Google Search Engine because he never knew how many URLs his website actually had. 

    Client Behaviour AspectBehaviour Description
    Price SensitivityNot Price Sensitive No Quality SensitiveIn fact he is sensitive to nothing because there is no demand
    Problem SolvingAs the client does not address the problem, he is not going to fix up anything
    Order SizeNo Order as he as no intention to buy anything
    Searching KeywordWill not search for anything.

    2. Theoretical Model

    While “Website Building” is the only Knowledge node understood by the client, to run the business and provide the service to the client, of course we (DDM) need to master all the academic theory, knowledge and skill set behind .

    For example , to know how to build a Website, we should master:

    1. HTML
    2. MVC (Model-View-Control)
    3. OSI (Computer Network Communication Model)
    4. Colouring System

    While you cannot directly ask for your client to pay for you after you tell him what is a <H1> in HTML tag , which instead your client will only tell you that he want to BOLD the Title of an article, (which in fact is executed via giving a <H1> tag to the Title) it is a prerequisite for you to know what is a <H1> HTML tag before you can build a website.

    Therefore, in there HTML is a Theoretical Model (i.e. the knowledge) that we should address in our bGraph.

    Features

    Theoretical Model can be further fine-grained to Features. For example, when your client is under the harassment of spam registration, he may only come to you with a Problem Pattern that he wants to block the spam registration (which is the Problem Pattern in this case) . Most of the time , he may not tell you that he wants to install a Firewall to block these spam registration, which in this case Firewall is the Feature (i.e. the Solution) that he wants to tackle the Problem Pattern.


    3. SKUd

    SKUd is a portmanteau used within DDM which consists of the acronym “SKU” which stands for Stock Keeping Unit, and the suffix “d” which stands for DDM (initial as “d”). The SKUd is named in order to differentiate it from the SKU of Client which we denoted SKUc.

    In reality , especially in a product based (in contrast to service based) business, the concept of SKU is easy to understand. While you visit a supermarket and buy a canned Coca Cola 350ml , this product “Set” is called a SKU with a SKU number because all those specific 100 cans of Coca Cola 350ml all have the same price, which therefore are classified under one SKU Number. 

    While you are purchasing a can of Coca Cola 350ml with the price of USD$1 and checkout, the cashier will pack you exactly that ONE particular can of Coca Cola 350ml, no more and no less. Definite, crystal clear.

    On the contrary, when you visit a hair-styling store and you request the stylist to deliver you a “beautiful” haircut , the term “beautiful” is in fact hard to define , measurable and quantifiable . 

    Not only because the term “beautiful” is subjective , the service time of the haircut cannot be always quantifiable. You never see that the charge of a hair-style is based on the number of hair or the length of the hair that the client possesses. 

    The ambiguous definition of the deliverable “beautiful haircut” can definitely derive lots of communication cost including the argument on the “beauty” of the deliverable, the service time , the attitude of how the hair-stylist service you , so on and so forth.

    Imagine if you are going to build a website for the client, following specification will significantly affect the price you charge to your client:

    1. No. of pages to create
    2. No. of language
    3. Speed of the Web Server
    4. Capacity of the Web Server Storage
    5. No. of Functionality of the Website
    6. No. of customised programming code.
    7. Cost Domain Name

    If we simply classify the “Website Building” to a single SKU, it definitely is not enough to cater all different needs from different clients in different scenarios. 

    How to design a quotation system which can quickly and accurately generate a quotation which covers all the requirements from the client, while at the same time having a short learning curve, is a world class challenge, not to mention most of the time the client doesn’t even know what he actually needs. (e.g. Do you think the client will proactively require you to install a DNS Caching system in order to speed up his website?)

    Besides, Service will always derive hidden cost of communication and cost of error. How to define a quantifiable and deliverable service is crucial for success. 

    The term “Service as a SKU” is the business model applied by Amazon Web Service (AWS), one of the biggest IT companies in the world, to eliminate the hidden costs derived by Service, by modularizing and quantifying all the services as much as possible via API. 

    In DDM, we will apply the same “Service as a SKU” model (as much as we can) . We can simply name all these SKUs a “Solution” in our Knowledge Monetization process.

    4. Interface

    After we have sold a particular Solution (continue to use the “Website Building” as the metaphor) to the client, we should consider how the Solution interfaces with both the Client , our Teammate , as well as other Computer Systems.

    Before we illustrate the concept with an real life example, allow me to enumerate and elaborate the Interface that we are going to cater:

    GUI – Graphical User Interface , which usually is easily and intuitively controlled by the end user (e.g. drag and drop). Most of the users will use the software via the GUI and didn’t even notice that they are using the GUI. The button you clicked to submit, or the drop down list you used to choose an option inside a software, are all examples of a GUI.  

    Source Code Interface – While most of the time the user can use the software by GUI , there is a scenario that the software allows the user (or the developer) to customise the software based on his specific need. Due to the fact that there are an infinite number of scenarios which can be requested by the user, it is impossible to in advance create all the GUI components to cater anyone for everything. And that’s the reason why the software will always provide a console which allows users to write their own programming code to alter the function of the software to fit their needs. We called this interface as “Source Code” interface

    CLI – Command Line Interface , which 99% of the time will not be touched by the end user. It should only be touched by the developer to place an order directly to the software without interacting with the GUI. CLI facilitates the developer to place an order in bulk hence the developer can automate the process. While the interface requires the developer to write Computer Command Line (e.g. type in copy C:/windows/abc.jpg to copy the file in the Windows Command Line Prompt), that’s the reason why it’s named Command Line Interface.

    Windows Command Line Prompt

    API – Application Program Interface, While all 3 above are talking about how the human (user / developer) is interacting with the software, the API is covering how to interact with one software (or system) to another software (or system). The “consumer” of the Interface is in fact the “Application Program” (i.e. the software), and that’s the reason why it named “Application Program Interface

    To continue our Website Building metaphor , Imagine the client requested us to add a Captcha function in order to avoid the spam new user registration, you can think of the interface matrix as below:

    InterfaceParties involvedAction
    Website Frontend GUIWebsite VisitorTick the Recaptcha Checkbox
    Website Backend GUIWebsite DesignerTo change the Colour of the border of Checkbox of the Recaptcha
    To change the font size of the Checkbox of the Recaptcha 
    Source Code InterfaceDeveloperWrite a if-then-else scenario to control only non-logged in user should fill in the Recaptcha Box, while logged in user can skip this process
    CLIDeveloperWrite a scheduled program to periodically upgrade the version of the Recaptcha Plugin from the Vendor’s server.
    APIRecaptcha Vendor (e.g. Google Recaptcha) Charge the developer based on number of usage of the Recaptcha 

    While the client is referring to this “reCaptcha” function as “i’m not a robot box” , the Website Designer will tell the programmer this is a “Checkbox” with CSS ID = “google_recaptcha” . Meanwhile, the developer will name as an “Object” the recaptcha vendor will regard it as a “Recaptcha API Endpoint

    Recaptcha Checkbox

    How to communicate among Client / Salesperson / Website Designer / Developer / Vendor will be a big challenge.

    Do you think the client will call the Salesperson and tell him that :

    “Hey guys, i want to write a if-then-else logic to block the spam registration from spam bot , i will call the API end-point 1000 times per month and to align the brand tone colour of my website , so please set the checkbox border-colour = rgb(242,129,123,0)”

    There is a huge demand for a lookup table to translate all the different jargons which are referring to the same thing among different people.

    That’s one of the duties of the bGraph.

    While the client is referring to this “reCaptcha” function as “i’m not a robot box” , the Website Designer will tell the programmer this is a “Checkbox” with CSS ID = “google_recaptcha” . Meanwhile, the developer will name as an “Object” the recaptcha vendor will regard it as a “Recaptcha API Endpoint

    How to communicate among Client / Salesperson / Website Designer / Developer / Vendor will be a big challenge. 

    Do you think the client will call the Salesperson and tell him that : 

    “Hey guys, i want to write a if-then-else logic to block the spam registration from spam bot , i will call the API end-point 1000 times per month and to align the brand tone colour of my website , so please set the checkbox border-colour = rgb(242,129,123,0)”

    There is a huge demand for a lookup table to translate all the different jargons which are referring to the same thing among different people.
    That’s one of the duties of the bGraph


    Put everything of bGraph Together

    To bring what knowledge we (DDM)  acquired and turn it into a deliverable which can be sold to our client, this is what we called Knowledge Monetization Process.

    Below are the Knowledge Monetization Process examples we showcase some of the option values of each step inside the Process.

    (Step 1)
    Problem Pattern
    (Step 2)
    Thertocial Model
    (Step 3)
    SKUd
    (Step 4)
    Interface
    Avoid Spam

    CommentMembership

    System1st Purchase

    CouponSend Company

    Email
    OSI

    HTTP

    Javascript

    SMTP

    DNS
    Recaptcha Installation

    Membership System

    Installation

    SMTP Setup

    Coupon Code

    Setup Website UI Design

    Usage Training
    Frontend GUI

    Backend GUI

    Source Code Interface

    CLI

    API

    In real life all the Steps 1 to 3 in the Knowledge Monetization Process involve 1,000+ option values that we can choose for. 

    if we want to successfully sell the SKUd to the client based on the problem pattern he had raised out, we should choose 1 appropriate combination among all the combinations , which is 

    [Options Value Steps 1] x [Options Value Steps 2] x [Options Value Steps 3] x [Options Value Steps 4] x 

    4 x 5 x 6 x 5 = 600 combinations 

    We called these 600 combinations the (i.e. the result of that multiplication operation) Cartesian Product. These 600 combinations bring us a big question, how can we train up our Salesperson / Website Designer / Developer / Client to pick ONE appropriate combination among 600 so that the client can solve his problem? (don’t forget in real life all Step 1 to Step 3 have 1,000+ option values for each step, which in turn bring almost infinity numbers of combinations)

    For example, below is 15 of the combinations out of 600 which should deliver to the clients in order to solve his problem (i.e. Avoid Spam Comment)

    (Step 1)Problem Pattern(Step 2)Thertocial Model(Step 3)SKUd(Step 4)Interface
    Avoid Spam Comment
    JavascriptWebsite UI Design

    Recaptcha

    InstallationUsage Training
    Frontend GUI (Recaptcha Checkbox)

    Backend GUI (Colour of the Checkbox)

    Source Code Interface (if-then-else code to require only non-logged in user to tick the Recaptcha)

    CLI (auto update the version of the Plugin)

    API (Calculate the usage of the Recaptcha and hence charged by the vendor)

    How can our Salesperson know that he should pick up 3 SKUd (out of 6 in this example) to achieve the goal?

    How can our Developer know that he should tackle 5 interfaces to deliver the setting?

    How can our human resource manager know what knowledge the developer should know if he wants to recruit a developer to do the programming on the Recapthca installation process? (in this example, the developer needs to know how to write Javascript)

    This is a typical cartesian product data pattern that we will always face when we are acting as a business consultant. To cater this cartesian product data pattern is simply by building a database  to map all the option values in different steps.

    This is how a business consultant should act (assist anyone to choose , i.e. make a decision) , and then bGraph is (and going to be) a powerful system (i.e. the database with interface which can be used by users) which is acting as an automated consultant.


    In conclusion, bGraph is the foundation stone of our business , or even the definition of DDM.

    In bGraph it is : 

    1. Acting as a library , containing all the option values for each steps in Knowledge Monetization process
    1. Acting as a Graph Theory, which records every single relationship (we called it “edge”) among each “node” which are related to each other.
    1. With the automated business rules written inside the bGraph, acting as an automated business consultant to suggest the appropriate option value to the user in right time and right place.

    Thousands of hours can be saved in terms of all 5 costs mentioned above, and therefore we can scale up our business globally without any hiccup.


Diamond Digital Marketing Group