Introduction

Over the past twenty years, I’ve had the privilege of working with many great developers. A good developer can write testable and maintainable code that allows the team to provide new features to customers. I believe a good developer should also be a good engineer and one simple way we can begin to do this is by measuring the things we do! Bearing this in mind, I decided to look for some ways of measuring parts of our system to see if it could help us improve the way we build and maintain our Web applications here at Mpowered.

While one of the core functions of developers is to add new functionality to applications, it is also critical that we ensure that the system remains secure, performant, stable, and highly available for its users as we do this. These qualities are not trivial to ensure, and even experienced developers can occasionally slip up. Conversely, it is possible to over-engineer solutions that slow the pace of new features while providing no measurable improvement in quality. Ultimately, our measurements are helping us discover how better to hit that sweet spot – improving functionality without slowing or bogging down the system unnecessarily.


 

Low-hanging fruit

Our first phase involved measuring the easy stuff, namely system performance and resource usage on the servers our applications run on. Seeing CPU, RAM, and disk utilisation across multiple servers on a single graph highlighted interactions between systems. Comparing average and peak usage helped us size key services such as our database and job queue workers. Looking ahead, we plan to leverage this data to help us know when and how to upgrade our infrastructure. The idea is to dynamically scale up our system during busy times by looking at long term trends as well as live performance data.

 

 

The second set of metrics we added was at the application level. This included tracking the number of active web connections, the type and duration of web requests, and similar information about our background jobs. We identified several web pages and offline tasks that were taking longer than we wanted. Code once adequate now needed to be improved, due to the increasing size and complexity of the data our customers work with today.

A detailed list of users and accounts with slow queries guided us when generating sample data for testing. Measurements before and after we adjusted our code helped us to confirm the changes were performing as expected. Profiling a running application this way has been invaluable in helping our team prioritise work so that we can focus on tackling the most pressing issues first.

 

Web request times by type

 

Something I did not initially anticipate when picking TimescaleDB is that I can create partial measurements and then update them from different places throughout a distributed system. Our job system, for example, creates a job entry when first adding it to a queue, and our workers later update the start and completion times.

We can tell a job is waiting in a queue when it has been enqueued but does not yet have a start time, and similarly, we can tell when it is running or has been completed. This information allows us to track how long jobs sit in the various queues and how long they take to run. Tracking these durations helps inform us where adding more workers in parallel is beneficial, or if we should investigate making particular sections of code more performant.

 


 

Measure all the things!

TimescaleDB also allows me to capture as much information as I think might be relevant later, and worry about how to present it when discovering which tables and graphs are ultimately useful. Leveraging existing SQL tooling makes it easy to transform data later on. For example, we also captured each job’s identifier, the queue it was added to, and which worker ran it. These additional fields allowed us to identify the slowest performing job of each type and investigate the worst offenders.

 

Slow jobs by type

 

Where possible, developers are also encouraged to add metrics before investigating bugs and performance-related issues. It’s useful to demonstrate where the current code is not running as intended and decide on a reasonable target for which we consider a fix as “done”. Once the measurements are in place, Grafana allows us to place alerts to track these values going forward and alert us if it’s something we need to revisit in the future. As such, we continue to add application metrics as our applications grow and mature.

 


 

Looking ahead

The final set of metrics we’re adding right now are project-related ones. We track the number of bugs reported by Honeybadger to get a feel for long term trends and hope to use this information to guide our development sprints. It would be interesting, for example, to see if there is an increase in certain types of bugs on our staging environment after a big feature-focused push. By examining which class of errors we missed, we can guide our code reviews and decide how to catch them earlier during automated testing.

 


Conclusion

Measuring your system is a great way to locate which areas of your code require the most attention. Additionally, it is incredibly rewarding to see improvements to your production system shown graphically when completing tasks. Graphs and alerts can be placed on a dashboard and displayed in the office to give a real-time view of the environment that everyone can see. It was very encouraging to find non-technical people take an interest in this data, which in turn stimulated other conversations about the inner workings of our application.

After keeping our metrics open on a second monitor for a few weeks, I became so accustomed to the baseline values that I was able to tell almost sub-consciously when something out of the ordinary was happening! It has instilled greater confidence when working with our system, and I feel it has already paid for itself in terms of setup cost over the past few months. I can heartily recommend this approach to anyone who doesn’t already measure the things that are important to them.

 


Author – Shaun Sharlpes, 26 May 2020

 

The B-BBEE services industry is on the precipice of a once-off opportunity to change the way B-BBBEE is viewed and implemented across South Africa. We need to stand up, take charge and change the way we add value to our stakeholders.

This is the key outcome of a B-BBEE expert panel discussion hosted by Mpowered on Wednesday 5th May. The topic of conversation was the impact of the lockdown on the B-BBEE services industry and what we need to do to future-proof ourselves.  The panellists included owners and executives from some of the country’s leading B-BBEE consulting and verification companies. 


 

Slowdowns in verification activity highlight the need to digitalise

