Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Repeat Business obviously happens because the company has a great product or a great service.

In the software industry, do companies make the code base complex enough so that the maintenance comes back to them?

I have heard of cases where companies say "ya this code base has minor errors, let's ship them anyway, and let the customers come back for another change request on these". Then they would sometimes charge the customer for that.

This question is specific to the software services industry. Do these things happen in the real world? I am trying to understand the business process.

share|improve this question
add comment

4 Answers 4

up vote 3 down vote accepted

For a proper definition of repeat business, read jmort253's answer. Great answer (+1).

Do bad practices happen in real life? Of course they do. Are they generalised? No, not really. But the boundary between good and bad practices is not strictly speaking black and white.

I know of many suppliers of software and services that will very easily cry wolf for every tiny little change from the customer. Of course it is a change and therefore there are costs associated. But I have to say some are milking it in a fine way. Is it stealing? No. Is it a bad practice? Not really. Is it questionable? Certainly. There are cases when clients are taken advantage of (in some not always quite so apparent lock-in situation).

These lock-ins happen for various reasons, just to name a few :

  1. long history with a supplier,
  2. high cost of entry for new suppliers,
  3. established know-how,
  4. established relationships (and therefore communication is efficient, company responsiveness is better than starting something new with all the unknowns newness brings),
  5. binding contracts or clauses of exclusivity,
  6. monopoly.
share|improve this answer
add comment

Repeat business is defined as follows:

business from satisfied customers: further patronage that a business receives from customers who were happy with their previous service from the business

If you're charging your customers for fixing bugs in your software or are otherwise placing deficiencies in the code base to create work for yourself, then you are essentially stealing from your customers.

You may make some money doing this, but don't expect it to last. Every fraud is eventually exposed. The best case scenario is you just lose clients while the worst case scenario could involve potential lawsuits or criminal fraud charges.

Don't even think of doing it. You're a professional, and your job is to build quality products and earn the trust and respect of the people you do business with.

share|improve this answer
1  
+1 - but of course you have to ship sometime, which means you have to ship imperfect. There's a fuzzy area where intent can only be guessed by most people. What people believe doesn't always correlate that well with reality. I'll bet some people think "whatever I do I'm going to do the time, so I may as well do the crime". –  Steve314 Feb 27 '11 at 7:59
    
+1. The key to repeat business to make a venture truly successful is when your customers are satisfied enough to recommend your services to new customers, thus expanding your client base. –  Jimmy Feb 27 '11 at 8:05
    
@Steve314 - Agreed! Shipping with bugs or with an imperfect product is a business decision to engage the market early, and I support this 100%. But doing so with malicious intent or to intentionally treat bugs as "change requests" is just unprofessional and cheap. –  jmort253 Feb 27 '11 at 8:48
add comment

The thing to understand is that in any business relationship finding the customer is often the most difficult and expensive part. So once you have him it pays to try to get a 2nd or 3rd order from that customer. Or to get him to add on to his order. Ever wonder why fast food joints ask you to supersize your order? Thats why, they get more profit out of it.

In a programming example it might be as simple as calling your old clients and asking them if they have any new needs (which is good practice). As if they have already worked with you they know how good you are and will have more confidence that you can do their work for them.

share|improve this answer
add comment

In my experience the issues you describe don't happen.

If they did then word would get around and your competition would overtake you and you would be out of business.

You get more "repeat business" if you produce software which works and is on (or close to) budget and is on (or close to) time. To try and do anything else would be completely unprofessional and should be avoided at all costs.

share|improve this answer
    
It is unprofessional, but it certainly does happen, a lot. –  Orbling Feb 27 '11 at 8:57
    
@Orbling - I bet is happens alot, but in my experience (limited as it is) I have never seen it happen –  Scott Sellers Feb 27 '11 at 9:11
    
May that continue for many years, from the eye of a developer, it is grossly unpleasant. –  Orbling Feb 27 '11 at 13:42
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.