Therefore Strategic Technology Services

Thursday, 5 November 2020

Therefore BPMS Version 5 Changes / Release Notes

Every week we make between 10 and 20 small refinements to the Therefore BPM Suite. In a year that amounts to about 780 refinements. The Therefore BPMS has been under continual refinement for the last 14 years, which translates into some 10,920 refinements. What would you expect if you refined something 10,920 times?

What follows is an overview of the core enhancements made during the course of the development of the 5th release of the Therefore BPMS application, which should give you an idea of the type of value that we are continually adding to the Therefore BPMS.

Reminders Interface

  • Fix the Reminders tab left hand side summary display listing error that presents itself should the Limit Reminders displayed by menu option selected option have been selected on the Review and Utility Screen Options screen.
  • Fix the Comments tab left hand side summary display listing error that presents itself should the Limit Comments displayed by menu option selected option have been selected on the Review and Utility Screen Options screen.
  • Resolve Utilities display sequence inconsistency with respect to the display of the following Utilities by standardising on an oldest to newest sequence …
  1. Notes
  2. Ad-Hoc email
  3. Ad-Hoc SMS
  4. Progress Status Updates
  • Introduce configurative options that allow for the display of the following data elements via the Task / Query Review screen when their Therefore ThreadBuilder™ visibility is set to “Hide” …
  1. Classification
  2. Priority
  • Introduce configurative options that allow for the display of the following data elements via the Task / Query Review screen when their Therefore ThreadBuilder™ visibility is set to “View” …
  1. Long Description
  2. Priority
  3. Date / Time
  4. Classification
  • Revise the Task / Query Review screen’s styling for the following fields should they be set to “display” via the “Review and Utility Screen Options” screen and be set to “View” or “Hide” via the Therefore ThreadBuilder™ so as to indicate that the User wasn’t in a position to edit their contents …
  1. Long Description
  2. Priority
  3. Date / Time
  4. Classification
  • Add options for the fields detailed below that enable them to be displayed on the Task / Query Review screen when they have been set to “hide” or “view” via the Therefore ThreadBuilder™, as per the new functionality outlined under the Task / Query Review Screen heading.
Therefore ThreadBuilder™ “View” display options …
  1. Long Description
  2. Priority
  3. Date / Time
  4. Classification
Therefore ThreadBuilder™ “Hide” display options …
  1. Classification
  2. Priority
  • Add the following attachment player / previewer enable / disable options …
  1. Audio player
  2. Video player
  3. Image previewer
  4. PDF previewer
  • Update instructions text.

Implement the following players / previewers for deployment throughout the system where attachments are displayed for access …

  • Audio player
  • Video player
  • Image previewer
  • PDF previewer
  • Add Display Availability Status option to the Contact List Configuration section of the Activate Optional Features screen.
  • Make various narration text refinements.
  • Update instructions text.
  • Revise the logic that drives the display of Availability on the Contact List such that display / non-display is solely determined by the new Display Availability Status option introduced on the Activate Optional Features screen.
  • Revise the manner in which the Contact List’s post search User Listing behaves after a user has been selected so that the User Listing remains static / compliant to the search performed until the search is cleared.
  • Add placeholder text to the search text box.
  • Revise the No Available Buttons Error Thread Check message.
  • Revise the Terminating Button on Starting Entry Type Error Thread Check message.
  • Ensure that a “no buttons” Thread Check is triggered if there are no buttons allocated to the create step.
  • Various Resource File tidy ups.
  • Add new search / replace variables …
  1. Thread Type Name
  2. Thread Type ID
  3. Creation Date
  4. Creation Time
  5. Goal Date
  6. Goal Time
  7. Now Date
  8. Now Time
  9. Percentage of time used
  10. Status colour
  11. Department Head
  12. Task Company Web address
  13. Task Company Internal coordinator
  14. Task Company External coordinator
  15. Primary Company Web address
  16. Primary Company Internal coordinator
  17. Primary Company External coordinator
  18. Primary Company External Reference 1
  19. Primary Company External Reference 2
  • Add new email routing variables ...
  1. User Group
  2. Department Head
  3. Task Company Internal Coordinator
  4. Task Company External Coordinator
  5. Task Company External Reference 1
  6. Task Company External Reference 2
  7. Primary Company External Reference 1
  8. Primary Company External Reference 2
  9. Department External Reference 1
  10. Department External Reference 2
  11. Major External Reference 1
  12. Major External Reference 2
  13. Minor External Reference 1
  14. Minor External Reference 2
  15. Thread Type External Reference 1
  16. Thread Type External Reference 2
  • Ensure that all User specific email routing variables don’t return an email address if the underlying User has been disabled.
  • Update Notifications definitions document (Version 17).
  • Revise the tab sequence on the following Therefore ThreadBuilder™ tabs …