Verification agencies have found a slowdown in verification activity, particularly across larger businesses, whilst the small and medium business sector has continued towards certificate verification. A key inhibitor to progressing with scorecard verifications is the inability to access paper-based evidence from the office environment, something that would not have been cause for concern had the client embraced digitalisation. 

There is a clear message here: the industry has to digitalise, and SANAS has given us the much-needed push towards digitalisation. We are also confident the industry will continue to collaborate towards developing and implementing positive change in the way we operate and deliver value to our stakeholders. 

The panel agreed that now is the time to come together and collaborate with intent on figuring out how we react for the better of our industry, for our clients and hence for South Africa.  

We have to help companies reduce their total cost of B-BEE compliance, and with the forced adoption of digital solutions, turnaround times have decreased, processes are simpler and general process efficiency is improving. A reduction in the total cost of B-BBEE compliance for companies will be welcomed and become increasingly important as our clients face budgetary constraints.

 

But what about the socio-economic impact in trying economic times? A common theme emerging in discussions on the future of South Africa is how the lockdown has delivered a stark reality check; the scale of inequality and how pervasive it is, and that it is worsening as the economy sinks into new lows week after week. The government alone cannot resolve inequality. It was suggested that the overall theme for B-BBEE implementation during and post lock down will be to reduce the inequality gap.

Ideas were proposed on how to counter ED and SD “schemes” that really don’t benefit anyone, other than the company wanting to maximise their ESD scorecard with least effort and cost. Now is the time for the industry to be changing our narrative with clients, from scorecard optimisation to impact. It is everyone’s responsibility to help kick-start and establish a sustainable, growth economy and B-BBEE offers one of several mechanisms to deliver on these objectives. 

In summary, it was agreed that now is the most opportune time for the B-BBEE services industry to start collaborating and working together towards a common goal: reverse South Africa’s worsening inequality gap that we all know is untenable and unsustainable. 

The results of our online polls suggest an overwhelming need to continue these discussions as an industry. The majority of attendees agree that Beagle, the digital scorecard-sharing platform, can become an industry platform used to jump-start better collaboration, knowledge sharing and to deliver thought leadership and best practice within our industry. 

We at Mpowered are committed to continuing this video-panel discussion series and to enhance Beagle as a platform for industry collaboration.

 

 


Author – Bruce Rowe, 25 May 2020

 

What do web pages, numeric computing, knitting and BEE have in common? Not much, it seems. But I have a suggestion: They can all benefit from domain-specific programming languages.

I’m a software developer at Mpowered. I came here after many years of programming language research at Chalmers University. More specifically, my area was in domain-specific programming languages (DSLs). These are “little languages” that are made to solve problems in a limited domain. As such, they are designed to speak the language of the domain expert rather than the programmer.

This post will present DSLs in general and demonstrate a DSL we use at Mpowered.



 

MATLAB

MATLAB (“MATrix LABoratory”) is a programming language for numerical processing. It aims to make such programs easier to write by supporting notation familiar to mathematicians. A large part of our daily lives are built around data processing units — for example TV sets, mobile phones and base stations, control systems in smart cars, etc. There’s a high probability that these programs are based on mathematical equations that have first been prototyped and tested in MATLAB. Some applications even run directly in MATLAB and its associated tooling.


Just to throw in a bit of a wild card into the mix: there is even a DSL for knitting patterns.

How about this program for making a “pie crust basketweave” pattern:

I admittedly have no idea how to read the above. But to someone who knows the language, it makes perfect sense. Again, the point is that it captures exactly the right amount of information for creating the pattern. It does not say anything about color or thickness of the thread, for example.

 


The main advantage of DSLs is the fact that they can be used by domain experts who are not necessarily programmers in the ordinary sense. But this is not just a matter of understandability. By limiting the kinds of programs one can write, we can actually do more things with them than we can with programs in general-purpose languages.

A good illustration is HTML, which does not by itself support any kind of computations or actions (such as reading the disk, starting other programs, etc.). Because of this limitation, we can do things with HTML pages that we generally cannot do with ordinary programs (written in Java, say):

 


The above table shows the first two Ownership indicators of the amended ICT codes. Note how the table covers only the essential information related to each indicator: the measured value (“Exercisable Voting Rights …”), the compliance target and the weighting points.

The indicator tables speak the language of the BEE expert. Wouldn’t it be nice if the BEEtoolkit software could understand this language as well?

Indeed, our code has a DSL for indicator definitions. (And to be clear, this DSL was in place before I started here.) Here is what the above indicators look like in our DSL:

(Some readers will recognize the above snippet as being embedded in the YAML format. This is only an implementation technicality. It is still a DSL in the sense it speaks to the domain experts and gets interpreted according to the rules of BEE.)

We recognize the key information from the sector code tables, although it is laid out slightly differently. There are also some extra descriptions and formatting in there, which is used when the indicators get presented in various parts of our system. This extra information is definitely part of the domain, and thus makes sense to support in the DSL.

The sector codes often define side-conditions that change the parameters of an indicator, etc. Our DSL is able to capture these variations as well, but we’re not going into the details here.

