Every year there are literally dozens, hundreds, possibly even thousands of software projects that fail. The projects that fail range in scope and price. Project efforts of a few hundred dollars to the behemoth project of tens or hundreds of millions of dollars. These projects follow known problematic approaches that are outlined extensively with anti-patterns and other various books about things like the software development Death March.
There is one underlying concept that is lacking in project failure; there is no agility to the process. It’s to rigorous, to whatever. The really awesome and downright cool thing about software development is that IT DOES NOT HAVE TO BE THIS WAY! I was just reminiscing about one of my past jobs that was saved from its death march status of sick anti-patterns. The solitary agile method used was postponing, not even on purpose, the actual method for application deployment. The amazing thing is that it all started from a last minute disappearance of money.
I was working at a particular consulting entity called PSI Net Consulting Solutions. They had been working on the MACWIS Project for the Mississippi Department of Human Services. The project was horribly behind, all types of things had slipped, but because of budget cuts and quick thinking on the part of the project workers some streamlined usage of Citrix and other tools where used at the last minute to save hundreds of thousands of dollars and finally get the application deployed. This Government project was brought home for me recently while beginning to read the book “Lead Software Development – An Agile Toolkit”. In the introduction of the book a speech is mentioned where Jim Johnson, chairman of the Standish Group told about how Florida and Minnesota developed their respective WIS (Welfare Information Systems) and how one state got it right and the other went through a horrible non-agile, very un-lean approach. The difference being a 200:1 improvement. One project lasted well past 10 years and exceeded 230 million dollars, the other cost 1.1 million and lasted a little longer than a year.
The basics of this post is that no matter how proven lean process, elimination of waste, and other methods are, they still get ignored. But I must move away from this topic for just a minute and drive home another, far more important point. Even though there is so much attention paid to process, to control, to the “method”, the fact of the matter is it all boils down to the team, the individuals and their respective abilities and the ability of management to line those people up with their strengths. Sometimes people don’t have particular strength and they need moved out of the project path to assure success. As they say it only takes one bad apple.
No matter how good the method is, without the right people it will fail. This is another point of strength for agile. The reason I say that is agile attracts the people who want to succeed, that understand how things generally work, and those that really push for agile usually have seen what it can do. Agile lean or whatever you call it. Get strong individuals who can take the elements of whatever agile methodology and make it as lean as possible. Generate code, refactor, clean up previous code messes, don’t make sphagetti. Focus DB Gurus on the DB, get the coders on in the code, get the BAs talking to customers and so on and so forth.
To be lean, you gotta make sure the people you have are the right ones for the job. Without the right people, even lean and agile process is nothing but a death march.