Constructive Knowledge Management Model and Information Retrieval Methods for Software Engineering

Author(s):  
Zeyar Aung ◽  
Khine Khine Nyunt

In this chapter, the authors discuss two important trends in modern software engineering (SE) regarding the utilization of knowledge management (KM) and information retrieval (IR). Software engineering is a discipline in which knowledge and experience, acquired in the course of many years, play a fundamental role. For software development organizations, the main assets are not manufacturing plants, buildings, and machines, but the knowledge held by their employees. Software engineering has long recognized the need for managing knowledge and that the SE community could learn much from the KM community. The authors introduce the fundamental concepts of KM theory and practice and mainly discuss the aspects of knowledge management that are valuable to software development organizations and how a KM system for such an organization can be implemented. In addition to knowledge management, information retrieval (IR) also plays a crucial role in SE. IR is a study of how to efficiently and effectively retrieve a required piece of information from a large corpus of storage entities such as documents. As software development organizations grow larger and have to deal with larger numbers (probably millions) of documents of various types, IR becomes an essential tool for retrieving any piece of information that a software developer wants within a short time. IR can be used both as a general-purpose tool to improve the productivity of developers or as an enabler tool to facilitate a KM system.

Author(s):  
Zeyar Aung ◽  
Khine Khine Nyunt

In this book chapter, the authors discuss two important trends in modern software engineering (SE) regarding the utilization of knowledge management (KM) and information retrieval (IR). Software engineering is a discipline in which knowledge and experience, acquired in the course of many years, play a fundamental role. For software development organizations, the main assets are not manufacturing plants, buildings, and machines, but the knowledge held by their employees. Software engineering has long recognized the need for managing knowledge and that the SE community could learn much from the KM community. The authors introduce the fundamental concepts of KM theory and practice and mainly discuss the aspects of knowledge management that are valuable to software development organizations and how a KM system for such an organization can be implemented. In addition to knowledge management, information retrieval (IR) also plays a crucial role in SE. IR is a study of how to efficiently and effectively retrieve a required piece of information from a large corpus of storage entities such as documents. As software development organizations grow larger and have to deal with larger numbers (probably millions) of documents of various types, IR becomes an essential tool for retrieving any piece of information that a software developer wants within a short time. IR can be used both as a general-purpose tool to improve the productivity of developers or as an enabler tool to facilitate a KM system.


Author(s):  
Miguel Ehécatl Morales Trujillo ◽  
Hanna Oktaba ◽  
Mario Piattini ◽  
Boris Escalante Ramírez

Software Engineering knowledge is obtained during software engineering efforts, such as projects, experiments and case studies that represent a valuable source of knowledge with which to enrich the discipline. This knowledge is manipulated by practitioners who are in charge of developing, maintaining or integrating software; any practitioner, experienced or beginner, possesses his/her tacit practices in order to carry out their work. However, these ways of working are frequently neither expressed nor collected in order to reason about their characteristics and properties. Moreover, the explicit ways of working, which are presented in process reference models and standards that follow a prescriptive approach, are not suitable for small software development organizations. Small organizations represent a major part of software development organizations, so it is important to know and support how they actually work. This paper describes KUALI-BEH, a bottom-up metamodel that offers software engineering practitioners an authoring framework with which to express, adapt and share their ways of working as a collection of methods and practices. Validating and applying the metamodel showed that a bottom-up approach benefits small organizations and serves as a first step to reduce the gap between software engineering theory and practice. KUALI-BEH permits small organizations to create an organizational working method and to gradually introduce them to the adoption of standards and reference models. Practitioners with different levels of competence, from inexperienced to senior, adopt and use KUALI-BEH successfully with minimal training and without any consulting services.


Author(s):  
Francisco Milton Mendes Neto ◽  
Marçal José de Oliveira Morais

The software process consists of knowledge-intensive procedures, involving various profiles, which handle a wide range of information. The adoption of a solution that satisfies the knowledge demands related to software engineering is not a trivial task. Despite all the investment made by research institutions and software development organizations in automated environments to support the software process, the quality levels and the productivity rates they need has not been reached. In software engineering, the experience, which helps avoid mistakes of the past and improve decision making, still lies mainly in the organization collaborators. This chapter intends to contribute to software engineering by proposing a new approach to support the capture, packaging, storage, mapping, maintenance and retrieval of the knowledge related to the software process. The approach will support the software process through the creation of a knowledge management model to assist the development of intelligent agents that can (i) realize the knowledge needs, (ii) interact with the Information Systems and (iii) support executing the software developers’ tasks. In other words, the chapter proposes creating a multiagent system to manage knowledge related to the execution of software development processes. This system will be the result of implementing the knowledge management models for supporting software process that will also be proposed in this chapter. It will consist of an Information System integrated with a knowledge base related to the implementation of software development processes.