Note that the above definitions are the single source of truth for said indicators in our system. That code is accessed every time a user opens up a scorecard in the browser, downloads a PDF report, etc. This also means that a BEE expert could, in principle, tweak an indicator throughout the whole system without knowing the slightest thing about programming in general.

 


 

When to DSL?

Designing a versatile, high-quality DSL, such as HTML, is rarely a good idea. The costs can easily outweigh the benefits, and chances are that suitable options already exist. However, DSLs can also be rather simple and highly specialized. Projects can even make DSLs for purely internal use.

You have already seen one example of a simple but useful DSL for BEE indicators. Here are two more ideas that can hopefully give some inspiration.

 

Numeric expressions

Imagine you have an application centered around numeric calculations, and you find out there’s a need to not only run the calculations but also inspect them. For example, you may want to

DSLs shine in situations like this. And because of the universality of numeric expressions, many such DSLs already exist. One example is the Ruby package Dentaku.

 

Data validation

Does your program receive data from different sources and you want to ensure consistent data validation across the system?

You may try to invent a simple format that expresses your requirements. For example, the following could describe a valid person in a job application system:

Again, this situation is common enough that many alternatives already exist in different programming languages. Ruby’s Active Record is one example of a library that comes with a validation DSL.

I’ve previously said that the limitations of a DSL allows us to do more it. Can you think about something the above description could be used for besides validating data?

Well, we can just as well view the description as a “template” for generating new data, can’t we? In other words, a single data format description can be used both for validation and test data generation. DSLs for the win!

 


 

Summary and discussion

 


Author – Emil Axelsson, 14 May 2020


 

Increased screen-time during lockdown is inevitable. Instead of berating ourselves over it, let’s look for ways to deal with its effects.

With the implementation of South Africa’s national lockdown came a 180 degree turn on our normal lifestyles. As social beings, we are now requested to live an unnatural life of avoiding socialising. In addition, many of us are expected to have “supernatural” powers to get through everything required of us in a day. We are suddenly expected to be teachers, full-time nannies and house-cleaners without any of the networks of support that we normally enjoy. What’s the answer to dealing with everything at hand.

The Big Change

There are many challenges that come with dealing with the Corona Virus pandemic. Most of us have had to take a 180° turn on our normal lifestyles. Some of us have had to forfeit seeing our loved ones, lost income or adopted seemingly extreme hygiene practices. When the President of the Republic first announced the state of national disaster, most of us were apprehensive about what exactly that would entail. A lot of questions ran through our minds, while social media was flooded by people’s opinions, and not forgetting the deluge of jokes and memes that tagged along.

Then came the implementation of a national lockdown. You would have thought that travellers would feel it the most but on the contrary: even people who would just go to work and back are feeling it. As social beings, we are now requested to live an unnatural life of avoiding socialising. Some people have faced the dilemma of choosing who to lockdown with and where? Stay where you reside for work, or pack your bags and head back home?

 


New Ways Of Work

As much as this work from home approach wasn’t anything new to me, it took a bit of adapting to spend an eight-hour day, Monday to Friday without traveling to clients. And what hindered the adaptation the fact that, as a parent, I need to juggle the presence of kids with getting my work done. What’s the answer to dealing with everything at hand and still maintaining productivity? Every modern parent can distil this to one marvellous invention: screen time


Working from home leads to constantly gazing at a screen. A quick tea break and lunch is the only time you take your eyes off of it. While a lot of research has been done about how screen time affects our eyesight and creates other undesirable symptoms, what other ways are available for us to do what we have to do? I have always deemed these recommended screen times, especially for kids, as a deterrence to embracing technology.

With or without shame, I am guilty of using technological gadgets to keep the kids busy while I try to get some work done. And now we have reached a point where schooling is through TV broadcast and online, which means mandatory “learning” screen time in addition to the recreational screen time that the kids were already having. A normal school day cannot be less than the number of hours recommended for screen time, I am pretty sure that we can all agree on that. Which leaves me a lot less guilty than I used to be: in my thoughts, we are finally doing the right thing of embracing technology.

 


Research has shown that there has been a drastic increase in the use of gadgets globally. For example, 81% of Americans said they owned smartphone in 2018. This had increased by 46 percentage points from 2011, where only 35% of Americans said they owned smartphones in the same survey.

Along with mobile phones, Americans own a range of other information devices. Nearly three-quarters of American adults now own desktop or laptop computers, while roughly half now own tablet computers and roughly half own e-reader devices. Every year, advancements in tech and our own adaptation of it means that we are increasingly streamlining the way we do things.

A cell phone now plays more roles than merely making and receiving calls; it is a personal diary, it is a GPS, it is also a meeting place for conducting business activities. Firms and different business operations find themselves downsizing their human capital, innovative ways replacing most of what was previously done via human interaction. One person can now monitor what was carried out by five or more people single-handedly through technology. The world has also become much smaller with the internet allowing for instant communication between countries from opposite sides of the globe. It is incredible how quickly we have entered the Fourth Industrial Revolution (4IR) and how we are all so immersed in it. Gone are the days when the elderly  in the workforce were so resistant to change, it doesn’t matter if you use just one finger to type on the keyboard, what matters is that we have put our trust in this so-called technology.

 


 

 


 

 


