Embracing knowledge and behaviour management to improve performance of software intensive projects
Many reasons have been offered to explain why software projects fail. Still, software intensive projects often present schedule delays, cost overruns and delivering products with reduced functionality. This paper argues that lack of knowledge is yet another factor that causes projects to under perform, which in turn drives undesirable social behaviour that worsens the situation. Software intensive projects develop solutions highly dependent on software that should satisfy a need. The engineering process to develop such complex solutions comprises of a series of transformations that transform products from one domain into products in another domain, requiring knowledge pertinent to both input and output domains. Complex products call for knowledge that may not be available, is often distributed amongst people and organisations and involves learning and cooperation. The engineering of software intensive systems, in particular, frequently adopts techniques that abstract complexity and hide details that reveal, too late, a lack of knowledge in earlier transformations. When knowledge is not applied as required, distortions propagate throughout transformations producing solutions that will not satisfy the need and require rework that increases costs and delays schedules. Software intensive projects may fail because of lack of technical knowledge to engineer the solution, and lack of management knowledge to recognise and plan for this deficiency. When projects are not performing as expected and interests are at risk, decisions are made within constraints that are unlikely to address the lack of knowledge, which often produces undesirable social behaviour that decreases motivation, discourages learning and cooperation and worsens the situation. The paper concludes proposing the adoption of project specific knowledge and behaviour management to improve the performance of software intensive projects.
Peculis, R., Rogers, D. & Campbell, P. (2007). Embracing knowledge and behaviour management to improve performance of software intensive projects. Systems Engineering/Test and Evaluation Conference: Proceedings (pp. 1-8). Systems Engineering Society of Australia.