Saturday, January 12, 2019

What is Software Value?

In software development, we are often asked to deliver value instead of hype, flash, or even pride. Yet, what truly constitutes value? Isn't value subjective? Isn't value the sole concern of the business? Isn't value a vague term? Isn't delivering value as obvious as doing what the manager asks you to do? How about value being as obvious as making people feel good?

So many questions, which I'd like to address from personal success and failure experiences in delivering value to customers.

Last year, after moving to my new place in downtown Chicago, I wanted to get the fastest Internet connection available. I found out it was Xfinity's 1Gbps Cable Internet, so I bought the best Cable modem I could find at Best Buy (supported up to 10Gbps speeds) and then visited an Xfinity store to order the Internet service. The timing was perfect! It was during the Winter Olympics, so I got to enjoy seeing on Cable directly or streaming over 1Gbps Internet. I was working from home with UpCity Inc at the time, and work was going smoothly thanks to the high speed Internet. Unfortunately, that only lasted one week, and then speeds dropped to 100Mbps, wasting my investment in expensive hardware and reverting me back to Internet speeds from 10 years ago. I contacted Xfinity's tech support and they did nothing but give me excuses and claiming 100Mbps was good enough when I was paying the hefty price of 1Gbps Internet. That's a side effect to the recent onslaught of hiring of underqualified employees, but I won't get into that for now. Needless to say though, I checked the closest competitor, and AT&T was offering similar speeds over fiber optics. But, my building didn't support yet, so I settled for 18Mbps. Yet, they were honest, prompt, didn't give excuses, and made me feel very well respected for the money and the individual I am. Whereas Xfinity's offering delivered the fastest Internet I could get (100Mbps down from 1Gbps), AT&T delivered happiness with only 18Mbps, supporting all 4K TV streaming and HD sports watching needs. This story pretty much sums up the definition of value in software delivery.

So, back to the questions, which I'll answer individually.

"what truly constitutes value?"

Doing what's right! Which results in customer happiness, respect, the feeling of appreciation, the feeling of being estimated fairly as opposed to thinking of customers as below the company serving them, and serving the customer true needs by providing substance, not flash, by providing true benefits, not pointless pride.

That said, to keep doing what's right, the business must be profitable enough to keep employees motivated to do great work. So, value must account for that as well. It must respect employees' and businesses' limits while ensuring business sustainability. Value delivery is work not charity. So, it is important to respect your manager's perspective when suggesting ideas as they know more about what the business could afford to do for customers.

"Isn't value subjective?"

Value can be subjective, yet all of us are human subjects, and thus share a common thread in what makes us happy and share the gift of discerning what can truly benefit others (often without needing to ask). As an example, in UX (User Experience) Design usability testing practices, they recommend observing the users and discerning for ourselves what can serve their needs best, not always following what they say, yet following our instincts instead, resulting in much better software experiences.

"Isn't value the sole concern of the business?"

A business that operates that way is treating its employees like machines as opposed to similar human citizens of their society. Any good business would allow its employees room for discerning and sharing value with their customers.

"Isn't value a vague term?"

All terms are vague if you don't share context with others. That's why, it's very difficult for someone living abroad to deliver value in the USA. And it's more difficult for someone living in Washington to deliver the best value in Illinois (albeit not impossible, Amazon does a good job of it).

Yet, keeping value delivery in mind instead of abandoning as a vague term focuses us on doing what's right and truly serving the needs of customers. Otherwise, we risk getting lost in copying the competition or offering people what they say, without satisfying their needs.

"Isn't delivering value as obvious as doing what the manager asks you to do?"

It could be if you're a junior software developer unable to discern value yet. As you grow and progress in the field though (yet more often even as a junior), you start bringing your own perspective to what value is and better discern what better serves both the business and the customer.

"How about value being as obvious as making people feel good?"

Feeling good is not the same as being happily satisfied with service due to needs being served. Besides, sometimes the user is getting work done with software, and what serves their needs is getting work done correctly and fast, which might not feel good, but it feels right! So you wouldn't target them feeling good or else you risk falling into the trap of offering them irrelevant features like background music playback through online spreadsheet software. Instead, you target doing what's right for the business and customer by figuring out how to best serve their needs (e.g. cloud storage of spreadsheets instead of requiring upload/download on every use).

One last bit of wisdom on the topic since wisdom is what you'd expect from a blog is staying open-minded about the perspectives of your colleagues and coming up with a best value delivery solution through collaboration and respectful goal-oriented discussion (no senseless arguments or pride-asserting debates). I like to share just enough of my opinion, while leaving it to the highly skilled web designers and software architects to iron out the details of what they're best at and I'm not so good at.

In summary, deliver value, not pride! Keep the business and colleagues in mind in value delivery. Focus on customer needs not wants.

No comments: