RSS feed
Home | 02 March 2007 >>

Sucess and failure

.. or why do some projects fail and some dont.

There must be millions of developers out there, sitting behind their screens
and creating millions of millions of lines of code each day. Projects get
planned, evolve, get abandoned, become a success, or simply continue to go on
forever.

I've worked in numerous projects, covering all states of a projects lifecycle
and all the expected or unexpected results, from big successes to awful failures.
And yet, still I wonder: What makes a project a success?

Is it the number of hours spent in planing everything?

Well, I guess not. Sitting in meetings or offices producing piles of paper is no
guarantee for success at all. The initial planning is good to establish a common
idea of what the project aims for, what the customer wants, which requirements
must be met under all conditions and what is deemed to be unacceptable.

But spending your lifetime drawing funny diagrams or plans does not solve
anything. Reality is a harsh mistress, and most plans dont survive the first
rendezvous with her.

Instead of planning, I prefer to call these things 'coordination sessions'.
Finding a common set of rules and throwing ideas around is the best way to
unite the team for the grand task.

Is it the amount of resources put into the project?

I have yet to meet a developer (or any professional worker) who said that they
have more than enough resources for all of their task. OK, you can throw money
at almost any problem, and sometimes this can make a big difference. But you
can't throw time at the project in the same way. If the project is allowed to
spend any amount of money they want, then this usually means you have to be
done with the project yesterday.

Having too less funding may kill a project. But having to much funding does
not guarantee success. There must be something else.

Its not the how: Its the who, that counts!

In my humble opinion, a project's success is tightly coupled to the people
involved to it. The common project has three main stakeholders: The customer,
who is interested in the results. The management, who want to make profit while
helping the customer. And finally, the workers and developers, who do the dirty
work for the other ones.

If one of these stakeholder groups does not believe in the success of the
project, you won't see success. But in a commercial world, believing in the
project needs a lot of faith. At some point, all stakeholders have to trust
each other on that point: A developer won't be motivated, if the customer or
management actively acts against the project (or the results, or just some
more or less unimportant detail). A customer will loose its faith very fast
if the result does not address his needs at all. And the common management will
bail out as soon as there's something unexpected happening, that endangers the
(always to low) profit.

There is no guarantee for success anywhere in the world. But there are some
indicators that help you choose the right path: Seek partner whom you can
trust, who believe in the project and show the right amount of passion to
overcome the obstacles your projects will encounter one day or another.

So maybe success is all about trust, faith, and passion.
Tags :