People Matters Logo

Premature optimization: Learning from software development

• By Ankita Poddar
Premature optimization: Learning from software development

Imagine this: The quality assurance team files twenty bugs for a feature to be released shortly and fifteen of them get classified as known bugs, not a blocker to release. The first time I heard of such an incident, I wondered why is it that the organization is willing to ship a feature that has known bugs. Why would anyone not fix bugs before sending it out to the world? Does that not make for a better customer experience? Turns out, there lies very sound logic in sending imperfect products out into the world. 

Let me introduce you to the concept of premature optimization. Premature optimization is spending too much time optimizing features and specifications that might add minimal value to the product or service. To quote from Donald Knuth’s book, The Art of Computer Programming, ““The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming.”

We know that developers are expensive and their time valuable. We also know that known design flaws are common in the world of technology. What we do not know when releasing a feature for the first time is whether customers will actually use or like it. Instead of spending time and money perfecting the feature, it is far wiser to send it out into the world to collect early customer feedback. Given that agile is a common way of work and iterative releases are the name of the game, once we have customer feedback, it gets easier to know where to focus and which areas to let slide. The same principle applies while discussing scale. Before you worry about handling millions of users, you need to make sure that 100 users even like and want to use your product. Validating user feedback needs to come first.

HR needs to take a leaf out of technology’s book. We shoot down innumerable technology interventions worrying that they aren’t perfect. We struggle to pull together the budget for the perfect tech solution. We worry about scale even before we know if our idea will gain traction with users. Over and over again, we have realized only too late that the success measures of our product are loosely defined and there doesn’t exist a closed feedback loop. Product feedback is almost always via anecdotal feedback collected from a small user base. Utilization data is never or rarely tracked for long enough and our design principles would give anyone in the world of product design endless nightmares. 

How many times have you launched a product e.g. a peer recognition platform only to have utilization follow a dying curve over the years? How many times have you started designing a product with scale in mind? 

The next time you are releasing a product or service, remember to:

It is easy to forget that there is something to learn from every process out there. As we strive to transform HR into the world of technology and into the digital era, it is important that we look at the concepts that already exist in technology and adopt them sooner than later. Yes, it is great to make our own mistakes but in the interest of time, let’s not repeat ones that we have already made. 

P.S. Don’t forget to tune into the upcoming People Matters TechHR India Conference taking place from 10th to 14th August to learn more about rewriting the HR and WorkTech playbook.