Thread Type Level tabs …

  1. Details
  2. Proxy
  3. Company
  4. Contract

Entry Level tabs …

  1. Details
  2. Notice
  • Allow the Entry Level “Long Description” field to be set to “View”.
  • Correct display error on the Entry Level’s “Email Cycle” tab such that the bottom scroll arrow is not obscured.
  • Resolve intermittent error that presents with the following keyword searches …
  1. Black
  2. Green
  3. Yellow
  • Disable Search Text box spell check.
  • Fix the error that occurs should a user click the “Cancel” button on a Utility screen while an active Smart Search is in play.
  • Add placeholder text to the Smart Search box.
  • Add placeholder text to the Quick Search box.
  • Revise styling of the Quick Search box.
  • Update all Email Templates so as to mark them as © 2020
  • Update Therefore ThreadBuilder application so as to indicate © 2020
  • Update web application so as to indicate © 2020 in the following contexts …
  1. Unauthenticated screens
  2. Authenticated screens
  3. Print and PDF screens
  4. Report Viewer screen
  • Update the following style sheets so as to indicate © 2020 …
  1. Public Style Sheet
  2. Light Blue Style Sheet
  3. Common Style Sheet
  4. Print Style Sheet
  • Update Web version number to 5.x.x.x.
  • Update Therefore ThreadBuilder™ version number to 5.x.x.x.
  • Update Service version number to 5.x.x.x.
  • Should the footer have been configured to display the Active Task, only display the “Active Task” narration if there is an active task in play so as to minimise screen clutter.
  • Limit the Target Hours field to only allow for the capture of whole numbers.
  • Revise the maximum target hours exceeded validation message.
  • Revise instruction text.
  • Revise formatting of narrations under the Variables heading.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise the duplicate “Name” validation mechanism, both in new and edit mode.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise the duplicate “Name” validation mechanism, both in new and edit mode.
  • Revise the fields on which the spell checker is turned on / off.
  • Limit the Target Hours field to only allow for the capture of whole numbers.
  • Revise the maximum target hours exceeded validation message.
  • Revise formatting of inline validation messages.
  • If there are inline validation errors present, present the User with a “Please resolve all on screen validation errors” popup when the “Save” or “Create” button is clicked.
  • Resolve bug such that the system retains all data captured / changed when a non-inline validation error is triggered by clicking the “Save” or “Create” button.
  • Revise the duplicate “Name” validation mechanism, both in new and edit mode.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise the duplicate “Name” validation mechanism, both in new and edit mode.
  • Revise the duplicate “Name” validation mechanism, both in new and edit mode.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise the duplicate “Name” validation mechanism, both in new and edit mode.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise formatting of inline validation messages.
  • If there are active inline validation errors, present the User with a “Please resolve all on screen validation errors” popup when the “Save” button is clicked.
  • Introduce a “Reset login failures” on “sign in” or “password change” radio option.
  • Revise instructions text.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise formatting of inline validation messages.
  • Resolve bug such that the system retains awareness of the Priority being edited when a non-inline validation error is triggered by clicking the “Save” button.
  • If there are inline validation errors in place, present the User with a “Please resolve all on screen validation errors” popup when the “Save” or “Create” button is clicked.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise the duplicate “Name” validation check mechanism, both in new and edit mode.
  • Revise formatting of inline validation messages.
  • Resolve bug such that the system retains all data captured / changed when a non-inline validation error is triggered by clicking the “Save” or “Create” button.
  • Resolve bug such that the system retains awareness of the Document Type being edited when a non-inline validation error is triggered by clicking the “Save” button.
  • If there are inline validation errors present, present the User with a “Please resolve all on screen validation errors” popup when the “Save” or “Create” button is clicked.
  • Revise the duplicate “Name” validation check mechanism, both in new and edit mode.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise formatting of inline validation messages.
  • If there are inline validation errors present, present the User with a “Please resolve all on screen validation errors” popup when the “Save” button is clicked.
  • Revise the fields on which the spell checker is turned on / off.
  • Trailing carriage returns to be removed from the following fields on save …
  1. Communication Disclaimer
  2. Reporting Disclaimer
  • Revise formatting of inline validation messages.
  • Revise placement of data capture fields to ensure consistency with other screens.
  • If there are inline validation errors present, present the User with a “Please resolve all on screen validation errors” popup when the “Save” button is clicked.
  • Revise formatting of inline validation messages.
  • If there are inline validation errors present, present the User with a “Please resolve all on screen validation errors” popup when the “Save” button is clicked.
  • Revise the fields on which the spell checker is turned on / off.
  • Trim leading, trailing and superfluous inner spaces as well as spaces before and after commas from the data saved in the Headings field.
  • Remove leading, trailing and extra spaces from within the Menu Name, Long Name and Family Name fields on save.
  • Revise formatting of inline validation messages.
  • If there are inline validation errors present, present the User with a “Please resolve all on screen validation errors” popup when the “Save” button is clicked.
  • Revise formatting of the Report Name in the “Select a Report to edit” dropdown.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise instructions text
  • Revise narration text
  • Revise the fields on which the spell checker is turned on / off.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise the options menu structure.
  • Implement new options icons to accommodate the revision of the Options menu structure.
  • Revise “Print” stylesheet to accommodate newly introduced attachment players / previewers.
  • Revise “Light Blue” stylesheet to accommodate newly introduced attachment players / previewers.
  • Revise “Light Blue” stylesheet to accommodate for newly introduced Welcome page collapsible instructions.
  • Make miscellaneous style sheet refinements to improve look and feel / usability.
  • Credits listing updated.
  • Upgrade the TinyMCE Rich Text Editor to the latest version throughout the site.
  • Implement TinyMCE Long Description Templates on the create / update screens.
  • Enable TinyMCE Templates such that they can be configured at Entry Type level.
  • Allow for the specification of the path to the TinyMCE Long Description Template repository via the web.config file.
  • Implement TinyMCE Template not editable functionality so as to allow HTML contained within Templates to be uneditable via the TinyMCE interface.
  • Allow for the TinyMCE rich text editor to be used in “full screen mode”.
  • Enable TinyMCE Templates to be used as detailed below …
  1. Allow for optional insertion, via the TinyMCE menu structure, of HTML based content and / or allow for the default insertion of HTML based content on page load.
  2. Allow for the insertion of previously captured “Long Description” content, either in “all” or “most recent” mode.
  3. Allow the “Long Description” to be set up as a “View” field.
  4. Allow Notification “Search and Replace” variables to be used within TinyMCE Long Description Templates.
  5. Implement a dynamic “Template” button, i.e. appears only when applicable, on the Create / Update screen’s TinyMCE Long Description field.
  • Fix bug the that occurs when Progress Status Updates are saved and the underlying Task or Query does not have a “Goal Date / Time” in place.
  • Display User Group ID on the User Groups screen when the signed in User has activated Debug Mode in support of using User Groups as a Notifications routing variable.
  • Revise the duplicate “Name” validation mechanism, both in new and edit mode.
  • Update instructions to detail the display of the User Group ID when Debug Mode has been activated.
  • Revise update status message to read “Debug mode updated”.
  • Revise the Task / Query Detail Object so that the “Long Description” that it carries is rich text.
  • Implement various database upgrade scripts …
  1. Correct intermittent colours-based Smart Search errors (Script 139)
  2. Various revisions to the “Options” menu structure (Script 140)
  3. Implement reassign reason weighting (Script 141)
  4. Add a “Reassign Reasons” menu option to the “Options” menu (Script 142)
  • Rewrite the report viewer using latest versions of Angular components.
  • Implement a more user-friendly “Report List”.
  • Implement “Report Usage” material.
  • Ensure that the CSV “Export” button is disabled until the report has been run.
  • Revise the styling of the Report Viewer screen.
  • Reformat all welcome pages such that the instructions are displayed in a “collapsible” format.
  • Make various “Welcome” page instruction text revisions.
  • Revise the styling of the Dashboard’s “Performance” option data tables to enhance readability.
  • Revise instruction text on My Password screen
  • Revise, with a view to simplifying, the text on the public “Change Password” screen.
  • Revise the fields on which the spell checker is turned on / off.
  • Revise the fields on which the spell checker is turned on / off.
  • Trailing carriage returns to be removed from the following fields on save …
  1. Physical address
  2. Postal address
