Despite major advancements in Information Technology (IT), software development world wide remains an immature industry and recent statistics substantiate this viewpoint: Rework on software projects exceeds 40% of the overall project work effort; Requirements errors cause over 60% of defects in delivered software; "Project success rates have increased to just over a third or 34% of all projects. This is a 100% plus improvement over the 16% rate in 1994. Project failures have declined to 15% of all projects which is more than half the 31% in 1994. Challenged projects account for the remaining 51%."
Discovering reasons for this state of the industry is not difficult: some of which can be specified as the rush to begin programming before requirements are complete, over-optimistic estimates of delivery capability, undocumented assumptions between customers and programmers, moving project targets. In isolation, the figures account for billions in unrecovered investments. But, when coupled with "Better, Faster and Cheaper" market pressures to get software out faster and at lower unit costs, the situation can only get worse. Quality suffers when the governing market demands for Faster and Cheaper software prevail. What can be done to turn theses statistics around and still meet demands for Better, Faster, Cheaper software? A promising new breed of specialized models, tools and methods is emerging collectively and is referred to by the phrase collaborative engineering. "Complex design and development processes such as software development, semiconductor design, automobile engineering and aerospace design, often rely on the combined efforts of professionals across the globe. To complete projects quickly, team members must be able to exchange design databases rapidly and reliably, and also programming code and other large files. Lengthy time of delivery or interruptions can delay production schedules and erode profits." |