Author – Ofentse Maduse, 6 May 2020


 

Resources:

I want you to imagine that you’re in your comfy office chair (in a post lockdown world of course) at your desk. It’s a pleasant Friday afternoon and until 5pm its just you, your computer and your beautiful presentation you’ve been working on for the past 2 weeks.

You’re on a roll. You’re in the zone. Your brain is on creative fire and your presentation has enough heat to be one hell of a cracker. Bursts of inspiration shoot from your mind down to your hands and finally through to the computer screen in front of you.

It seems like you’re making good progress. If all goes well, you’ll have enough time to go down to the canteen to get yourself a quick cup of coffee and treat yourself to that chocolate you’ve so desperately been holding out on all week.

“30 more minutes and I’m good”, you tell yourself.

Until suddenly, something shoots up towards you from the other side of the cubicle divider behind your screen.

This is not good. Carl’s been binge watching Jaws and he’s coming at you for the fourth time this week with yet another ‘small question’.

“Hey! Hope I’m not bothering, but I’ve just got a small problem. Can you help me?”, Carl asks.

“Uhm, sure.”, you oblige.

“See, I’m trying to submit this spreadsheet to the system, but I can’t get it working.”

That final statement right there is how it all starts. Welcome to yet another episode of ‘Whose spreadsheet is it anyway?’, where your work is made up, and your time doesn’t matter.

It happens. Sometimes we’re the Carl and other times we’re the victim. But whilst the characters change, one thing remains the same, or rather one question remains the same.


Who honestly has time to deal with Excel?

It starts with a simple SUM, then moves to an AVERAGE then evolves into a MIN/MAX and next thing you know you’re doing a VLOOKUP. What?

If you’re anything like me, at this point you probably just want to GIVE UP.

Work can be frustrating, stressful, time-consuming and tough enough as it is. What crazy maniac invented Excel and why? Was it some geek who’s secretly been enacting his revenge upon his now office-bound oppressors? Not cool, dude!

Either way, Excel seem to present more headaches than it solves (at least at times). I think most people know enough Excel to get along, but generally you find yourself in deep water at least once or twice (and I’m convinced that escaping a shark tank sometimes sounds far simpler than understanding Excel formula magic).

It’s when we step into that new, murky territory that we rely on that one person in our office who seems to know it all. Not all heroes wear capes, right?

However sometimes those heroes take leave, get sick or have family emergencies and we really, really, really need to rearrange, filter and import an Excel spreadsheet into some arbitrary system for a report we needed yesterday. Yikes!

Mpowered’s B-BBEE software solutions are meant to make your life easier and I’m sure they really do, however no matter how awesome some tech claims to be, there’s generally some data manipulation and an import (or two) involved before you get to the final solution.

The good news is that you don’t have to be an Excel guru to use our software, or even manipulate your complicated Excel spreadsheet, and here’s how.


Not all heroes are… people?

It’s without further ado that I’d like to introduce you to EasyMorph! It’s free to use and download. Not to mention that it also cures Excel-phobia (whilst you’re using it at least).

Let’s say we have a scenario where we have a Skills development spreadsheet downloaded from the BEEtoolkit and we want to remove duplicate participants by their ID number. EasyMorph can help us do this in a cinch!

To get started, download EasyMorph at easymorph.com

Once the program is open let’s load the spreadsheet.

To do so, we click ‘Add data’ > ‘Import file’ > ‘Import Excel spreadsheet’, then choose your spreadsheet on your computer.

Once that’s done the menu on the left should show us the options for the action we want to perform. In my case, I’m working with multiple sheets in one xlsx file. So, I need to adjust this action to choose the sheet I want to work on.

To do this, I set ‘Sheet or range’ to the ‘Participants’ sheet and then click ‘Apply’. I wouldn’t have to do this if I was working in an xlsx file with one sheet.

I now want to perform some kind of action on my sheet. To do so I click the ‘Add action’ button near the top.

The awesome thing is that now I can perform any action which EasyMorph lists. I’d like to filter values, so I click ‘Filters’ > ‘Deduplicate rows’.

All I have to do now is tell EasyMorph what column it should deduplicate. My ‘ID Number’ column is column 9, so I select that column and click ‘Apply’.

Now I just need to export & save my modified spreadsheet!

To do so I add another action by clicking ‘Add Action’, click the ‘Export’ sub-tab and then click ‘Export into Excel file’. Click the folder next to ‘File’ and choose where you want to save the file and then click ‘Apply’.

The last step is to click ‘Run project’. This will actually apply all of my actions and produce my file. That’s it!

I hope this process didn’t seem too complicated, because it really isn’t. Or at least I prefer this over Excels magic formulas and options.

I’ll wrap up by pointing out some cool things about EasyMorph. In each of my screenshots, the window in the right shows the icons of all the actions you’ve added and applied near the top. You can drag and drop your actions to change the order in which they take place.

