|
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:
-
Sales
-
Project Management
-
Software Developers
-
Customers (Internal for
product development companies, external for consulting)
-
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.
|