Just because you can, doesn’t mean you should

What do microwaves, excel spreadsheets and washing machines all have in common?

In my opinion it’s that when they break, you often don’t know how to fix them. Unless you’re some kind of tech guru here to save us all… but for the rest of us, we’ve all been there, right?

At first you think that you’re the problem. You must have pressed the wrong button. So, you start again, but still: nothing. Perplexed, you tilt your head and scratch it.

“What is going on?” you ask.

Confusion quickly turns to frustration. The polite, level-headed individual inside us is overcome by the primal animal within us. Poking and prodding at buttons quickly turns into beating our oppressor like a bongo drum.

In this moment, if your life (or thoughts) ever had a soundtrack it’d probably look (or sound?) like this:

  1. Sorry, blame it on me – Akon.
  2. What do you mean? – Justin Bieber.
  3. Beat it – Michael Jackson.
  4. Unbreak my heart – Toni Braxton.
  5. We are never ever getting back together – Taylor Swift.
  6. Thank U, next – Arianna Grande.
  7. I will survive – Gloria Gaynor.

Ah…. I can hear the music already. Sounds like a party, right?

Wrong!

Microwaves and washing machines are one thing: you spend only a few minutes listening to the soundtrack of dysfunction. Now imagine hearing this soundtrack on repeat from 8am-5pm while staring at a broken Excel spreadsheet which manages your whole organisation’s B-BBEE!

Just because your computer has Excel on it, doesn’t mean that Excel is the solution, or more specifically, that it’s the best solution. As they say, when you have a hammer in your hand, then everything looks like a nail. Excel is no exception.

At the very least, I’d like to save you the pain of reinventing the wheel (and listening to our sad soundtrack above) by showing you that a fully-fledged solution for B-BBEE management already exists. That solution is the BEEtoolkit: an online, cloud-based compliance management software solution. It enables our clients to digitise their end-to-end B-BBEE compliance journey, from automatically collating source data right through to a digital B-BBEE scorecard verification.

Sound impressive? It is! Speaking as a developer of the system, I’m going to share what it takes to maintain something like this. It’s probably a little more involved than you think.

What it takes to maintain BEEtoolkit

Ok, so let’s imagine that BEEtoolkit suddenly has a bug. What does it take to resolve the issue? From a high-level perspective, we follow four steps.

A bug is identified:

You might think that bugs don’t pop up that often, but they occur all the time. In fact, at Mpowered, we have a round robin where at any point in time, we have one developer working on bugs for a whole week (a.k.a bug duty).

Developers are constantly in a sort of dance between preemptively fixing bugs they already know about, whilst also prioritizing user-reported bugs.

But how do we know about the bugs before someone finds it?

Well, at Mpowered we use tools like Honeybadger to actively monitor and track any errors in our app. The moment something abnormal happens we get an email with information such as what the user was doing, where they were in the app, and what sort of error occurred.

Because of all this, developers generally have a fix on the way by the time a user has reported it. In fact, in one of our recent releases, just over 82% of our bug fixes were ready and waiting to go live by the time a user reported it.

The bug is “handled” by a developer:

Once the bug has been identified, a bug ticket is created, containing information such as who experienced the issue, how to replicate the issue and what the expected outcome is.

The bug ticket serves as a guiding star. It helps developers pinpoint where the issue is happening, so that less time is spent finding where the issue might be and what is going on. This kind of information allows developers to solve issues in relatively short amounts of time.

Imagine doing this in a spreadsheet. Yikes!

A developer will then be assigned to the ticket.

When a fix is made, a developer then codes a test to ensure that this bug is gone. It sounds weird, but we write code to test that our code works. Our test code saves time since a computer can test something much faster than any human can.

Whenever we create any new feature, or bug fix, in BEEtoolkit we add a new test. Because of this, we have thousands upon thousands of lines of code which ensure that things work. Whenever we make a change, we can run all those tests again to make sure that nothing else has broken.

Imagine doing that in a spreadsheet. Double yikes!

 

The bug-fix goes through Quality Assurance:

Once a bug-fix has been made and all our code tests pass, the developer enters quality assurance. This is a bit of a two-step phase.

The first phase involves bringing in another developer to review what has been done. This other developer can make recommendations on improving any bad parts of the bug-fix. Also, if the developer who introduced this fix is not around, then we still have one more person who knows what happened.

The second phase involves a product manager loading a copy of BEEtoolkit which includes the new bug-fix. The product manager tests that the reported issue has indeed been solved. If the bug is confirmed as fixed, then the fix is marked as ready to be deployed to the rest of our systems, otherwise the developer picks up the ticket again and dives deeper into the problem.

 

The bug-fix is made live

This is it. Once our fix has been made, tested and marked as ready to be deployed, we can finally see the light at the end of the bug tunnel.

We tend to keep our fixes and features bundled into releases which we then deploy on certain days and times, in order to minimize disruption to system users.

 

Do you still want to do this all using a spreadsheet?

I hope you have a better idea of what’s ahead if you would ever like to DIY a spreadsheet for something as complicated as B-BBEE. When we make a tool, we’re in it for the long haul when it comes to maintaining it. Spreadsheets simply don’t have the same scope and functionality.  

It’s 2020, and Mpowered is here to make your life easier. When things go wrong, we’re committed to keeping the good music playing so that you can work hard and party harder.

So let BEEtoolkit and the rest of our software solutions replace your spreadsheet. You’ll be sipping piña coladas and enjoying the sweet tunes of life instead of staring at a broken spreadsheet thinking:

“Holy… (spread)sheet.”

Written by: Douglas Greyling