The Hidden Cost of Empathy in Software Development (and Why It's Worth It)
We all hear about empathy these days, but what about empathy in Software Development? Sure, understanding users builds better products, but it's not always easy. Digging into user needs takes time, and frustrated users can burn devs out. But here's the thing: ignoring empathy is way more expensive. Building products nobody wants? Ouch. Empathy might take effort, but bad products take even more.
While I was thinking on this topic, I recalled few personal experiences.
Early on as a software developer, I thought like Thanos. I believed I am going to create something that the users need. Users should marvel at the offering and revere me as the creator of something unique.
More often than not, my work was based on hubris. I learned about empathy over a period of time! While I was thinking on this topic, I recalled few personal experiences.
I was working for a retailer in UK. The merchandisers for clothes in the company followed a workflow for designing products for every season. This workflow had several images, the BOM, the recipe and much more. All of this was compiled into one large artifact that needed to be sent to the factory in Sri-Lanka, Bangladesh or India.
When I delivered the webpage that created this artifact, users complained that the webpage was excruciatingly slow. I countered saying lots of work gets done in the background and hence this page will be slow. There is nothing I can do.
Every meeting I attended here on was an escalation meeting. Merchandisers complained they had to wait an inordinate amount of time on this screen. Pressure was mounting. I tried database optimization, improving the code, asking for bigger and better server (all adding to the cost). Over tea, my senior asked me about the issue.
This senior highlighted that the issue was not the response time, it was the wait time. Since the program was running in the background, the screen froze, and user had to twiddle their thumbs. "Why not engage the users while they wait?", he said.
This was the light bulb moment. I created a small 3"x3" web frame in the right bottom of the webpage. I set the background of this frame to the windows blue screen used in installation of windows. We used the same font as the windows installation
We rolled out this addition over the weekend. Over the following weeks the complaints vanished.
领英推荐
This small window gave the user a sense of control. Tt diverted the attention of the user to the messages. They were no longer waiting; they were consuming.
Another incident happened when I was leading a team involved in digital transformation. We were working on AS/400 system that had MAPICS ERP. Users interacted with this ERP using a green terminal.
My team was building a cloud application to fetch data from the ERP and then develop a modern MES system. When we launched the MVP, there was pushback from the users. They have worked on the green terminal for years and they feared for their jobs with all the transformation activities.
Soon users started complaining that the sales order data in the cloud system was incorrect. My team identified the bugs (edge use cases) and fixed the bugs. The users continued to report bugs about incorrect data.
On investigation we realized that the bugs made no sense. The data in AS/400 and our cloud system was an exact match. The perception that our system was error prone continued to haunt us.
To change this perception, I asked my team to add the green terminal in our application. This was easier said than done. While feasible the solution would have been clunky and difficult to maintain.
One of the developers had an easy solution. We created a html page with black background, fonts from the ERP, and the exact layout as AS/400. This illusion of the ERP screen worked, and the bugs disappeared.
Empathy can lead to simpler, more effective solutions. Next time you're faced with a software development challenge, take a step back and try to see things from the user's perspective. You might just surprise yourself with how easy the solution can be.