Library columns
Pro Developer - Throwing Money Out the Window
- Introduction
- Corporate Waste
- The human factor
- What if programmers were in charge?
- Credibility
- A new set of priorities
- Incremental successes
- Advertising
- Enjoying the benefits
What if programmers were in charge?
The other side of this coin is that had our recommendations been heeded, a huge amount of this waste would have been averted. Either the disaster would never have taken place, or time and money wouldn't have been wasted on a project that was obviously never going to see fruition in the first place. So the real question is this: how do we convince our superiors to trust us and follow our lead in the arena we know best?
There is no single silver bullet that will solve this problem. People are complex creatures, and you can't expect to deal with them successfully without taking a number of things into consideration. However, I want to touch on something here that is an important consideration if you truly wish to effect change in your organization: credibility. It might surprise you to learn that in the scenarios and conference room skirmishes I've just outlined, we have none.
What's that you say, how could we possibly have no credibility when we can
list disaster after disaster in our own defense? Simple. Those disasters, all
those failed projects you can list at the drop of a hat? They were all our fault.
Yes, you heard me right. From management's perspective, the reason they failed
was not because the task was illogical or impossible. It failed because the
programmers simply didn't get it done. Where else could the blame possibly lie?
You certainly don't expect management to take the heat, do you? How do you think
they got to be managers in the first place?
Design Specification Extreme Pro
Project management is a sophisticated science. A new emerging discipline in software engineer called Project Management Principle (PMP body of Knowledge) takes systematical approach to solving some of the common problems associated with software failure.
In reading the article I reflected on some of the PMP principles such as scope, stakeholder buyoff, activity planning, and risk management. The flow of PMP is to complex to demostrate in this response but definately most software fails because of lack of planning and design.
I used the PMP model while working as an outsourcing SPA. I found it took 95 percent design and planning and 5 percent code to complete the project. Software development is that political. The technical risks rarely inhibited the release of a program. Object orient technologies and database technologies are extremely flexible.
The real challenge is to bring the business model into focus: business requirements, assumptions, constraints, required resource, and scope (budget, time, resource). The PMP way advocates increased CMM levels to achieve its objectives.
Let say extreme programming principles can fit inside a PMP framework. The PMP framework is designed to produce documentation that brings the business teams into focus and scope. Deliver a product with exactly the desired features wanted, no more no less.
In short, I sympathize with the authors fustrations, but a more beautiful design exists to reduce lose and fustration. Management incompetence is an enemy, but systematic approaches can reduce risk of failure. Let the failure occur on paper first. Using PMP, I had a few project halted because it didn't fit the business needs. The cost was minimal because it was a documentation cost. I recommend, One analysis handling manage numerous development projects, flexibility and cooperation among the team members, and customer center methodologies. Resource matrixes provide availability schedules and extreme programming principles ensure reliability and reuse. Consider this as an approach to reduce fustration.
This thread is for discussions of Pro Developer - Throwing Money Out the Window.