“We know what good practice is. But it still doesn’t get done.”
The problem with failed projects lies not in the lack of standards but the lack of project management skills in applying them and educating the developers, says De Luca.
De Luca has over 20 years’ experience in high level project management, design and troubleshooting, with IBM and in his own consulting practice Nebulon. He has designed and developed software for IBM operating systems and has worked as an architect, project manager and systems strategist on many projects around the world. He was in New Zealand at the invitation of Borland.
“A lot of project managers don’t realise that an important part of their function is to educate, and that means educating up and down — the developers that work under you and the [line] managers [in the user organisation].”
Management can sometimes be a significant glitch in achieving those elements of best practice that are universally accepted, such as consulting the users early on their needs and expectations.
“When management says they can’t allow us access to the users, we think of Dilbert [Scott Adams’s satirical comic strip on office life] and we say ‘Isn’t management funny?’ But [if we let that happen] we are Dilbert.”
Simplistic management regulations like “We can’t spend more than $1000 a day on a consultant” also act as an obstacle, De Luca says.
“If I were to give only one piece of advice it would be to get help from someone with proven expertise in any area where you’re not confident of your own skills. Don’t be frightened off by a consultant’s daily rate; if they’re good they’ll get the job done quickly and you won’t have to have them around for long.”
Outside advice is particularly valuable if, like many development shops, you are making a major change in techniques and technologies.
“If a Visual Basic shop is moving to .Net and they’ve not done object-oriented work before, they have to realise it’s a very different approach; get some help.”
The structure of the information processing system under development is inevitably analysed in considerable detail, but there is often no equivalent analysis of “the system that is used for building the system,” De Luca says.
When a project fails or falls behind schedule, the organisation often does a causal analysis to uncover the weaknesses in the development process; but after a successful development, they seldom go through the same analysis, asking “what did we do right?” It’s an analysis that needs performing more often.