Software development is a complex problem-solving activity with a high level of uncertainty. There are many technical challenges concerning scheduling, cost estimation, reliability, performance, etc, which are further aggravated by weaknesses such as changing requirements, team dynamics, and high staff turnover.
Thus the management of knowledge and experience is a key means of systematic software development and process improvement.
Managing Software Engineering Knowledge illustrates several theoretical examples of this vision and solutions applied to industrial practice. It is structured in four parts addressing the motives for knowledge management, the concepts and models used in knowledge management for software engineering, their application to software engineering, and practical guidelines for managing software engineering knowledge.
This book provides a comprehensive overview of the state of the art and best practice in knowledge management applied to software engineering. While researchers and graduate students will benefit from the interdisciplinary approach leading to basic frameworks and methodologies, professional software developers and project managers will also profit from industrial experience reports and practical guidelines.
Review By: James E. Diefenbach 09/29/2004
"Managing Software Knowledge" focuses on the combination of management techniques from the management and engineering communities to form knowledge management. The book suggests utilizing documented experiences and knowledge to improve a process; take full advantage of a knowledge repository when solving or preventing problems.
The subject matter is professionally laid out in a logical order. The book highlights the management of software engineers, investigations into software development processes, the use of Internet tools to manage knowledge, and the construction of a knowledge repository. A set of practical guidelines for managing software engineering knowledge is also provided. The straightforward writing style is comparable to that of a college-level textbook.
I was happy with the book's focus on the combination of management techniques. I was previously not aware of knowledge management in terms of packaging, managing, and re-using old knowledge, so I was pleased to be enlightened. The author carefully expanded all key concepts creating a wealth of information. This book is applicable to anyone going into the QA field or software test organization.