Towards Knowledge Management to Support Decision Making for Software Process Development

Towards Knowledge Management to Support Decision Making for Software Process Development

Edrisi Muñoz (Centro de Investigación en Matemáticas A.C., Mexico) and Elisabeth Capón-García (Safety and Environmental Technology Group, Switzerland)
DOI: 10.4018/978-1-4666-5182-1.ch010
OnDemand PDF Download:
No Current Special Offers


The complexity of decision making in software process development and the need for highly competitive organizations require new supporting tools to coordinate and optimize the information flow among decision levels. Decision levels are related to strategic planning, tactical process management, and operational activities development and control. This chapter presents the theory for developing a framework that integrates the different decision levels in software development companies in order to reach their business objectives. Furthermore, the proposed framework coordinates the information exchange among the different modeling paradigms/conventions currently used.
Chapter Preview


Nowadays, software represents a main building block in developing the activities of many companies and organizations since it creates added value to products and services, thus improving the competitiveness and differentiation of enterprises. For example, many automotive, avionic, telecommunication applications and financial services rely on complex software-intensive systems. As a result of the increasing importance of software, new challenges and demands on software development, operation and maintenance have emerged (Münch et al., 2012).

A software process can be defined as a goal-oriented activity in the context of engineering-style software development. However, software engineering is a relatively young discipline whose terminology has not been standardized yet. In addition, an imprecise usage of terms can be found in practice, along with misuse of modeling approaches and concepts stemming from other disciplines.

In software development, an ever-changing environment must be faced in order to deal with actual customer needs. The management of a software process involves collecting and processing huge amounts of data, which are further used and can be considered a valuable source of information for decision-making.

For many years, companies have developed management information systems to help process users to exploit data and models which can be used in discussions and decision-making. Decision-support systems (DSS) are computer technology solutions which can support complex decision making and problem solving (Shim et al., 2002). DSS are defined as computer-aided systems at the company management level which combine data and sophisticated analytic models (Simon & Murray, 2007). Classic DSS design comprises components for sophisticated database management capabilities with access to internal and external data, information, and knowledge; modeling functions accessed by a model management system; simple user interface designs that enable interactive queries, reporting, and graphing functions; and optimization by mathematic algorithms and/or intuition/knowledge.

Figure 1 describes what probably is became the most commonly used model of the decision-making process in a DSS environment. Typically, the phases overlap and blend together, with frequent looping back to earlier stages as more is learned about the problem, as solutions fail, and so forth. A first step is the recognition of the problem. Once the problem has been recognized, it is defined as a term that facilitates the creation of the model. Some authors consider that the emphasis is on the next two steps: model development and alternatives analysis. Then, the choice is made and implemented. As a final step, and if necessary, a new recognition is performed. Obviously, no decision process is this clear-cut in an ill-structured situation (Shim et al., 2002).

Figure 1.

Scheme of the decision making process in a DSS environment


There has also been a huge effort in the DSS field to build a group support system (GSS) or collaboration support system to enhance the communication-related activities of team members who are engaged in computer-supported cooperative work. The communication and coordination activities of team members are facilitated by technologies that can be characterized along the three continua of time, space, and level of group support (Alavi & Keen, 1989; Shim et al., 2002). Teams can communicate synchronously or asynchronously; they may be located together or remotely; and the technology can provide task support primarily for the individual team member or for the group’s activities. These technologies are utilized to overcome the space and time constraints that burden face-to-face meetings, to increase the range and depth of information access, and to improve group task performance effectiveness, especially by overcoming “process losses.”

Complete Chapter List

Search this Book: