Official BV Software Blog
New, Updates and Anything else we find interesting

If you're late paying your cable TV bill your credit card payments can go up!

March 25, 2008 11:48 by mmcconnell1618

I've got a love/hate relationship with credit card companies. On one hand credit cards make it easy for BV to sell software over the internet. On the other hand chargebacks and fraud with credit cards is a royal pain with limited protection for merchants. I watched a great episode of Frontline on PBS about the Secret History of Credit Cards.

The most surprising revelation was that most credit card contracts include a clause called "Universal Default." Basically, if you make a late payment to any other lender or company the credit card issuer can automatically raise your interest rate. If you're on vacation and forget to pay Comcast on time your Visa interest rate can jump from 18% to 25% without warning. 

Credit card companies are the only lenders that get to decide how risky you are when they issue you credit AND change their minds about how risky you are later too. My bank doesn't get to raise my mortgage payments because they think I'm riskier now than when I signed up for my mortgage so why should credit card companies get that ability? Sounds like a huge loophole that lets credit card companies jack up your rates almost at will.

Anyways, if you found this interesting you can watch the whole episode online


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

How NOT to handle a long term consulting contract.

February 22, 2008 21:21 by mmcconnell1618

Last summer BV Software took on a large custom programming job for a social networking site targeting baby boomers. It was a great opportunity to expand our consulting services with a 6 month long project. Long term contracts are a great way to keep programmers busy and expand our team. The project didn't turn out as planned...

I've been in the software business long enough to know that you can promise hours or you can promise functionality when creating custom programs. If you promise functionality without limit on hours you have to be absolutely sure that you can deliver the project in less time than the cost of your resources will eat up. This turns out to be a difficult problem. Steve McConnell (no relation to me) has a great book on Software estimation and the challenges involved. Most clients are not willing to pay up front for the hours required to fully document and understand a problem before any coding begins. If you don't fully understand the problem you're trying to solve it is impossible to put a fixed cost number on it.

So that leaves contracts that sell hours of time. This particular long term contract promised 400 hours of time over a six month period. We estimated how long several tasks would take and gave the client an idea of what we thought those hours would cover. 

This client was fairly high profile and we worked like dogs to help them meet their launch deadlines. However, like most projects, the requirements were constantly changing. We got request to change tax and shipping algorithms for or five times. We got requests to manually go into the database and change the pricing of one or two Harry Potter books! We were sent several conflicting designs and layouts that all had to be integrated "today or else!" There were last minute additions of flash product carousels and finally, the biggest change request of all: "Our site needs to be as fast as Amazon.com with all the same features and 5 million products. You have four weeks." The client expected to accomlish all of this for less than $50,000 working nights and weekends on an unrealistic deadline.

Needless to say we burned through the 400 hours pretty quickly. That's were the real problem began.

The client had known all along the hours were ticking away. We sent detailed status updates and let them know that we needed to extend the agreement or we had to stop working. We delivered the site, working as originally expected on time in the 400 hours budgeted. The client had paid their bills while we were working but as soon as the code was delivered all payments stopped.

I had made a huge mistake because I allowed our team to work through the 400 hours in about 2 months time. The client had paid for two months but still owed for the remaining 4. With the code in their hands and no more hours to use they simply felt entitled to stop paying us.

Fortunately, I was experienced enough to insist on a contract of hours over features. That means the client is in breach of contract no matter what was delivered if they don't pay. We'll see how everything turns out now that it's going to litigation. I fully expect to collect what's due including court costs and punitive damages but it's not a process I wanted to deal with. 

Even with all the frustration there is something valuable to gain. It was a mistake to offer so much credit to a client. It was a mistake to work an unrealistic schedule just to please a client. It was a mistake to deliver source code with so much of a contract not paid off. I know that the knowledge from this experience will help with our future consulting jobs just like selling hours instead of features helped with this one.

 


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5