User Management Screen
  • Trailing carriage returns to be removed from the “Admin notes” field on save.
  • Various narration changes.
  • Change the way the system handles unauthenticated URL calls such that the User is redirected to the unauthenticated default page.
  • Upgrade the .NET Framework to 4.7.1.
  • Implement a Site Setup screen that allows for the management of “Reassign Reasons”.
  • Ensure that Reassign Reasons are listed in accordance with their weighting, ascending.
  • Should no weighting be in place, ensure that Reassign Reasons are listed in accordance with their “Reassign Reason Name”, ascending.
  • Implement the new Task Summary sorting option (i.e. “sort active task to the top” or “anchor active task to the top”) as configured via the “Summary Object Options” screen.
  • Implement the new “Highlight active task” option as configured via the “Summary Object Options” screen.
  • Implement the new “General click activation / review” option as configured via the “Summary Object Options” screen.
  • Introduce configurative options to allow for the sorting / styling of the task / query “Summary Object” as per below …
  1. Introduce a “sort active to top” / “anchor active to top” radio option.
  2. Allow the “Highlight active task” feature to be enabled / disabled.
  3. Allow the “General click activation / Review” feature to be enabled / disabled.
  • Revise page headings.
  • Revise instruction text.
  • Make various narration changes.
  • Revise instruction text.
  • Make various narration changes.
  • Revise instruction text.
  • Implement an “Add Proxy Client mobile” button should a mobile number have been captured in the task / query proxy section.
  • Revise instruction text.
  • Add placeholder text to the search box.
  • Revise the fields on which the spell checker is turned on / off.
  • Implement an “Add Proxy Client email” button should an email address have been captured in the task / query proxy section.
  • Revise instruction text.
  • Add placeholder text to the search box.
  • Revise the fields on which the spell checker is turned on / off.
  • Add placeholder text to the search box
  • Revise the fields on which the spell checker is turned on / off.
  • Revise the fields on which the spell checker is turned on / off.
 
