Crisis Response and Management
The authors analyze the nature and root causes of the software development crisis which started in the 1960s and, as some researchers argue, is still present. The crisis resulted from a number of factors, which included technological ones and human-related ones. The first group of factors originates from technical complexity, while the second one results from management complexity of the software products. Software production involves multiple sides with clearly different expectations and goals. In a crisis, efficient managing of these human-related factors becomes mission-critical. Communicational misconceptions between the sides often result in a software product which may not meet the clients’ expectations. To manage this software delivery crisis, the authors recommend an optimization strategy for the technical and human factors by means of software engineering models, methods, techniques, practices and tools. This strategy includes risk management models, agile methodologies, system-level architectural patterns, an informing process framework, and a set of knowledge transfer principles. This strategy, if applied systemically,
should essentially help to optimize the software development process and to manage the crises of software production.