Attitudes in IT - Mediocrity Wins?
podo asks: "I've spent the past two months of my life working almost full time on a PHP/MySQL based web site for a client. Today I received an e-mail from the client point me to a similar web site set up by a competitor. 'Doing exactly what we are doing.' The site in question is not doing what we are doing, they have no dynamic content, no web forms, just e-mail addresses. They scarcely have any content (I counted only four HTML pages) at all. The client is chastising me for taking a long time and because the other site is 'much more impressive visually' than ours. Has anyone else found themselves in a situation where their painstaking work is compared to work which is a showcase for mediocrity? How have you dealt with such clients who fail to see the difference between a shoddy rush job and real quality?"
It's called The New Jersey Approach.
pb Reply or e-mail; don't vaguely moderate.
The site in question is not doing what we are doing, they have no dynamic content, no web forms, just e-mail addresses.
Yes, but was that in the specs? Or was that something you voluntarily done for your client? If the client's requirement was "a simple Web site showcasing our products and allowing people to contact us", then he's right in pointing out that some things can be done cheaper and faster. You might have implemented scalable multi-processor algorithms for error-checking the text in the Web form, what does he care?
Keep in mind that clients rarely know what they want until they seem something tangible, be it something you develop for them, or something they see.
Regardless, satisfying a client without a very detailed spec (which they sign off on) is a very difficult thing. It's never good enough, or is never matches their conception of what they were looking for.
Always, always, always, have a spec document that details exactly what they're getting for their $$$. Then, when they bitch and moan about what you gave them, point at the document. It's not a fail-safe way to do business, but it will help you not get sued. It also helps prevent scope creep, which if allowed will impact *your* bottom line, not theirs.
In my opinion, this points to a decided lack of a proper design phase in you development process.
Does the client really not know enough about the design of what you are building for them, that they have made such an 'obvious' mis-comparison with the other project?
Design is more than just 'its going to work this way', its also 'its going to work this way, because'
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
I think you missed a word: visually. A good layout and visuals are not about coding and they require a totally different set of skills.
Only a plumber would care mostly about plumbing when buying a house. Most people will first judge on how it looks and how they feel it would be like to live in it.
Could it be that your client is right? I mean, if your pages have a beautiful back end, but a front end that looks like processed yak's droppings, isn't there a good chance that a prospective customer will go for the more 'professional' website?
You might have an amazing database engine, but if it is not visually appealing, there is still a major issue.
To sum up: Customers like shiny things. Make it pretty.
Objects in the blog are closer then they ap
The best lesson any developer can learn is to make sure you have a good graphic designer on your team.
:S
Sadly, it has been my experience that flash always beats substance. My bosses/clients have always spent all their time niggling about design, layout, and color selection, rather than the actual functionality
That way everyone is happy.
Oh, yeah. It's happened to me many times in the past. The key is to:
1) Write a report explaining the importance of each and every piece of your project;
2) Schedule partial presentations at least every other week;
3) Write another report showing the weaknesses of your competitor, and providing information as to why your project (and in consequence, your client's project) is technically superior.
But don't forget that from a layman's point of view, prettier is almost always better (and the case is not necessarily true).
Utinam logica falsa tuam philosophiam totam suffodiant!
I wish it were the way for me... I still have clients asking why i'm not using that animated .gif they emailed me..
ugh...
Then you can explain to the client in question why "visually impressive" means absolutely nothing if the site is functionally inadequate.
Have fun.
This sig no verb.
No -- it's not.
As many others have already pointed out, this was a design flaw. Apparently there is some disconnect from the user (client) and the developer. The developer is creating something different from what the user is expecting, wasting lots of time.
If the above isn't true, then the developer hasn't created a valid requirements spec which can be shown to the user to explain the difference between "crap product X" and "your product". Needless -- it sounds liek the client/user isn't being involved nearly enough.. where's the ongoing UAT?
Are you confused about the difference between "quality" and "features"?
"Quality" and "features" are not exclusive.
Negative extremes of these two are "over-engineered" and "bloated"
Would you code in triggers even if your project didn't need them, or merely insist your DB had them in case you might need them? (Smells like over-engineered)
Sam
blog.sam.liddicott.com
For example, you state they only have 4 pages of content - how many do you have, etc.
There are a number of things about your post that strikes me as a bit odd. For example... when we bid projects we give a firm one-time price and a firm one-time delivery date. These are always adhered to - come hell or high water. Of course, changes to the specification can cause changes to the price and timeline, and our clients are aware of that - but as long as no changes are added to the original requirements document we ALWAYS meet our deadlines. Your post tends to leave that kinda open ended (I've given two months of my life - well, didn't you SPEC THAT OUT?).
Secondly, a MAJOR part of our client relationship is TEACHING THE CLIENT what a good website is, etc. Since almost 100% of the sites we do are heavy cgi-bin coded sites (C) with database handling, image processing, etc... there are many factors in such sites that require us to teach the client why one approach is better than another approach. THIS SHOULD BE DONE UP FRONT - NOT AT THE END. You have committed to an approach, but it doesn't strike me that you have educated your client as to the pros and cons of your approach.
Step 1: Discuss the clients needs with the client and show them examples of a number of solutions and outline to the client why each solution is better/worse than the others.
Step 2: Have your client give you feedback on which approach they wish to take, and why. Keep in mind how the site might progress in the future.
Step 3: Deliver to your client a detailed specification that outlines the site, the engines, how they work, how navigation works, how the site graphics look and feel, firm FIXED price and timeframe to delivery. Include periodic goals to show the client (we actually allow the client to critique the design while it is in progress)
Step 4: Create said site, in said timeframe and for said price.
At this point, it doesn't matter what the competitor does or did - the CLIENT was offered all the solutions and all the pros and cons and was properly educated as to why each was good / bad. OBVIOUSLY the competitor also selected one of those solutions - if they didn't, you left one out of your explaination. But assuming that you did your work correctly - than the client will ALREADY know the competitors site sucks (or cost a boatload more) and they will know why.
Most likely the call you will get from your client is *hahahahaha, check out the crap that the competitor did - man are we glad we went with you*.
And the resolution is the same in every case: either the consultant over-estimated what the client wanted (in which case, the consultant is in trouble), or the consultant has to explain to the client that his so-called alternative really isn't that great.
Nothing to see here ... move on.
And the men who hold high places must be the ones who start
To mold a new reality... closer to the heart
Ask him what color he wants his SQL database.
If he says "I think mauve has the most RAM", run like hell.
Beauty is in the eye of the beerholder.
What the company actually wants is a simple program that is fairly static and simple. But when they hire a someone to program it they will tout it as extreamly important and needs everything. Speed, Usability, Flexibilty, Runs on any platform, Easially upgradeable. Just to see if the developer will flintch. My favorate line was "Lives depend on this product! It is not like any program that you did before where falure will only cost money, Failure in this application could cause people to Die!" (This was from a towns fire department wanting a Crystal Report Report to manage the Departments Payrol and keep track of the previous incodence they went to.) The important thing is to readthrew the tought and get a good plan before hand on what they really want and use your skills to ask questions on anything that you might think they need. Don't assume you know what they need ask them before and get a good project layed out before them to approve. And if they did point to X application that is has less features you point to your project specs and go You told me you wanted XYZ feature in this. This application didn't have XYZ.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Then concentrate on layout, but in the first place:
Make shure you have the fsck**g content for the site.
Then go back to refining the layout.
The backend should never take two whole manmonths for a single customer.
No wonder you have bitching customers.
Speaking as a long time consultant who runs into this all the time - it's not a case of quality vs mediocrity, it's a case of ignorance. :)
The problem is conveying the value to someone with no foundation of knowledge to build on.
In this particular case I would use real-world examples of how your implementation is better. E.g. "If you decide to do XYZ or ABC or whatever down the road you can with my design because I've taken the time to analyze your needs and plan for the future. The site you're looking at would cost more in the long run because of the lack of forward-looking infrastructure."
That said, I would definitely see about partnering with a good graphics designer to make your site just as pretty (or more so).
Looks sell, ask any beautiful woman!
If the client thinks that the competitor's site is more visually impressive, maybe it is. The client is the boss; they are paying for the work. Sure, you may have a fantastic back-end, but if the site looks dreadful, the client -- and, to a large extent, the target audience for the site -- isn't going to care.
Maybe you should have spent half of your two months working on the front-end design...?
Not only a plumber would care a lot about plumbing when buying a house, but anyone whose home has been flooded and their property damaged.
The "blame" lies somewhere in the middle here.
Home buyers who don't care about the quality of the plumbing are just asking to learn the hard way.
People who want a website but want it quick (and without any maintenance system behind the scenes) are asking for trouble later when they can't keep it updated.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
... have a problem for every solution.
If you hate what you are doing, or are incapable, the only honest thing is to stop becoming vicitm and starve to death.
If somebody with enough education to be designing websites starves to death for lack of work, they deserve to starve.
Still I want to see proof that people are starving to death for lack of jobs in the US IT industry.
Whinning, whinning and whinning is the only think I see here....
IANAL but write like a drunk one.
However, to hopefully help you out of this mess, here is some light reading that you might find useful:
1) Read Don't Make Me Think (not on safari yet) by Steve Krug. It's the best web usability book out there and will take you all of two hours to go through. His usability testing alone would have found your problem earlier.
2) Read Eric Meyer on CSS(no safari) to find out how to make your site look better. If you can find/afford a designer, use them, but learn how to abstract your design from your code and your life will be much easier. (If you like it, there is More Eric Meyer on CSS (safari) as well.
3) If you're trying to do public sites, I've found Submit Now (safari)by Andrew Chak to be an excellent read. It's common sense, but its good to be reminded.
I hope this helps, and good luck salvaging the gig.
>> LIVE BY THE REQUIREMENTS.
Absolutely. But it is your responsibility to make sure the client understands what will be delivered when you meet the requirements. Part of your job is translating requirements-speak into client-speak.
After being burned (as the client) I learned to schedule a session whose only purpose is to have the client outline for the designers what he thinks the requirements mean. Tends to clear up a lot of confusion before the real work begins.
-- Slashdot: When Public Access TV Says "No"
Yes I've dealt with this one.
First, if your client doesn't appreciate what you are giving them, you are either giving them too much or not selling them on what you're giving them.
Giving them to much - there is no point in giving your client something they will not appreciate. If you can't get them to appreciate it, it's not worth your time to develop it.
Not selling them - If you are dead set on giving your client something they don't value, you have to convince them that they need what you are offering. This is an uphill battle, this can be a full time job.
They key is to find out what your client truly wants, and then build that for them. When a client doesn't know what they want, you're in big danger, those are the kind of clients who won't appreciate what you give them (they can't appreciate it if they don't know they want it) and who will come to you with new bizarre requirements late in the project (they feel they haven't asked for much up to this point).
---
I support spreading santorum
Put together a list of differences between what you are putting together and what is on the website in question. Make the list detailed as possible, things that are obvious to you are clearly not so obvious to them. E-mail the list in a polite manner to inform the client of the differences, and that yes, if they want to drop any of these features it will simplify and speed up the development process. Then they can decide if the extra features justify the extra time.
User error, execute?
hmm. maybe that should be someone else's job. this other person could take the specifications from the customer to the engineers, and then from the engineers to the customer.
wouldn't that make everything easier?
this is just a placeholder till i send back my real sig from the future.
Sure, if you've got the person. Whoever it is, they need to be conversant with both the client's business and the design business.
I've sat in more than enough unhappy meetings between client and software firms for this lifetime. Far too often, the customer is ticked off because they didn't get what they thought they asked for. When the techies respond, "That's the requirements said.", I know that they sent someone over to the client's office for half-a-day to ask questions and write requirements. The specs were massaged and passed to the developers, but the client didn't have a clue what they said or meant. Why? Because the software firm forgot how to run a business.
-- Slashdot: When Public Access TV Says "No"
Detailed System Requirements.
Worthless when you're dealing with websites for people who don't know about websites. People who have never had a site and are in the market for one, are looking for the "oh...neat" factor provided by graphics, not performance. They usually want cool looks and don't care much about the backend workings. It should work, but more, it should look impressive. So, the key for code monkeys is to work together with a graphic artist or the like. That way, you can just code and not worry about looks. That's what I do anyways....
You'll have that sometimes...
I have to disagree. I have done quite a bit of web work for my company. We are a software and engineering company, and these pages are used only by in-house staff. I have spent months writing backend applications, and minutes on the front end. Maybe they don't have any animations or massive visuals, but they are very functional and fast. If I was doing this for outside users, I would probably spend some time "prettying" (is that even a word??) it up, but nowhere near the amount of time I spent on the backend. I really don't think you 've worked on any large-scale web sites, or done web work that was for something besides just displaying stuff. We have 4 people here that do all of our backend web coding, and one who works the front end stuff, he spends a fair amount of time waiting for us to be done before he can finish up, not the other way around. I'm not familiar with the apps you mentioned, WebGUI or Zope, but I really don't believe they can do very complex custom tasks out of the box. Perhaps your point is true for certain types of web sites, but it certainly is NOT a factual blanket statement for all.
Take Care
Liberalism...the next best thing to thinking.
You hit the nail on the head when you said you're paying for the appointment -- you're not paying for a prescription. I'm a doctor, not a dispensary. Patients come to me for my interpretation skills, and my ability to "realign" their body. Sorta like a good mechanic. The customer comes in and says "something needs fixing, and I don't know what it is or how to fix it", not "I need oral doxycycline, 100 mg doses, enough for 7 days of twice-a-day dosage".
Web design is similar, in that you have a customer who doesn't know how to "make it happen", but they're certainly entitled to say what they want in the first place. Its up to the vendor (in this case the designer) to make sure they understand what the customer wants. And if designer thinks they know better, they better make sure that the customer understands and agrees.
A good analogy would be if you ordered something at a restaurant... you wouldn't want the waiter/waitress changing what you ordered or adding extra items without discussing it with you, would you?
Or, to return to the medical arena, if a patient came to me complaining about a sore throat, it would be wrong of me to do a gynecological exam, a CAT scan of their head, or anything not related to the throat issue -- unless I've expressly explained to the patient why I need to do additional procedures, and they've expressly consented. In fact, if I did, I'd expect to be censured, or possibly sued.
I was involved in a simulation project for a chain restaurant that saved them $54 million over the next few years according to their own computations. The first time we showed the simulation to the president of the company--and mind you, there was vast quantities of kick ass technology on display here--his only comment was that the icons for one of the food products didn't show enough cheese. Partner up with someone who likes to make things flashy. He'll bring in the checks and first-time customers, and your technology will bring the reputation and repeat business.
I wish I had clipped and saved the column I saw some years ago in a controlled-circulation publication, I believe it may have been Industrial Photography. It's a very old problem. The columnist described it as how to deal with the client who insists that you could save very large amounts of time and money if you would only provide just very slightly shoddy work.
His answer went something like this: "I am a professional. I am exactly as good as the last job I have delivered. All my work is of professional quality, always, and I do not compromise or scamp my work for anybody, ever, because that is not what professionals do."
He went on to say that a professional must never do shoddy work and must always be willing to risk his job when asked to. He argued that it was committing career suicide to ever have shoddy work in public view with your name on it.
One of the characteristics of a professional is a sense of responsibility to "the profession" and to fellow professionals, as well as to the person who is writing the check.
I expect to get flamed by replies from people who write checks or who have been indoctrinated by people who write checks, and I don't say he was 100% right, but there is an ethical dimension to professional work.
"How to Do Nothing," kids activities, back in print!
--I don't know why you got modded Troll, because I happen to agree with you. Sometimes a calculated "bluff" is helpful in these situations:
"Well sir, if you think my efforts so far are unsatisfactory, I can take what I've coded so far out of the system entirely and you can look into hiring someone else."
--Some of the time, they'll back down - because they've already invested (time, money, reputation, $intangible) in what's been done so far. If they don't, you wouldn't want to work there anyway.
.
== WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
"Okay, for $2000, the dog will walk through the hoop. For $4000, the dog will jump through the hoop. And for $6000, the dog will do a double-back flip through the hoop while juggling plates and whistling 'The Star Spangled Banner' through a body part not normally known for making music."
"So what will I get for $250?"
"For $250, the dog will look briefly at the hoop, and then go back to licking its balls."
Call it crude, call it poignant... but you'd be surprised how many people will go for the cheapest possible solution until you demonstrate to them how absolutely bad the thing they're asking for is. They don't even know how little qualified they are to evaluate wha they want.
You cannot truly appreciate Dilbert until you read it in the original Klingon.
Obviously, if you just give him the same thing as what that other site presents, he'll regret it. And, you'll regret it as it probably doesn't really cover his needs. You need to find out what he needs. Then, present it to him as a clarifying document so that he can see what you're doing for him, and if he agrees with it.
Use that other site as a base and start talking to your client about what he finds good about it. Then, find out what he finds missing in that site and yours (if you have something he can see). To fill in the puzzle of his needs, you need to pump him for requirements, and avoid giving him more sugar than he can handle. It wouldn't hurt to put together a diagram of his business process pertaining to the site. But, if you think it's overkill, at least put together a Functional Specification (really just a list of things he needs the site to be able to do) that describes what the site should do as part of his business. This can be the beginning of a contract that you and your client can come to agreement on, and anything else outside that contract is out of scope until the next revision. This will reduce some of the annoyance in dealing with a none-technical person who also happens to hold the purse-strings.
= 9J =