Another great feature is that the window in the right also shows you a preview of your spreadsheet. It’s a great way to see what you’re actually doing, and helps you stay on track.

There’s a small learning-how-do-I-do-this-in-EasyMorph-curve but take your time and read around. It might feel frustrating at first, but I promise you that you’ll get things done in 1/5th the time once you’re a bit more familiar with EasyMorph’s super powers.

Software is always there to make our lives easier and Mpowered is always committed to making your life in the B-BBEE space easier. So next time you’re stuck in Excel, make your software do the struggling for you and use EasyMorph!


Author – Douglas Greyling, 2 May 2020

 

COVID-19 has presented the world with an unprecedented disruption to the way we all  live our lives. As thousands of small business owners around South Africa will attest, the organisations keeping our economy alive are not immune to its impact.  

Many are coming to terms with the fact that business may never be “as usual” again. With many people working from home during lockdown, businesses are scrambling to set up contingency plans – gearing up work from home environments, and updating their risk and reporting procedures to ensure continuation of business. Embracing digital technology has gone from important to vital.

The benefits of using digital alternatives have become more apparent than ever before. The example of paper money highlights this. While electronic monetary transactions have held various benefits for years already, including a reduced need to draw cash, faster payment times and lower risk of theft, it now carries another impetus: electronic payment options involve a lower risk of passing on viral infection than the use of paper money does.  In the wake of this, we have seen the increased adoption of evolved digital alternatives of electronic banking channels, crypto currency, and stocks, amongst others.

Covid-19 has also heralded an unprecedented era of virtual meetings and information sharing. For example, many of us now have our daily calendars monopolized by Zoom meetings.

This opens up new possible risks to the business as information that was previously shared in the confines of a physical meeting room is now, by necessity, transmitted online.

Whether employees are using Skype, Zoom, Microsoft teams, email, or Microsoft Excel there are many types of challenges that can pose risk to business. Risk, Sustainability and Compliance officers need to pay special attention to the risks inherent to various digital tools and develop robust safeguards to de-risk the business. In order to mitigate data breaches of highly sensitive company and employee data, it is important that company leadership carefully considers factors such as encryption, data access, data storage and data sharing when sourcing an enterprise solution.

Here are some questions you should ask when looking for a data enterprise solution:

And finally, what is the most secure medium that can be used for the transmission of information in the easiest to use format?

Accurate data and its ability to be readily available, is vital for stakeholders to make informed decisions that can be vital to the business’s response, strategy and ultimate success. Accurate data helps to save time, increase business agility and drive down labour inefficiencies.

In essence, your data compliance tool should help to elevate your partnership with the business. As Thomas Nicolosi, compliance modernization leader and Deloitte Risk and Financial Advisory principal at Deloitte & Touche, says: “Modernization makes the compliance function more flexible to scale up or down as needs change, and it creates capacity in the system. It can help not only to reduce the potential cost of regulatory scrutiny but also to reduce the level of scrutiny, and it elevates compliance professionals to true partnership with the businesses.”  https://deloitte.wsj.com/riskandcompliance/2017/07/17/compliance-modernization-a-five-step-roadmap/?mod=Deloitte_riskcompliance_relatedcontent

Risk and technology in B-BBEE compliance measurement

Nicolosi’s observation can be seen as relevant to B-BBEE in the South African context as well. Technology is an enabler against human error, decreases invalid data and misallocated resources and should be seen as an investment rather than a cost.

Multiple stakeholders engaging in one central platform to collaborate in a structured manner on the company’s B-BBEE objectives can act to save time and money while improving data accuracy in the organisation. Keeping the information enterprise secure is the starting point, especially in a fiercely competitive market. I couldn’t imagine anything worse than your competitors besting you, only because they managed to out position you due to having insight into your business.

With the increasing complexity of the B-BBEE environment, managing B-BBEE compliance using static solutions such as spreadsheets is no longer an option for companies that seek to drive a proactive approach to compliance management. Spreadsheets requiring highly sensitive company information adds significant business risk to companies, particularly as the Protection of Personal Information Act (POPI) and General Data Protection Regulation (GDPR) becomes increasingly pervasive. 

The B-BBEE compliance management process is generally very time consuming and administrative. This tends to drive up the “total cost of B-BBEE compliance”, whilst diverting the focus of functional specialists to conduct non-core and non-value adding processes. 

Speaking on the topic of Digital compliance, Rebecca Chasen, a partner with Deloitte Financial Advisory Services said that “Compliance professionals that can focus on the ‘why’ rather than the ‘what,’ of compliance efforts are freed up to spend time investigating data, understanding anomalies, and remediating issues, rather than merely collecting data.” – https://deloitte.wsj.com/riskandcompliance/2018/12/02/technology-a-powerful-tool-to-help-modernize-compliance/. In choosing a digital solution for your company, it is important to consider how many stakeholders will need to utilize the platform. For true stakeholder buy-in, the platform should be embraced by the organisation, with as many individuals being able to participate as possible. Ensure that your chosen solution does not have hidden limitations which will incur additional costs. 

