1. Asking for more money on a botched fixed bid.
Many developers work on a fixed bid or max cost basis. Let’s face it, sometimes even the best of us make bad quotes and occasionally you might make a really bad quote (this doesn’t include out of scope work). So, what should you do if this situation arises?
You have given your word and you may have even put it in writing. Don’t risk your client’s trust. Take the hit and work under your original quote. However, make sure your client knows that you’re putting in that extra mile for them without throwing it in their face.
2. Taking on projects you can’t handle.
We all do it. We may not have the experience with something, but that doesn’t mean we can’t do it. In many cases we do have the ability to do it and it turns out to be no problem at all. For the sake of this argument, we’re talking about projects that you know are over your head, but you still take on anyway. These can often end in disaster. So, what to do if I come across one of these projects?
You have a couple of options here: First, subcontract someone who does have the experience and have them assist or do it for you. Or, refer the project to colleague who does have the experience for goodwill or a finder fee.
3. Selling your client something they don’t need.
Shame on you! You should always have your client’s goals and best interests in mind. Selling your clients something they don’t need is just plain wrong! Don’t be that company.
4. Using Joomla! for a project that isn’t the right fit.
Yes, I love Joomla just as much as you do, and I am a one of its biggest evangelists. Let’s face it though, there are some things that Joomla just isn’t good at or may not be cost effective for. If it’s not a good fit, it will ultimately blow up in your face. How will your client succeed when their competitor is using a better solution. How will it make you look when they find out?
5. Fix your mistakes.
Your project has launched successfully. It’s been a month or so and your client comes back to you and has noticed some mistakes you have made, maybe it’s a big one. What to do?
Fix it. Now we all know about providing “forever” support which none of us wants to do. Instead create a warranty period, say 90-days, and provide fixes within that period. Also, something critical that you royally screwed up may require going outside of your warranty period. After all, your client should get what they paid for.
The situations above can be complex and typically are centered upon profit; therefore it makes these decisions some of the most difficult to make. However, you must look at the long-term effects of your decision and what is right and fair for your client.
Is potentially losing your client or receiving a bad review or red mark on your company’s reputation worth it? Instead, consider these situations as learning opportunities, and remember that your decisions don’t just affect your company, they affect our entire industry's reputation.
What are your thoughts and what other key ethical items would you suggest?