Release Information
Compile date:  2020-10-15
Code version:  5.0.7593.15981
Database version:  20200630.142

Thursday, 24 October 2019

Therefore BPMS Version 4 Changes / Release Notes

Every week we make between 10 and 20 small refinements to the Therefore BPM Suite. In a year that amounts to about 780 refinements. The Therefore BPMS has been under continual refinement for the last 13 years, which translates into some 10,140 refinements. What would you expect if you refined something 10,140 times? 

What follows is an overview of the core enhancements made during the course of the development of the 4th release of the Therefore BPMS application, which should give you an idea of the type of value that we are continually adding to the Therefore BPMS. 

Pending Notification notice
  • Introduce an option to display pending Notifications on the Classify / Allocate screen
  • Introduce an option to display pending Notifications on the close Acknowledge screen
  • Add the above options to the Review and Utility Screen Options screen
  • Revise Review and Utility Screen Options Instruction text
Duplicate check
  • Resolve Short Description duplicate check error
  • Resolve Document Number duplicate check error
Task Summary
  • Move Flag and Change Log buttons to the bottom of button listing
User Groups
  • Add a Security Group option to User Groups screen
  • Revise User Groups instructions given the above change
Change Log
  • Add Notification element to the Change Log
  • Revise Change Log instructions to dynamically address Notifications element
Public Pages Error Management
  • Public failure advice cleared on Sign in reattempt
  • Public failure advice cleared on Change password reattempt
  • Public failure advice cleared on Forgotten password reattempt
Spaces management
  • Space management on all data capture fields, i.e. trim and extra / all spaces, both create and update
  • Introduce variable space management on Short Description field (i.e. extra and all options)
  • Introduce variable space management on Short Text field (i.e. extra and all options)
Data input Styling
  • Restyle data input fields for authenticated pages
  • Restyle data input fields for public pages
  • Change the Rich Text Editor such that it is a fixed height
Reporting
  • Implement new Subordinate Report Personalisation Variables
  • Revise Manage Reporting instruction text
Notifications
  • Implement a set of Created by Notification variables
  • Correct Notifications sent on Reclassification error
  • Revise Data Layer so that Notification templates are held in memory
Priority Type / Thread Type Allocation Screen
  • Fix “alpha in weighting field” button disappearing error
  • Fix “alpha in Percentage of Resolution Target field” button disappearing error
  • Revise Priority / Thread Type Allocation instructions
Document Type / Thread Type Allocation Screen
  • Implement a Document / Thread Type allocation screen
  • Insert new screen into the Options menu structure
Options Menu Structure
  • Make various revisions with respect to “Classification & Thread Type Setup” menu items
Client table updating / population
  • Implement various ThreadBuilder configurative options to define Client table updating rules
  • Implement Client table record create on task closure
  • Implement Client table record update on task closure
  • Add disable dormant Client records script to the System Admin Scripts screen
Communication Cycle Emails
  • Correct contents of task closure email’s Review PDF attachment
  • Correct error whereby Reclassification email sometimes lists multiple reclassifications
  • Add an Option selected option to the Communication Types screen’s Task / Query Detail Object Options section.
Multiple Record Select to Edit Errors
  • Correct various User Groups select to edit errors
  • Correct various Security Groups select to edit errors
