After 18 years managing many IT projects from small company to big ones in 3 countries, i have bunches of doubts and a real no certitude how to have a right journey and some certitude about why a project is failing.
The forecast in IT project is a nightmare.
Nobody can predict how long a taks will last.
All people presenting fixed deadlines are liers because they can't have a grip on the journey of their project.
You can only think in term of "big moment" detecting core elements which are the roots of all problems and all solutions.
Each project has this core that you can't miss.
Doing this core, you will succeed this project.
Merging this core in a demonstrative project management to allow the client to be happy during the creation process and you will lose.
Few part of the code produced is re-used.
It's false to say that the coders are producing code in the main case to be re-used by others.
A good study done by a friend of mine, Maxtime Topolov, a former CEO of a the 1st Drupal company in Europe - Adyax- now working with SMILE one of the biggest company in Europe (sorry in French)  shows that in this hundred of IT projects managed at the european scale, tons and tons of hours was lost recoding exactly the same thing for others clients.
It's the same in companies where i was coding. The temptation to re-code is always there, no matter of the reason why behind.
It is showing that the coder's world has no industrial mindset and perhaps won't never have.
There is by the way a great gap between industrial world and IT world and they are not really able to communicate each other.
We can't imagine that building a bridge can be done with different radical approach for the same goal.
People building bridges are learning the same things to produce the same results.
In the coder's world where shortage of talent is a reality , i did not see any mindset pattern between coders.
They are all producing a code that is reflecting their own soul.
They are closer to artists than to classic engineer.
And all methods that involve industrial process to master project manager fails.
Rigid taks with tons of list of gantt spread everywhere are not efficicent..they are only done because a project managed needs to do that to be considered as a project manager but who is caring about that ? when your Gantt is beginning to show a 50% variability, what is the subject of this Gantt ? who is serving what ? do the process is serving the project or the project is serving the process ?
We can then begin to think that IT world is closer to Artist world than "bridges" world and skills needed to succeed are closer to artistics's ones then pure ingeneer ones.
Its' creativity controlled by logics triggers.
To be continued....