By ensuring that the appropriate security settings are enabled for each user profile, your company can minimize the risk of unauthorized access to sensitive information, whilst not restricting the number of users of the product within the organization. Ensuring that users do not share or need to share their login credentials with other users is another key to managing risk.

As data, information, scorecards and evidence pass through different stakeholders throughout a typical B-BBEE compliance journey, the risk of variances in the consistency of interpretation and scorecard accuracy increases. By optimizing the process through cloud based digital platforms such as the BEEtoolkit and the Supplier Management System, all stakeholders can engage in their tasks in a central digital space that is secure and evolved to speak directly to their unique needs. 

These solutions also take into account the fact that business needs change as the organization changes and grows. Covid-19 has been a powerful reminder to us all that our tools need to adapt as quickly as the environment changes. 

An end-to-end solution for multiple divisions, subsidiaries, head offices, consultants and verification agencies, can solve the critical challenge of alignment and consistency of B-BBEE interpretation by enabling a seamless flow of data, information, scorecards and evidence — all the way through the compliance process, including verification and JSE reporting.

When done right, the digitizing of risk and compliance solutions can – and should — enhance the way your business runs. McKinsey and Company recently noted: “We are starting to see digital transformations in risk create real business value by improving efficiency and the quality of risk decisions. A digitized risk function also provides better monitoring and control and more effective regulatory compliance.”  https://www.mckinsey.com/business-functions/risk/our-insights/digital-risk-transforming-risk-management-for-the-2020s. Overall, look for a digital solution that decreases risk, enables growth and partners with you in maximizing business performance. 


Author – Dale Roberts, 2 May 2020

 

Origins

Many people often underestimate what an incredible feat it was for humanity to have ventured into outer space. I am no exception despite being an astronomy fanatic.

To date there have been over 560 visits to space by 41 nations and 12 visits to the moon, all by Americans (WSP, 2020). Our very own Mark Shuttleworth went to space as the world’s second space tourist aboard the Russian Soyuz TM-34 (BBC, 2002), his ticket costing a measly $20,000,000.

Space travel began as a competition between ideologies, Capitalism vs Communism, with the Soviet Union and The United States of America being the main protagonists.

The Soviet Union beat the Americans to space in 1961 but the Americans landed on the moon in 1969. This would prove to be but one episode in what would become the Cold War, but that is a history lesson for another day.

What began as a game of “who’s gun can make the loudest bang”, has resulted in many technological advancements that we enjoy today.

A few benefits of space exploration

These advancements used by governments were former weapons of prestige and power. Through collaboration converted into everyday technology for you and I to enjoy.

In 1980 the idea of an International Space Station was born and today many countries contribute to researching climate change and health, developing commercial products, maintenance of satellites and climate change to mention a few (Howell, 2018).

There is a lesson to be learned from the history of space travel.

The title of this blog post hints at the value of being the best, however it is quite the contrary. You see the space race, like any good story from a children’s book, ends with some form of a moral lesson. Quite simply, we innovate, produce quality and work better when we collaborate!

Back on Earth

As Mpowered celebrates 10 years of our flagship software BEEtoolkit there have been many lessons learned that have resulted in the wholistic solution that we offer to date. 

There has been no greater lesson learned than that of combining our expertise with those of our peers in the B-BBEE world, to deliver an enterprise standard solution.

We take pride in being at the heart of an ecosystem that safeguards our client’s noble intentions of good corporate citizenship and compliance.

Our technology is further complimented by our alliance partners that include advisers, verification agencies, and service providers, forming what we believe is “One Solution for All”.

Rocket Science

A lot has been said about the severity of the recent pandemic and the dire effects that the economy and country will endure. It is not business as usual for corporate South Africa. It is the season to adapt and make smart business decisions that will keep the ship not only afloat but with a tailwind.

The “space race” began to brew on the back of World War II. A dark time when humanity needed stability and conservatism. Instead, humanity opted for imagination, inspiration and bravery. Pushing the limits of life as it was known vs the possibility of a brighter future to be gained by doing what had not been achieved in the history of mankind.

At this present time decision makers are facing daunting challenges dressed in bold letters like “SAVE COSTS” and “REDUCE RISK”, words being yelled with the best of intentions!!

While these issues may not be “Rocket Science”, in terms of the literal Oxford Dictionary definition, many companies are under pressure to meet targets that have calamitous consequences if not met.

The ramifications of B‑BBEE are, of course, far wider than company transformation. It aims to completely transform the economic reality of the entire country, envisaging business working hand-in-hand with the broader community (Nolan, 2018).

We have engaged many stakeholders in various industries and the challenges being faced are shared. We say fear not. Mpowered and our alliance partner network have practical solutions and decades of experience to assist our clients navigate the murky waters we face.

Our message is clear, we say let’s work together to find the solutions to the day to day compliance hurdles we face in business, we say it is time to collaborate!

Contact Mpowered today to have a conversation about the obstacles you are currently facing pertaining to B-BBEE processes and how remote working has affected your role and your business at large.



 

 

 

