Last week I received a phone call of distress from one of our clients. The were asking for some advice regarding issues they were having with a Web Application that was developed for them by another company and was released into production the week before. Now I’m not going to name names, or even mention what Web Technology was used – this is not what this rant is about.
Introduction
The plea for help was pre-empted with a light-hearted exchange between the Client and I where the client jokingly blamed me for the predicament that they were currently in.
“You said late last year that you had a full schedule and that you were not taking on any new projects until February (resulting in them hiring these guys) [...] so it’s your fault!”
I know the Client very well and they are very reliant upon the technical consultants that they hire to provide direction and complete the project as they have no technical expertise themselves or technical staff internally. This Client needs to be taken good care of (of course, as do all clients) since they put total trust into the technical consultants that they hire and have no real input into the direction of the development aside from the business rules.
The problem is, with the exception of the Web Development company I work for, it seems as though they keep picking the wrong Web Development companies when they are not with us.
From what I hear, the web development companies they hire are full of hype and seem to be stepping into the projects without covering the usual bases. Now, for a company whose average project consists of Mission Critical Web Applications as opposed to your run of the mill Joomla CMS, Sugar CRMs or E-Commerce websites, this is very dangerous.
The Rant: My Clients got burned on this one and it really disgusts me…
In this particular case, it seems as though the Web Development company that they hired did not do their homework and either failed to gather requirements completely or just chose to flat out ignore them. In addition, it seems as though not enough testing was done and the result of this is a Web Application that is in production with enormously glaring bugs similar to users logging in with the credentials that they have specified during registration and getting someone elses data – this is totally unacceptable!
Fundamental functionality such as logging in should be childs play and the fact that they couldn’t even get this part right not only says a lot about the low level of skills the developers this Web Development company had, but also, the level of incompetence Management and QC had – that is _IF_ they even had someone in QC.
Ahhh so that’s what caused it
The Developers were apparently blaming this on the database software that was being used for the web application. The thing is, these developers recommended the database system to the client themselves! The client gave them free reign with direction and went along with the recommendations made, but when the application was placed into production and had real users – everyone was complaining about performance issues and random errors.
Apparently, the developers were making excuses something along the lines of “oh these performance issues are being caused by the lack of resources and processing power in the server currently used in their production environment”.
As I was listening to my Client’s tale, I was processing this in my head and my mind was ablaze with several rhetorical questions “why then, did you put it there and if you were unsure of load?”, “why did you not test load first on the production server, prior to releasing the Web App?!”
“Move the App to Another Server with more Power”
So they recommended that the client spend an additional sum to purchase hosting with an external company which had the machines with enough grunt to handle their application. So the client did so and hosted with the Hosting Company recommended by the Web Development company. This marginally improved the performance of the app, but major flaws such as logging in and being allowed to modify someone else’s data along with intermittent runtime errors were still occurring!
“The problem is with the database that we recommended for you”
They came back with “oh the X database does not handle more than Y users at the one time”. Again, when I heard that this is what they said, more rhetorical questions: “Well then why did you recommend it, knowing what the _Web Application_ was going to be used for?!”, “Did you not investigate how much the expected traffic would be?”, if they did, then why did they not test for it?! why did they ignore this very important detail?
“Spend some more money and buy a license for a more powerful database software”
So now the Developers are recommending that the Client purchase a license for a database which handles the required number of users. They are confident that this will fix performance issues with the database and resolve certain bugs that they are experiencing… magically.
The checkmate move from the Development company: “We’re not touching it because you did what we told you to do and moved your Web Application to an External Host which we recommended for you. So now, we don’t have to fix anything”
The Client has requested for the Developer to fix other bugs and make changes to the system. The Development company now says that they will not touch the Web Application as it is no longer hosted in-house. Wait a minute, didn’t the very same developers recommend to move to the an external hosting solution to the point where they recommended the hosting company?! So basically, the Development company set it up so that they will no longer (in their eyes) have to do anything to rectify their mistakes.
That’s absolutely terrible and down right despicable.
This is not the way I roll
I’m not saying that my team and I do not make mistakes, but on the rare occasions that we do, we at least fess up to them and do everything we can in our power to rectify the situation. Whether the Client stays or goes, win or lose, my team and I will always, _ALWAYS_, make things right. One way or another.
When I am presented with a project, I make sure that it is something that my team and I can take on and execute with routine, uneventful excellence. This is the very same reason I do not take on projects due to time restraints or workload. I need to be sure from the very beginning that we can deliver and not put our Clients at risk.
*Deep Sigh* Okay, well let’s lighten up the rant a little…
This is the way I see it. Being a Web Developer or a Specialist of any sort is kinda like being the Hero in stories, the Specialist, the Chosen One, he or she who has come to save the day and provide safe passage to those who cannot face up to the technical challenges that the requirements for Web Applications present.
The Web Developer is the knight in shining armour – the highly skilled, honour bound Protector who (thanks to his years of training and experience whilst meditating in his home office or the university library perfecting his art) is resourceful and quick thinking.
Conclusion: A quick Story for you to imagine…
Now imagine if you were stuck in a story book and you get the dud hero? The one who either turns to the dark side and mauls you or the incompetent one who ends up being captured by bandits or eaten by a Dragon?!
What do you do? Where do you go?! You’re out of options. You’ve got this dragon sniping at you and there’s nothing you can do. You’re trapped. You’re screwed. So you get out your magic business card given to you by the True Hero. But the more you talk to him, the more you see that it’s too late. He’s asking questions like “what type of dragon is it?”, “does it breath fire, ice or acid?”, “does it have wings?” you don’t know the answers so you don’t know what to tell him so he just tells you to run and explore certain avenues, but cannot guarantee anything.
This is the unenviable situation that my Client is now in. Seeing as I’m the story teller, it’s my blog and I’m a self proclaimed Narcissist, I get to be the True Hero… who has super powers… like shooting laser beams from his eyes and can fly and, and… *continues to ramble on about other super powers but you’ve already lost interest at this point and it becomes inaudible* … and he works out … *you roll your eyes and find yourself muttering “oh please shut up about your stupid super powers already”*.
That’s the end – thank you for reading.
Next post is on Monday AEDST.
Trackbacks /
Pingbacks