Experience and Knowledge Management in Software Engineering


Book Description

Nowadays, there is software everywhere in our life. It controls cars, airplanes, factories, medical implants. Without software, banking, logistics and transportation, media, and even scientific research would not function in the accustomed way. Building and maintaining software is a knowledge-intensive endeavour and requires that specific experiences are handled successfully. However, neither knowledge nor experience can be collected, stored, and shipped like physical goods, instead these delicate resources require dedicated techniques. Knowledge and experience are often called company assets, yet this is only part of the truth: it is only software engineers and other creative employees who will effectively exploit an organisation's knowledge and experience. Kurt Schneider’s textbook is written for those who want to make better use of their own knowledge and experience – either personally or within their group or company. Everyone related to software development will benefit from his detailed explanations and case studies: project managers, software engineers, quality assurance responsibles, and knowledge managers. His presentation is based on years of both practical experience, with companies such as Boeing, Daimler, and Nokia, and research in renowned environments, such as the Fraunhofer Institute. Each chapter is self-contained, it clearly states its learning objectives, gives in-depth presentations, shows the techniques’ practical relevance in application scenarios, lists detailed references for further reading, and is finally completed by exercises that review the material presented and also challenge further, critical examinations. The overall result is a textbook that is equally suitable as a personal resource for self-directed learning and as the basis for a one-semester course on software engineering and knowledge management.




Software Architecture Knowledge Management


Book Description

A software architecture manifests the major early design decisions, which determine the system’s development, deployment and evolution. Thus, making better architectural decisions is one of the large challenges in software engineering. Software architecture knowledge management is about capturing practical experience and translating it into generalized architectural knowledge, and using this knowledge in the communication with stakeholders during all phases of the software lifecycle. This book presents a concise description of knowledge management in the software architecture discipline. It explains the importance of sound knowledge management practices for improving software architecture processes and products, and makes clear the role of knowledge management in software architecture and software development processes. It presents many approaches that are in use in software companies today, approaches that have been used in other domains, and approaches under development in academia. After an initial introduction by the editors, the contributions are grouped in three parts on "Architecture Knowledge Management", "Strategies and Approaches for Managing Architectural Knowledge", and "Tools and Techniques for Managing Architectural Knowledge". The presentation aims at information technology and software engineering professionals, in particular software architects and software architecture researchers. For the industrial audience, the book gives a broad and concise understanding of the importance of knowledge management for improving software architecture process and building capabilities in designing and evaluating better architectures for their mission- and business-critical systems. For researchers, the book will help to understand the applications of various knowledge management approaches in an industrial setting and to identify research challenges and opportunities.




Knowledge Engineering and Management


Book Description

The disciplines of knowledge engineering and knowledge management are closely tied. Knowledge engineering deals with the development of information systems in which knowledge and reasoning play pivotal roles. Knowledge management, a newly developed field at the intersection of computer science and management, deals with knowledge as a key resource in modern organizations. Managing knowledge within an organization is inconceivable without the use of advanced information systems; the design and implementation of such systems pose great organization as well as technical challenges.




Guide to the Software Engineering Body of Knowledge (Swebok(r))


Book Description

In the Guide to the Software Engineering Body of Knowledge (SWEBOK(R) Guide), the IEEE Computer Society establishes a baseline for the body of knowledge for the field of software engineering, and the work supports the Society's responsibility to promote the advancement of both theory and practice in this field. It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the knowledge that has been developing and evolving over the past four decades. Now in Version 3.0, the Guide's 15 knowledge areas summarize generally accepted topics and list references for detailed information. The editors for Version 3.0 of the SWEBOK(R) Guide are Pierre Bourque (Ecole de technologie superieure (ETS), Universite du Quebec) and Richard E. (Dick) Fairley (Software and Systems Engineering Associates (S2EA)).




Encyclopedia of Knowledge Management, Second Edition


Book Description

Knowledge Management has evolved into one of the most important streams of management research, affecting organizations of all types at many different levels. The Encyclopedia of Knowledge Management, Second Edition provides a compendium of terms, definitions and explanations of concepts, processes and acronyms addressing the challenges of knowledge management. This two-volume collection covers all aspects of this critical discipline, which range from knowledge identification and representation, to the impact of Knowledge Management Systems on organizational culture, to the significant integration and cost issues being faced by Human Resources, MIS/IT, and production departments.




Knowledge Management


Book Description

Provides comprehensive, in-depth coverage of all issues related to knowledge management, including conceptual, methodological, technical, and managerial issues. Presents the opportunities, future challenges, and emerging trends related to this subject.




Managing Software Engineering Knowledge


Book Description

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.




Human Factors in Global Software Engineering


Book Description

More software engineers are likely to work in a globally distributed environment, which brings benefits that include quick and better software development, less manpower retention, scalability, and less software development cost and sharing of knowledge from the global pool of employees. However, these work environments also introduce a physical separation between team members and project leaders, which can create problems in communication and ultimately lead to the failure of the project. Human Factors in Global Software Engineering is a collection of innovative research focusing on the challenges, issues, and importance of human factors in global software engineering organizations in order to help these organizations better manage their manpower and provide an appropriate culture and technology in order to make their software development projects successful. While highlighting topics including agile software, knowledge management, and human-computer interaction, this book is ideally designed for project managers, administrators, business professionals, researchers, practitioners, students, and academicians.




Working Knowledge


Book Description

This influential book establishes the enduring vocabulary and concepts in the burgeoning field of knowledge management. It serves as the hands-on resource of choice for companies that recognize knowledge as the only sustainable source of competitive advantage going forward. Drawing from their work with more than thirty knowledge-rich firms, Davenport and Prusak--experienced consultants with a track record of success--examine how all types of companies can effectively understand, analyze, measure, and manage their intellectual assets, turning corporate wisdom into market value. They categorize knowledge work into four sequential activities--accessing, generating, embedding, and transferring--and look at the key skills, techniques, and processes of each. While they present a practical approach to cataloging and storing knowledge so that employees can easily leverage it throughout the firm, the authors caution readers on the limits of communications and information technology in managing intellectual capital.




Digital Technology Advancements in Knowledge Management


Book Description

Knowledge management has always been about the process of creating, sharing, using, and applying knowledge within and between organizations. Before the advent of information systems, knowledge management processes were manual or offline. However, the emergence and eventual evolution of information systems created the possibility for the gradual but slow automation of knowledge management processes. These digital technologies enable data capture, data storage, data mining, data analytics, and data visualization. The value provided by such technologies is enhanced and distributed to organizations as well as customers using the digital technologies that enable interconnectivity. Today, the fine line between the technologies enabling the technology-driven external pressures and data-driven internal organizational pressures is blurred. Therefore, how technologies are combined to facilitate knowledge management processes is becoming less standardized. This results in the question of how the current advancement in digital technologies affects knowledge management processes both within and outside organizations. Digital Technology Advancements in Knowledge Management addresses how various new and emerging digital technologies can support knowledge management processes within organizations or outside organizations. Case studies and practical tips based on research on the emerging possibilities for knowledge management using these technologies is discussed within the chapters of this book. It both builds on the available literature in the field of knowledge management while providing for further research opportunities in this dynamic field. This book highlights topics such as human-robot interaction, big data analytics, software development, keyword extraction, and artificial intelligence and is ideal for technology developers, academics, researchers, managers, practitioners, stakeholders, and students who are interested in the adoption and implementation of new digital technologies for knowledge creation, sharing, aggregation, and storage.