Are you an Excel mastermind? Maybe you’ve built some excellent spreadsheet calculators and want to turn them into something better? Let me tell you a little about our journey of becoming an enterprise-ready B-BBEE software-as-a-service business.

Governance and data privacy

We started like most software companies: a small team of starry-eyed developers hacking away at a project the CEO was personally overseeing with immense anticipation and excitement.

We started building the BEEtoolkit near the end of 2008. It was replacing Mpowered’s first Software-as-a-Service called BEEmotion. This all happened near the time when B-BBEE self-assessment was supplanted with formal accreditation, and B-BBEE strategy was becoming a concern for many enterprises.

BEEtoolkit was released about a year later, and we started selling it predominately into the automotive industry in which we had developed a strong foothold via our B-BBEE consulting team.

We started acquiring progressively larger and more complicated customers. Their demands led us to build a sophisticated scorecard consolidation engine to handle calculating B-BBEE across corporate structures. With this growing complexity in the B-BBEE environments, we also began to encounter corporate IT and so began our journey to enterprise readiness.

I distinctly recall meeting with the CIO of a large, international insurance underwriter. He reamed off a list of onerous demands that we’d need to meet before they’d consider allowing our application into their environment. It was that moment that we entered our first internationally-based security due diligence.

We studied existing information security standards like ISO27001 and started formalising a host of processes and procedures. We changed our hosting and infrastructure provider to a top-tier (and expensive) enterprise hosting company. Each due diligence that we entered became an opportunity to polish and hone our governance and data privacy practices. We hired legal consultants to educate the business on POPI and general data privacy practices, ensuring that our data privacy maturity drove policy from our technology, all the way up through to our people and ways of work.

Today, we seldom see a question in due diligence that we hadn’t seen a 100 times before, and developed a process to handle. Getting here hasn’t been easy, though. We were trying to build software for pete’s sake! Not corporatise ourselves. But good governance has an excellent side effect: nights of sound sleep knowing that you’ve done everything you can to be a responsible custodian of your customers’ precious data.

Upstream dependencies

Most software companies have several stakeholders that guide their development activity. The most obvious is their cohort of customers. Software businesses that don’t listen to their customers are at risk of playing in an echo chamber of their thoughts and falling out of relevance.

Competitors are also a voice in the mind of many a product manager. The activity of your competitors could reveal an undiscovered trend that you need to capitalise on before it’s too late.

Good product managers deliberately gather insights across these two essential groups of people. They apply their mind to filter the ideas and find the golden signals in all the noise. This process is a busy and challenging job, requiring sound judgement, scepticism of assumptions and careful management of one’s own bias.

B-BBEE software companies have yet-another-upstream-stakeholder though: The DTi and sector charter councils. We’re not building apps led exclusively by our vision of what our product should be. Our core value proposition is the fact that we encapsulate all the calculation and interpretative nuances of legislation defined by a completely independent 3rd party. This dependency is scary stuff.

This 3rd party is free to change the B-BBEE requirements at pretty much any time. These changes can be benign and have a low impact on your product. Or they could be sweeping and require that you scrap your carefully crafted roadmap and vision boards for a turbulent scurry to unpack, spec, build and test some new calculation or sector code.

We’ve always thought this would be a seasonal activity that would pass. But it has proven to happen regularly enough that it has kept us really, REALLY, REALLY busy. A huge part of a B-BBEE software company’s workstream is keeping up with the latest changes in B-BBEE and making sure that these changes are reflected intuitively and accurately in the product.

Abstraction

Which brings me to abstraction. As Bruce Tognazzini said:

“It’s hard to read through a book on the principles of magic without glancing at the cover periodically to make sure it isn’t a book on software design.”

You may not think it (given all the hype), but it’s easy to code. In much the same way that laying bricks and pouring concrete isn’t that hard.

The real art and science lie in understanding that local geology needs to be taken into account when constructing a building of substantial size. The foundations, configuration of steel and stone, planning around natural groundwater flows etc. become the key to building a high-rise residential complex that will remain sturdy for decades and require very little restorative maintenance. That’s why we send people to a university to become civil engineers.

Coding an application that works in not the hard part. Coding one that anticipates change in the right place, that is easy to test and scale is the hard part. This takes a team of very experienced and pragmatic software engineers.

You know that your software design (how you’ve grouped the code, exposed it and coupled the modules together) is sound when a new requirement comes along, and it’s easy to add to the system. The challenge with B-BBEE is that we can’t reliably predict what future changes may occur. It’s hard to peek into the future and anticipate that this module needs to be able to bend, while that one can remain rigid. Evolving architecture is inevitable.

