On Saturday 15 Nov 2003 11:37 am, Ashley wrote:
Here is my own perspective on this. From reading the Guardian article, the problem appeared to be in the management of the project, not in the work done by software engineers (engineers can only work with what they are given) :
Poor management?! Never!
The MPs' report found: "The department... ran a poor competition, attracting only one bidder, and it failed to take decisive action when ICL did not deliver what was required. For its part, ICL did not understand the department's requirements, took on excessive risk and underpriced its bid."
A software contractor not understanding the requirements?! Never!
You will be surprised on the amount of 'administrative' overhead there is on these projects. With a project to "put all the nation's magistrates courts on one computer system", you are talking about a communication nightmare in attempting to understand and then recommend, and get approved, a solution that satisfies enough people involved in the project. I've only been involved in small scale projects of this type of work, and the amount of meetings required to make sure everyone gets their input drives you mad.
I've recently been involved in a project involving our company that involved ordering of products by SMS being promoted via accessories in retail outlets. Our side has been 90% technical, 10% regulatory (legal advice/approval), while the client has also involved another company for the marketing issues. Project manager our side has been me (developer, bad idea), project manager clients end has been a developer (bad idea), and I have no idea who's in charge of the marketing company. The three-way communications has been a nightmare.
I think the advantage of basing the project on free/open source (with it's open and well-documented standards), would be that when ICL f**ked up, another company could have stepping in and worked on *what they had already done*, instead of starting from scratch again. However, this would be dependent on what type of contract was signed, etc.
I have to say I think you are addressing the wrong point there. Regardless of what software they used and developed the underlying problem is that unless the management and software developers actually spent time doing the jobs the people receiving the project deliverables do, they cannot possibly have any idea what it would need to be a success. Understanding the needs is in most cases a critically flawed procedure because management never want to spend the time and money on it, then complain when it runs over-budget needing the third re-write before it is finished.
Unfortunately, the UK Government appear to be a complete disaster when it comes to handing out software projects.
I happen to have heard (read: not seen first-hand) enough outsourced projects that have delivered nothing like what was expected of them to have a very dim view of such contracts indeed. When a project is needed, the organisation really must hire the staff internally to do it, have them spend a lot of time working alongside the people to use it, then continue to work alongside them during development to get more experience and get feedback.
The idea of saving money by outsourcing saving money because you're not hiring the staff yourself appears to be a completely mad one.
I'm betting the number of failed or cost-ineffective projects exceeds the number of successful and reasonably within-budget projects at least 5-1.
My thoughts anyway.
James