Author(s):  
Mirna Muñoz

Software has become the core of organizations in different domains because the capacity of their products, systems, and services have an increasing dependence on software. This fact highlights the research challenges to be covered by computer science, especially in the software engineering (SE) area. On the one way, SE is in charge of covering all the aspects related to the software development process from the early stages of software development until its maintenance and therefore is closely related to the software quality. On the other hand, SE is in charge of providing engineers able to provide technological-base solutions to solve industrial problems. This chapter provides a research work path focused on helping software development organizations to change to a continuous software improvement culture impacting both their software development process highlighting the human factor training needs. Results show that the implementation of best practices could be easily implemented if adequate support is provided.


This research paper aims an analytical study on the software development organization insight into trending automation technologies and their implementation Software Engineering Management (SEM) processes. Software Project Management (SPM) is a scientific art for planning, controlling execution and monitoring. SPM approaches are more focusing towards the essential requirement for the success of software project development. It has been very challenging to manage software development using existing project management procedures driven by software development organizations and this is one of the areas of problem statement for this research. This paper discusses an analytical study for the requirements and consideration of BPR in SPM, explores to spot and emphasizes the important success factors for the execution of a BPR using benefits of Artificial Intelligence (AI) in software development organization. BPR is organizational mechanism that improves ability to respond to challenges of qualitative result by change and improvement in software engineering processes, productivity, product quality and competitive advantages. AI will be the best approach and scope of automation SEM processes for software development organizations. This paper also represents a conceptual view of software engineering model shift for improvements in capability of project managers to handle agile thinking and problem solving for betterment of SPM using Artificial Intelligence.


Business Process Reengineering (BPR) is an organizational strategy seeking identification of critical factors affecting software development practices in Software Engineering Management (SEM). The agile approaches opened the door of BPR in software development organizations. Dynamically changing technological environment has invited software development organizations, towards adoption of reengineering of strategies and practices. Nowadays, Scrum has been trending as an agile framework for Software Engineering Management (SEM) in software development organizations but considerable research work has not been done with Scrum and its successful implementation yet. The goal of this research is to highlight weaknesses and limitations of Scrum like project level documentation, planning, estimation, progress tracker, CICD etc.; and identification of challenges and issues with implementation of Scrum in software project development like large scaled project in distributed work environment with multiple Scrum teams, organizational structure, lack of knowledge ad awareness about Scrum; using empirical analysis and literature studies. The result of this research will open the door for the next stage of research to overcome the limitation and issues with implementation of Scrum and raise a request of BPR towards focus on improvement in SEM practices in software development organizations by proposing proper training about the empiricism control theory of Scrum that helps organizations in understanding the successful implementation of Scrum and its benefits. This research also raises a question in the form of suggestion that it is good time for a hybrid form of Scrum with other standard agile based frameworks or traditional SDLC methodologies.


Software Engineering (SE) technologies are emerging day by day and seeking ABPR (Agile Business Process Reengineering) for Software Engineering Management (SEM) frameworks in software development organizations. BPR can enable organizational capabilities to initiate and implement critical change in execution. Under the roof of agile and on the base of empiricism, the Scrum has been proven itself as an ABPR approach for software engineering management in the software development organizations, across the world, by improving productivity, self-organization and collaboration for standard software development processes. Scrum has been leading software project development practices using its own characteristics: Artifacts, Pillars, Values, Events and Roles. But still software project development organizations are facing some issues with their software project development and management processes, like no documentation policy which results into inaccurate estimation, internal states of each work item flowing through the Scrum Board, Sprint tracker and prediction towards goal achievement which can be considered as challenges for Scrum due its limitations as well as Scrum does not allow, any alteration in its rules. Such issues have raised a question against implementation of Scrum and have opened the door for the next level of research to answer the question, how to overcome the limitations of Scrum. Kanban can provide the solution to some of these issues but it can’t provide complete SEM solutions to software Development Organizations. The aim of this research study is empirical analysis about how the formation of hybrid framework Scrumban as an integration of Scrum with Kanban, can resolve challenges of Scrum; using literature reviews, case study reviews, and research surveys; and this research has proposed a conceptual customized Scrumban framework, by keeping Kanban in the center of customization under the bound of Scrum rules. This research also concludes limitations of Scrumban, like project documentation, planning, large scaled project, distributed environment, team capabilities etc.; as each method has its own limitations.


Sign in / Sign up

Export Citation Format

Share Document