But evolving architecture requires more than just a team of coders. You need specialists that understand the domain and can help build the system of tomorrow while maintaining the version of today. Your system becomes like the human skeleton: repairing and replacing itself slowly over a matter of years such that you pretty much have a new skeleton every decade or so (true story: https://orthoinfo.aaos.org/en/staying-healthy/bone-health-basics/).

Building scalable, reliable, and future proof B-BBEE software is expensive. I have a profound respect for our team of developers. We have some brilliant people solving some complicated technical and commercial problems.

Conclusion

So should you start a B-BBEE software company? We’ve been honing ours for ten years. It’s not been easy and continues to keep us on our toes.

I’ve heard it said that entrepreneurship requires a little ignorance. If an entrepreneur knew all the challenges they would face on day one; then they probably would’ve walked away. I’m glad we didn’t.


Author – Gary Greyling, 15 April 2020

South Africa is the only country where B-BBEE is legislated and while the legislation exists, there is no hard law forcing companies to comply with that very legislation. In the B-BBEE world we have The Department of trade and industry governing the B-BBEE Act and the application rules. The South African National Accreditation System (SANAS), who support the DTI, is the regulatory body that ensures that Verification Agencies that measure companies’ compliance, meet the standard accreditation level. We also have the B-BBEE commission who facilitate and accelerate adherence to the act, as well as an association of bodies to professionalise the industry which is ABP.

With all this governance and regulation around B-BBEE and the fact that we are close approaching the second decade that the B-BBEE legislation is around, it is surprising that there is no hard law enforcing that companies are required to obtain a valid B-BBEE certificate and comply with the act. Which begs the question, how is B-BBEE still around?

Yes, one could delve into the philosophical world of why as South African citizens, we have a responsibility to right the wrongs of the Apartheid past and allow for a broader participation by the previously disadvantaged. While this is a strong motivator, I believe that this is not the driving force behind compliance. Don’t get me wrong, the country has achieved by leaps and bounds with this motivation, but the hard truth is that a moral justification is not the reason that B-BBEE is still around.

I have been exposed to the industry long enough to have observed and use those observations to back my belief that transactions are the reason that the B-BBEE wheels keep turning.

By transactions, I am referring to trade. The simple buying and selling of goods and services. Being in the industry and posing the question to companies as to why they are getting B-BBEE certificates, the common response is: ‘Because the companies they trade with require it for their own compliance’. So, in order for any company to be a preferred supplier, they would need to do well in B-BBEE. There is an element in the codes called Preferential Procurement. It is a sub element of 1 of the 5 pillar elements and measures the extent to which companies buy from other companies with strong B-BBEE recognition percentages.

The world of B-BBEE is graded in levels, those levels are decided based on scoring bands and the band achieved is dependent on the scores achieved in each of the 5 elements. It ranges from Level 1 – Level 8 and each level has a procurement percentage attached to it. The higher you as a company score on your compliance, the higher the level band you achieve and therefore the higher the recognition percentage you will attract when trading. To add to this, B-BBEE is measured annually so you will constantly need to be reassessed to determine your level band achieved.

In summary, companies will get a good Preferential Procurement score if they buy from other companies with good scores and so the chain reaction begins. Any company that operates in the South African economy would need to perform well on their B-BBEE compliance to continue to trade.

What a subtle, yet compelling thought that Preferential Procurement is a driving force in the B-BBEE arena. Whether you are competing in South Africa’s supply chain to thrive or simply survive, you need to check you B-BBEE boxes.

With a pool of consultants and advisory companies in the industry, it’s easy to get clued up on all matters B-BBEE but where companies face challenges is in figuring out how to overlap those compliance requirements with their business operations in a way that yields productivity and profit. There would be no point to tick the B-BBEE boxes, if your company would in no way benefit from it. It needs to make business sense.

To this extent, I think that The Department of Trade and Industry have done well in terms of releasing different applications of the B-BBEE codes specific to sector charters ensuring that companies play to their economic environments. This levels out the playing field and allows companies to focus on initiatives that do make business sense to their relevant sector charters.

As companies navigate the B-BBEE terrain, they need to find clever ways in which to optimize their scoring opportunities. B-BBEE compliance is fast becoming a key business objective and is used to differentiate in a strained market. As a result, efficiencies must be built into overall strategies to get ahead.

My move from the B-BBEE verification world into the B-BBEE software world has validated that the industry continues to evolve and adapt whilst integrating technology into its processes. Likewise, companies must revolutionize processes to keep B-BBEE compliance front of mind and to tick those boxes.

As companies constantly commit to improving their compliance levels, they put pressure on others to do the same, and those wheels keep turning. As better trade leads to each company performing better, the greater we perform as a South African economy. Of course, a beaming economy leads to further growth from resource rich local procurement to foreign investments.

Trade – a seemingly simple concept that makes the B-BBEE world go around and around. Even as the country walks towards uncertain times as Covid 19 has locked down our economic growth, companies are still committed to coming out on the other side stronger. Trade built the economy and trade will continue to rebuild the economy as South Africa looks to move out of our junk status downgrade.

So, we trade, and we procure, and we do so with B-BEE intertwined. We continue to involve participation from a broader more colorful South Africa and as each transaction occurs, we grow and embrace the legislation.

B-BBEE thrives not only because of idealism but also because of practicality and I think that’s a beautiful balance. Understanding that B-BBEE is indeed a powerful motivator to oil those wheels but also to understand that the underlying momentum of trade is what moves those wheels forward and will continue to move those wheels forward for the foreseeable future.


Author – Mitishka Ramdhani, 14 April 2020