I have a friend named Shane Gray. He’s awesome. I’m not a technical person, but he introduced me to the concept of unit testing.
Do you know anything about it?
Building software is like cooking a beef stew. Let’s take Instagram, for example. It looks like a simple app, but it has subtle and not-so-subtle ingredients from other pantries called open-source libraries.
So if your name is Kevin Systrom and you’re the founder and CEO of Instagram, you have your core code that you created. That’s your intellectual property. Then in the early days of building the app, you might grab code from Gowalla to make sure that your app can do check-ins. Then you get Apple code to run on their iDevices. And maybe you call up your friends at CocoaLumberjack and ask them to use their Java logging framework because, hey, why would you write that code yourself?
Those different ingredients are part of your tech stack, if I understand this correctly.
But before you throw in all of these ingredients in the pot, you build the recipe slowly. And as you build slowly, you test things out to make sure that things taste good, and nothing is spoiled.
That’s unit testing.
Instagram starts with its core code. They might have ten lines of code but write sixty lines of code to test the ten lines of code for breaks in security or responsiveness on all mobile devices. If it’s clear, they add another ten lines of code and then test the heck out of the new modifications, knowing full well that the integrity of the software isn’t compromised.
Those quality checks are called “unit testing.” Can’t cook a tasty a beef stew without a good roux. Can’t create software without quality assurances that the system you build won’t break. And the sooner you embrace unit testing, the less risky it is to sell that software to the public.
So that’s a cool concept, right?
I also love unit testing for HR programs. Before you go crazy for a new onboarding program, start small. Examine the first step. Who does it impact? Where are the bottlenecks? How will it break?
If step one looks fine, move to step two.
What I’m telling you is that you can’t test an HR program enough. Go slowly. Be deliberate. Think about how each step will fail before it fails. Verify the program as you build it, not after you build it. Stay in pre-beta as long as possible. Don’t enter into a beta period until you’re sure it’s not broken.
Unit testing might save your life, one day. At the very least, it might save you the embarrassment of launching yet another HR program that’s not ready for the world.