I was approached by one of the managers at my job about a change to one of the data entry forms on our system. The requirement came up because of an incorrect value being entered into the system. So the suggestion was to do something that would prevent people from having to re-enter all the information to reduce human error and also to reduce the time that it takes to update the pricing. It was felt that it was too difficult for the users to do this, even though this was part of their primary job function. This is where I had a problem. An elaborate discussion then took place about possible solutions on how to correct this problem, wasting several precious minutes of my time. My solution is a simple one, how about the users actually, wait for it, DO THEIR JOB! I don’t mean to sound like a jerk and I am all for innovation and making the life of users easier and making people’s jobs easier, this is why I got into development in the first place, but this sort of request just makes me fume. It just illustrates the popular attitude in today’s society and how we’ve been spoilt.
My business partner and I had a discussion not too disimilar about features of a product we are currently promoting. While using the software as a customer he noticed that the software does not allow you to perform a specific function. Now, the function would be really cool and would saved him time on what he was trying to do, however it can really be seen as a nicety. The problem he was trying to solve was not brought on by the software but was a problem before he used the software, so should it be the job of the software to fix his problem, even though the reason he was using the software in the first place was not directly related to the new problem he was trying to solve? He commented that it was a limitation of the software and my response was that it was not a limitation, it simply wasn’t a feature. The difference between the two things is that the software never said it would do that particular task and didn’t try to solve that problem so it can’t be regarded as a limitation. You may say it’s like PO-TA-TOE and PO-TAY-TOE but it’s really not!
As a software developer I really have to embrace the 80/20 rule. I hate quoting things that are so generic that it can be applied to everything but this rule really does help in two important ways:
- It allows us to please most of the people
- It allows us to get software production ready and released