A Developer's World vs The Real World
I work at a company that develops stand-alone applications for use in the deregulated electricity market of Alberta. Our applications are web-based, and thus require a browser to function. Given the nature of the Internet, this means that we need our applications to be compatible with the browsers of our clients. At present, those browsers are Microsoft's Internet Explorer (IE) and Mozilla's Firefox (FF).
Most of you would be quick to say that Firefox is a superior browser that offers far more in terms of innovation and choice, but the fact remains, Firefox is open-source. And as an open-source piece of software, anyone has the ability to write into the code malicious scripts. It is thus a security liability. This is how major corporations view Firefox. For this reason, IT departments are reluctant if not adamant about preventing downloads of Firefox on company computers. Being a small, private company, we are able to test and use Firefox on our desktops provided we use common sense and are careful about what we view with the browser. But as far as the industry is concerned, we need our applications have full functionality in IE.
So now that you have a little background, let's get to the real issue at hand. As part of our team, we have a number of developers who have created, maintain, and support our various applications. They are the ones who implement the bug fixes, they are the ones who make the improvements, etc. But all of the information they need to make those changes comes filtered from the marketing and client relations team. The client management team is the one who deals directly with the clients. They are the ones our clients talk to when things do work, they're the ones who get shit when things don't work. All this input is then handed over to the developers. At no point do the developers communicate with clients. It follows then that developers can act without fear of backlash from software that doesn't work like it should.
Which brings me to the application in question. I have been tasked with overseeing the creation of documentation for a new application we've been contracted to build. I will also be the one going to the various clients and training them in the use of the system. The lead developer for this application decided, despite being told otherwise, that he would do primary development in Firefox and secondary development in IE. That is to say that the program works better in Firefox than it does in IE, more specifically IE7. Our clients, as previously stated, do not use Firefox. What good does it do them to have a piece of software that only really works in a browser they don't use?
After copious amounts of complaining and argument, this developer was told by his superiors that the program would have to be made compatible with IE, but not on company time. So now our application works almost as good in IE7 as it does in Firefox.
I take issue with this whole situation, not only because it's my responsibility to train people on the use of the application, but also because a personal preference should never take precedence over company requirements. The developer has no right to dictate how clients should use software when the clients are the ones paying us to develop software for them. As far as we're concerned, the customer is always right. Well, almost. But consider this: our clients will be the ones using the system, does it not make sense to create an application that not only caters to their needs, but is also a seamless transition from the old system to our new one? What good does it do us to make their lives harder? From the client management team's perspective, the less abrupt this shift is, the less shit they'll be getting later by way of phone calls, e-mails, complaints, and so forth. You can see now how the developers pull this sort of stubborn, arrogant bullshit without worrying about how it'll affect them.
Hypothetical situation: NASA hires you to build software for their shuttle launch. Do you write the software and then tell them to overhaul their protocols to fit your software? Or do you try as hard as you possibly can to make it a smooth transition? Which answer will get you fired and which will have you signing contracts with NASA for years to come?
As it stands right now, the application is useable. Our clients will hate it, but that can be minimized through the numerous changes that I intend to have made before it's released into Production. I guess I'm just frustrated because we have developers who have no idea how our clients want things, but those same developers think they can dictate to our clients how to run their businesses.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home