Smart Search
  • Revise Smart Search refresh to make it more intuitive
  • Revise stage Smart Search keyword to accommodate open / closed tasks logic
  • Resolve Smart Search Clear Search facility error
  • Strip out multiple spaces when doing a Smart Search
  • Implement a Touch keyword
  • Implement a Department keyword
  • Implement a Major keyword
  • Implement a Minor keyword
  • Revise Smart Search Welcome text / styling
  • Correct Enter Search Text heading text case
  • Revise styling of search box
Discontinued functionality
  • Discontinue Fax functionality
  • Discontinue advanced Reassign functionality
Error encountered screen
  • Revise text on Error encountered screen
  • Error encountered screen to automatically redirect to public landing page
Database Version Management
  • Implement various database version update scripts
Classification screen
  • Revise classification screen headings
    Code Version Number Management
    • Increment web / ThreadBuilder / service version number to 4 
    Contact List
    • Correct Enter Search Text heading text case
    • Revise styling of search box
    Quick Search
    • Revise styling of search box
    Show Disabled
    • Revise styling of Show Disabled dropdown
    Thread Type ID Visibility
    • Add Thread Type ID to various Thread Type listings
    • Add Thread Type ID to various Thread Type select dropdowns
    Miscellaneous
    • Various aesthetic refinements to the ThreadBuilder
    • Various miscellaneous web instructions refinements
    • Various resource file tidy ups

    Wednesday, 4 September 2019

    Using the 80 / 20 Rule to your advantage

    The Pareto principle, often referred to as the “80 / 20 Rule”, states that roughly 80% of your results will be the consequence of 20% of your efforts. Likewise, in business it’s pretty safe to assume that about 80% of your sales will come from 20% of your clients.

    Management consultant Joseph Juran suggested the principle and named it after an Italian economist named Vilfredo Pareto. Pareto had noticed the principle in play when he discovered that 80% of the land in Italy was owned by 20% of the population.

    The Pareto principle has been found to be a useful tool in a broad range of disciplines such as economics, computing, sport and business.

    My interest in the Pareto principle is perhaps a little less academic and a little more practical than that of Joseph Juran. Over the course of my career, I have noticed that I achieve the vast bulk of my results (the 80%) from a relatively small portion of my efforts (the 20%) and I have learned to use the principle to my advantage.

    Using the 80 / 20 principle to your advantage is actually surprisingly simple. Here’s how I do it, presented on a step by step basis! The starting point for my methodology is the humble paper-based “to do list”. Everything that I need to do, irrespective of how trivial, gets recorded on my to do list. You can download a to do list template at the footer of this article.

    My 80 / 20 recipe follows:
    1. Every morning I redraft my to do list, omitting the items that I closed the day before. 
    2. After having redrafted my to do list, I skip through with a green highlighter and mark the items that I believe will get me 80% of my results. It stands to reason that, given that we are following the 80 / 20 Rule, in the region of 20% of your tasks should be highlighted green. By way of example, if you have 20 items on your to do list, you would expect that approximately 4 of them would have been highlighted green.
    3. Next, I step through my to do list looking for “zero value” items. During the course of popping things onto my to do list, I often find items that “seemed like a good idea at the time” but actually hold no value when I look at them later. In short, if you find an item on your list that on further evaluation doesn’t add value, and hasn’t been promised to a colleague or a client, it may be a good idea to close them off as “no longer required”.
    4. I then use a blue highlighter to mark trivial items that I can close out quickly, to de-clutter my list.
    5. I then skip through my to do list and mark the items that I can pass along to subordinates. Once an item has been handed off, I make sure to jot down the initials of the subordinate to whom I have allocated the task. The items that I have retained for my personal attention get marked with a “Me!” As a general rule, I hand off highlighted items as a first priority.
    6. During the course of the day, I tackle the highlighted items as a matter of first priority. Obviously, new items get added to your to do list on an ongoing basis and you may want to highlight some of the new items as you go along. Should I have handled all of my highlighted items prior to close of day, I bring out my trusty highlighters and select the next set of green and blue tasks.
    7. At close of day, I do a roundup with my subordinates to see how they have been fairing with the tasks that I handed off to them, and update my to do list where items have been closed.
    8. The start of the following day sees me start the process from the top.
    The above “to do list” process will probably take you 20 or 30 minutes a day, but it is guaranteed to pay dividends. Give it a try … and let me know how it goes. 

    [Download To Do List]


    Tuesday, 4 December 2018

    The Value Gap

    I recently attended the launch of a book that had been written by an old high school friend of mine, Gavin Moffat. Gavin’s book, “Swimming with Sharks”, is well written, easy to read and packed with thought provoking content. In short, I would recommend that you get hold of a copy. The launch event for “Swimming with Sharks” took the format of a conversation between the author and a compère, Richard Mulholland. It was during this conversation that I got to thinking about corporate values.

    Let’s back up for a moment. Conventionally, corporate values are defined as the operating philosophies or principles that guide an organization's internal conduct as well as its relationship with its customers, partners, and shareholders.


    Common corporate values are listed below:

    1. Integrity (Ethics, Honesty) 
    2. Respect (Trust, Dignity) 
    3. Excellence (Quality, Performance) 
    4. Responsibility (Accountability, Commitment) 
    5. Teamwork (Collaboration, Cooperation) 
    6. Innovation (Creativity, Ingenuity) 
    7. Achievement (Results, Success) 
    8. Fairness (Diversity, Inclusive) 
    9. Care (Service, Compassion) 
    10. Passion (Enthusiasm, Fun) 
    11. Leadership (Influence, Competitive Advantage) 
    12. Learning (Continuous Improvement, Knowledge) 
    13. Customers (Customer Satisfaction) 
    14. People (Employee Engagement) 
    15. Safety (Health) 
    16. Community (Corporate Citizenship)
    Selecting the values that fit with an organisation would typically be seen as one of the outcomes of a strategy planning exercise. Let’s assume that Acme Inc’s Management has recently held a strategy planning session and have selected the following values as being core:
    1. Caring
    2. Loyalty
    3. Integrity
    4. Knowledge
    5. Commitment
    6. Innovation
    If you look at it carefully, the above values effectively define Acme’s “corporate personality”.

    Staff would relate to Acme Inc on the basis of its values, or alternatively, to give Acme a human face, its “personality” would be informed by the values that drive its day to day behaviour. 


    Likewise, Acme Inc’s customers would relate to Acme on the basis of its “personality”, which would be informed by what Acme’s customers perceive its values to be. The “personality” or “value set” that the customer ascribes to Acme would be the consequence of Acme’s marketing and communication activity, as well as the moments of reality that occur each time that a customer interacts with them. 


    So far, so good. Now let’s inject a dose of reality. 


    There’s no doubt that an organisation’s value set needs to be led from the top. If top management actively live Acme’s values, you can bet your bottom dollar that pretty soon the employees will do likewise. 


    Remember that, thus far, top management have only identified Acme’s values as the consequence of a “paper” based exercise. There’s no guarantee that there is any similarity between Acme’s “actual” and “stated” values. For the sake of conversation, we are going to call the gap between an organisation’s “actual” and “stated” values, the “value gap”.


    Let’s have a hypothetical look at Acme Inc’s top management.


    Perhaps Acme’s top management don’t encourage their staff to take chances and are as a consequence not forgiving when it comes to staff making “mistakes”. Hardly the stuff that talks to “Innovation” as a value.


    Further, let’s assume that a lot of Acme’s senior management have politicked and schemed their way to the top at the expense of their colleagues. Not the sort of behaviour that speaks to the values of “Integrity” and “Caring”. 


    Perhaps Acme regularly shed staff when there is even the slightest hint of an economic downturn and hire fresh staff when things look rosy again. Wouldn’t this make it difficult for staff to buy into Acme’s “Loyalty” and “Commitment” values? 


    Finally, the relentless focus on profits means that Acme never actually utilise their training budgets for training. Training budgets remain unspent, because it simply makes the bottom line look better. As a consequence, Acme has “Knowledge” as a value, but never trains staff. Doesn’t gel, does it?


    I guess that you get the point.


    Acme’s “actual” values are in reality probably closer to the average value set held by its senior management.


    One can expect that the “actual” values of a “one-man band” start-up will be those of the entrepreneur. The organisation’s “actual” values tend to shift as the entrepreneur starts employing staff. Logically, one should always employ staff whose personal values are in harmony with the organisation’s “stated” values.


    Peter Drucker famously said, “culture eats strategy for breakfast”. A great culture is in part the consequence of an organisation’s ability to really live its values, coupled with a singularity of focus that derives from a strong shared purpose.


    All organizations have some degree of “value gap”. It’s the size of the gap that counts. The smaller the gap the better! Great management teams are continually striving to minimise the gap. On the other hand, poor management teams will often be the primary reason for the gap’s existence. 


    For values to take root within an organisation, they need to be lived by top management. Always remember that corporate values aren’t a “wish list” or a “future intention”. As soon as you have a big gap between your “stated” values and your “actual” values, you’ve got trouble!


    Authenticity is important to all of us, but it’s particularly important to the increasingly pivotal Millennial generation. Your staff, especially your Millennial staff, will pick up on “value gaps” in a heartbeat. If they find a material value gap, they will see the company as being inauthentic, which is the last thing that you need. Customers likewise see value gaps as being a tell-tale sign of inauthenticity and it will undoubtedly reflect on the bottom line.


    To explain by way of an anecdotal story, many years ago I worked for a company that had “Recognise and Reward” as a value. Their intentions were no doubt good, “recognise” exemplary performance and “reward” it. 


    In reality, they did almost the exact opposite. On closer inspection, you could see that they were actually an “old boys club”. There was no “Recognise and Reward”, unless you were in the club!


    Their “Recognise and Reward” value never got beyond “wish list” status. The value gap was more a chasm than it was a gap. I am afraid I saw them, and still see them, as being inauthentic as a result.


    Now for another anecdotal story, but this time a consumer centred one. 


    Health and insurance group Momentum recently landed itself in hot water when it refused to pay out on a life insurance policy for a customer, Nathan Ganas. Sadly, Ganas died from gunshot wounds as a consequence of attempting to protect his wife who was being hijacked in their driveway. 


    Momentum declined to honour the policy because they discovered that Ganas had historically been found to have had abnormally high blood sugar levels, which he had not reported when he took the policy out. They claim that, had they been aware of these elevated blood sugar levels, they would not have offered Ganas cover. To place Momentum’s perspective in context, Ganas was never on chronic medication for high blood sugar and his wife strongly denies that he ever suffered from diabetes. Besides, Ganas died as a consequence of a gunshot wound, not raised blood sugar levels.


    The traditional media picked up on the story and generated enough coverage that Momentum could have used it to wallpaper a medium sized meeting room at their head office in Centurion. Social Media exploded!  All hell broke loose. Momentum had a public relations nightmare on its hands, and they didn’t handle it well.


    In the court of public opinion, Momentum was found to be guilty of “looking for any excuse not to pay out”, irrespective of how frivolous it was. Momentum’s own press release put it this way:



    “It is clear from market reaction over the last two days that under certain circumstances, current industry practice creates the impression that insurers are looking for reasons not to pay a claim.”

    Momentum’s PR spin sought to “externalise” their behaviour. They didn’t say “our practices create the impression”, they said “current industry practice creates the impression”. It’s interesting to note that “Accountability” is one of Momentum’s values. Momentum provides the following detail for their “Accountability” value:



    “We show accountability in our willingness to take ownership for our roles, responsibility for our actions and outcomes, and by honouring our obligations to all stakeholders.” 

    Rather than taking ownership of their behaviour, Momentum tried to side step their accountability by calling on “current industry practice” to take the fall.


    To be fair on Momentum, it must be said that the Insurance Ombud has twice ruled in their favour on the Ganas issue. 


    Calls to talk radio shows questioned why it was that Momentum had been happy to take monthly payments from Ganas for many years and only bothered to go through his medical records with a fine-tooth comb when they were called upon to make good on the policy. I have no doubt that there wouldn’t have been a public outcry if Ganas had succumbed to a blood sugar related disease. Unfortunately for Momentum, the public felt that Ganas’ unreported high blood sugar levels weren’t in any way connected to the reason for his passing. Momentum were perceived as using the “non-disclosure of high sugar levels” card as a convenient excuse to wriggle out of their obligation to honour the policy.


    The consumer doesn’t always know what your values are. They tend to infer what they perceive your values should be. When they feel that a company is behaving inconsistently with these perceived values, the backlash can be severe.


    Momentum’s products are essentially intangible. Their customers aren’t really buying a policy, they’re buying “peace of mind”. Ganas was buying “peace of mind” that his family would be looked after should he pass away when he entered into his relationship with Momentum. Interestingly, Momentum also repudiated an education policy that Ganas had taken out. Perhaps part of the reason that there was such a large public outcry was because people no longer felt that the “peace of mind” that they perceived to flow from a policy could be relied upon.  


    Due to enormous public pressure, Momentum were eventually forced to make a payment to Ganas’ widow. Momentum have, however, been careful to state that they “do not admit contractual liability for the payment of this death claim based on the material non-disclosure at application stage.” They ascribe the payment to a newly introduced “solution that will pay an amount equal to the death benefit (limited to a maximum of R3 million) in the case of violent crime, regardless of previous medical history.”


    Momentum behaved in a manner that was inconsistent with what the consumer perceived as being a reasonable value set. The resultant “value gap” has caused Momentum brand damage that will take many years to recover from.


    A quick Google search showed me that Momentum’s values are as listed below:

    1. Accountability
    2. Diversity
    3. Excellence
    4. Innovation
    5. Integrity
    6. Teamwork
    We have already touched on Momentum’s “Accountability” value. The verbiage associated with their “Integrity” value states that, “We uphold integrity in living up to what we say, doing the right thing, being honest and treating all people with respect.” 

    In the court of public opinion, Momentum were seen to have failed to behave consistently with their “Integrity” value. Joe Public certainly didn’t believe that they had done the “right thing”, let alone “treated people with respect” or acted in an “honest” fashion.


    This article has centred on the “value gap” and the importance of making sure that it is as narrow as possible. Of course, there is more at stake than simply minimising the value gap … you also need to have selected the correct value set. In a subsequent article I will discuss how one sets about selecting the correct set of values.


    In closing, it must be said that I dealt with Momentum’s press office fairly extensively while writing this article. I was impressed with their openness, honesty and willingness to help. Momentum have stated that the contents of this article are factually correct. They have, however, pointed out that the Momentum / Ganas issue is a complex and multifaceted one, which is a perspective with which I agree. There is no doubt that they are working hard to come to terms with the experience. I wish them well.

    For more information on “Swimming with Sharks” by Gavin Moffat, visit www.swimmingwithsharks.co.za

    Tuesday, 6 November 2018

    Today’s staff, tomorrow’s customers

    According to the McDonald's Corporation website, McDonald's is present in 101 countries, has in excess of 36,000 restaurants and serves some 69 million people daily (January 2018).

    What is of even more interest is the fact that the fast-food chain has at one point or another employed 1 in 8 Americans (roughly 13%), according to an estimate in the book "Fast Food Nation." The list of Americans that have been on a McDonald’s payroll includes the likes of Jeff Bezos, Rachel McAdams, Macy Gray, Carl Lewis, Jay Leno and Pink.


    Think about this. If 13% of Americans have worked at McDonalds during the course of their working career, McDonald’s America can expect that roughly 13% of their clientele have at some point in time worked on the other side of the counter. 


    The implications of this are huge. I don’t know about you, but if I had previously worked for a company and the experience had been a negative one, I would be less inclined to do business with them in the future. I am pretty sure that I am not alone on this view point. For this reason, McDonald’s need to treat their staff as both employees and as future consumers, which is no doubt a significant human resources challenge.


    Closer to home, I have often seen staff leave the employ of a company after having received a raw deal, only to turn up a number of years later as a senior employee at a material customer. Well, you can guess what happens next. I have seen some anchor clients leave service providers as a consequence. I recall an event of this nature that resulted in a service provider shedding some 20% of their turnover. As they say in the classics, “be careful of which butt you kick today, as you may have to kiss it tomorrow.”


    McDonald’s is acutely aware of the “today’s staff are tomorrow’s customers” phenomenon and their staff relations policies reflect this principle very clearly.


    The “today’s staff are tomorrow’s customers” principle is further exacerbated by the impact of word of mouth communication. Negative word of mouth can mean that a single disgruntled ex-employee can do significant damage to a brand. In short, you stand at risk of losing the custom of both your ex-employee and those with whom he has shared is story. Word of mouth that emanates from an ex-employee tends to be seen as highly credible, given that the ex-employee is presumed to have “inside knowledge”, which makes it all the more damaging.


    Let’s put the “today’s staff are tomorrow’s customers” principle aside for a moment and focus simply on the labour market brand damage that an ex-employee with an “axe to grind” can have. 


    Companies that have a reputation for being “bad employers” will naturally battle to attract skilled staff. The converse also applies. Those that are seen as “good employers” will find it far easier to attract top skills. This is compounded by the fact that people tend to offer their services into a particular industry as they develop industry specific skills and contacts over the course of their careers. I have no doubt that you have heard people say, “This industry is so small!” at conferences and the like. Well there you go, if you are seen as a “bad employer”, word will travel within your industry faster than you can say, “employer of choice”.


    A quick word of warning, if you are going to tell your staff that you are the industry’s “employer of choice”, make sure that its true and not an intention or a wish. Nobody detects employer insincerity faster that an employee. 


    The long and short of it is that being a good employer makes business sense, so when you look at your staff, think of them as a microcosm of your market and treat them with as much respect and care as you would like them to treat your customers … or, in the words of Richard Branson, “If you look after your staff, they’ll look after your customers. It’s that simple.”

    Thursday, 31 May 2018

    Great strategy execution quotations

    Execution is the ability to mesh strategy with reality, align people with goals and achieve the promised results. ~ Larry Bossidy

    In real life, strategy is actually very straightforward. You pick a general direction and implement like hell. ~ Jack Welch

    Execute! Get your people to execute! ~ Sam Geist

    Execution IS strategy. ~ Fred Malek

    Success doesn't necessarily come from breakthrough innovation but from flawless execution. A great strategy alone won't win a game or a battle; the win comes from basic blocking and tackling. ~ Naveen Jain

    Strategy Execution is the responsibility that makes or breaks executives. ~ Alan Branche & Sam Bodley-Scott