Fixing What’s Not Broken: A User-Centric Perspective

January 29, 2009 · Posted in advice, projects, work · Comment 

The saying, “If it ain’t broke, don’t fix it,” is not a very good motto, especially when there’s progress to be made. When you’re working with old and tired technology it really drags down your capabilities and your ability to move forward. The need to keep around legacy solutions only holds back your clients from realizing your full potential as a company.

Their Failure is My Failure

Being the Technical Director at my company means that I get to pull out all the stops when it comes to investing in our technical capability as a company. But it also means that I am responsible for those technological failures as well.

Coming from the world of Human Computer Interaction (HCI), the user is never wrong or stupid, but instead it is your design that is wrong or inadequate and the sooner you realize that, the sooner you can move on to building better, more functional and friendly software.

The same goes for my developers. They are forced to use the solutions I provide for them and if they have problems with it, break it, or can’t get it to work, that’s my failure to design a well-working platform for them to develop on. Sure, I can always fix the problem for them in a few minutes and show them where they were misled because I understand how all the pieces fit, but I’m the one that made it, so of course I understand it. I could dismiss their problems as them not knowing how the code works or that certain things need to be placed in particular spots for things to work properly, but that’s not their job. Their job is to develop really great pieces of work and it’s only a difference of mentality on how they should do their jobs better and easier.

On the one hand, I could produce documents and try to explain how everything works and occasionally field questions on how certain things work. The alternative is to pay attention to the problems they’re running into and resolve it in a way that’s best for them. This may require a higher initial investment, but it’s an investment that’ll yield higher returns in the long run, not to mention happier developers.

It’s Not Them, Stupid, It’s You

We’re quick to fault others for something that we ourselves may understand quite well, but with the wealth of diversity in this world, no one can know exactly the same things you do. I work with really talented people and I can’t blame them for not knowing things I think are common sense because I know they know things that I couldn’t even begin to grasp. So instead of trying to be superior to people or trying to absolve yourself from blame, take the stance that the end-user is always right, be it your co-workers, your clients or your customers. Remember, you’re not trying to compete with them, you’re trying to work with them.

Don’t Fix It, Improve It

Take something in your line of work that is tired and old and revamp it. If your software is coded in ActionScript 2, upgrade it to 3. If your website is made with just straight up HTML, refactor it to include CSS and some JavaScript. If your invoices are still written in the Courier font, hire a designer to make them less intimidating (unless that’s the point, in which case your business model is flawed if you’re constantly trying to convince your customers to pay up). I know it might not seem broken and may seem to work fine, but by improving on what you already have, it allows you to evolve and be a leader rather than having tired old things hanging around and weighing you down.