Failure in Software Development - Part 1 
Sales
(Management Series)

This is the kind of writing that can make you lose your job.  But what the hell, someone has to say it, so I might as well be one to do so.  I think we will all agree that there is no shortage of software development methodologies.  There are a gazillion books on various processes that should be followed for producing software.  Yet software development in my experience and the experience of most developers I know is at best a disaster.  Why?

Are all those authors and process gurus so wrong?  Is there no truth to software development methodologies?  From the traditional SDLC, to RUP, to XP, to Scrum, the list goes on and on.  And yet each methodology seems to fail.  Whats wrong with them?  The answer is, nothing.  All these methodologies are perfectly fine.  We may have a preference of one over the other but they will all work. Ahaaa! yet we have never seen them work.  What gives?

In this article I hope to identify what, in my opinion, is the cause of poor success rates in software development.  It should be noted that I am no researcher and that this writing is not academic in nature.  Everything written here is based on my experience over the past 15 years or so and the experiences of friends in the same business.

Through all my jobs (consulting and product development) I have learnt that there are five major groups of people who end up being responsible for the failure of a software development project.  These are:

  1. Sales
  2. Project Management
  3. Software Developers
  4. Customers (Internal for product development companies, external for consulting)
  5. Overall corporate management that is responsible for all of the above.

You may laugh and say "this guy has listed everyone."  That is true.  The blame goes everywhere.  But lets take a look at why.

 

Sales

Many years ago in an interview for entrance to a B School in India the interviewer asked me to sell her a cheap $1 pen for $10 as a test of my business skills.  A lousy test if you ask me, but none the less I attempted to make the sale.  I told her if she bought the pen for $10 I would offer her as an incentive $200 worth of high quality paper for free.  She laughed and said I had no business skills as my sale was a loss maker.  To which I responded "you asked me to sell, not to make a profit."  Needless to say I did not get selected by that school.

Years later as I work in the technology field I seem to observe that majority of sales of custom application development is done using same lousy concept I attempted at the B School interview.  What I am about to write may not hold true for all organizations but it sure does hold true for every company I have worked for and every company anyone I know has worked for.  So before you start by saying this is not how my business runs, THINK AGAIN.

  • Most companies incent their sales force by providing bonuses based on sales.  Not delivery, just sales.  So the sales force focusses at making making a sale at "all" costs.  The more they sell the more they make.  Once sold the burden of delivery is someone elses.
  • Most companies do not do a good analysis from a legal and from a technical/product scope point of view.  I have actually seen a fixed price contract that said work will be completed when the customer is satisfied.  Exactly what is the definition of a satisfied customer?  Needless to say the company I worked for at the time took huge (I will not go into numbers) losses on this single contract.  The sales person, however, did get a bonus for the sale.
  • Sales often include delivery dates that are pulled out of someones hat.  Something has to be wrong here.  How do you apply various software development processes to build an undefined enterprise level application and deliver it on a specific date?  Customers often have deadlines for whatever reasons internal or external to their business.  Sales often blindly promises to deliver on or before that date without any proper due diligence.
  • Good sales people are worth their weight in gold.  No matter how much you try to explain to the champion sales person or to corporate management that the sales practice is wrong you will not succeed.  Once a sales person came to me to make sure a new feature is added to the product that was now in its testing stage and just 2 weeks away from delivery to the customer.  I told him it was impossible to do what he was asking.  He said he gave his word to the customer and that his reputation was at stake.  You may laugh, but senior corporate management agrreed with him.  We put in 20 hour days delivered  the product a few days late with a few bugs all as a result of this last minute feature.  The entire development team was yelled at for poor performance.  The sales person, of course, got his bonus.

So before talking about RUP or XP, software consulting companies need to start focussing on sales.  Nothing in the business world runs in isolation.  Bad sales practices will, without any doubt, result in bad software, bad delivery, and bad customer experience.  So get a strategy in place and actively manage the sales process. 

Selling is not important, making a profit is.  Get it?  I doubt it :-)

Now lets move on to Project Management.


|My Home| |Tech Talk|