188 research outputs found

    Collaborative Requirements Engineering Notation for Planning Globally Distributed Projects

    Get PDF
    Requirements engineering represents a critical phase of the software development lifecycle in which requirements describing the functional and non-functional behaviors of a system are elicited, modeled, analyzed, negotiated, agreed, and specified. In traditional software systems these tasks are typically performed in face-to-face meetings between requirements engineers and the project level stakeholders. However, in today’s global software development environment, it is becoming increasingly commonplace for stakeholders to be dispersed across multiple geographical locations and time zones. Under these circumstances, face-to-face meetings become expensive, and often impossible to facilitate, and as a result the success of the requirements process relies, at least partially, on tools and processes that support distributed communication and collaboration. To investigate the challenges and effective practices for performing requirements activities in distributed environments, we conducted a series of in-depth interviews with project managers and business analysts who have worked with non-co-located stakeholders. Since many project managers fail to plan and deploy the necessary infrastructures to support quality communication, and in practice requirements are often elicited and managed via email exchanges; we introduced a visual modeling notation to help project managers proactively plan the collaboration infrastructures needed to support requirements-related activities in globally distributed projects. An underlying meta-model defines the elements of the modeling language, including locations, stakeholder roles, communication flows, critical documents, and supporting tools and repositories. The interview findings were further analyzed to identify practices that led to success or created significant challenges for the projects; resulting in a set of patterns for globally distributed requirements engineering

    Agent-oriented constructivist knowledge management

    Get PDF
    In Ancient Times, when written language was introduced, books and manuscripts were often considered sacred. During these times, only a few persons were able to read and interpret them, while most people were limited in accepting these interpretations. Then, along with the industrial revolution of the XVIII and XIX centuries and especially boosted by the development of the press, knowledge slowly became available to all people. Simultaneously, people were starting to apply machines in the development of their work, usually characterized by repetitive processes, and especially focused in the production of consuming goods, such as furniture, clocks, clothes and so on. Following the needs of this new society, it was finally through science that new processes emerged to enable the transmission of knowledge from books and instructors to learners. Still today, people gain knowledge based on these processes, created to fulfill the needs of a society in its early stages of industrialization, thus not being compatible with the needs of the information society. In the information society, people must deal with an overloading amount of information, by the means of the media, books, besides different telecommunication and information systems technology. Furthermore, people’s relation to work has been influenced by profound changes, for instance, knowledge itself is now regarded as a valuable work product and, thus, the workplace has become an environment of knowledge creation and learning. Modifications in the world economical, political and social scenarios led to the conclusion that knowledge is the differential that can lead to innovation and, consequently, save organizations, societies, and even countries from failing in achieving their main goals. Focusing on these matters is the Knowledge Management (KM) research area, which deals with the creation, integration and use of knowledge, aiming at improving the performance of individuals and organizations. Advances in this field are mainly motivated by the assumption that organizations should focus on knowledge assets (generally maintained by the members of an organization) to remain competitive in the information society’s market. This thesis argues that KM initiatives should be targeted based on a constructivist perspective. In general, a constructivist view on KM focuses on how knowledge emerges, giving great importance to the knowledge holders and their natural practices. With the paragraph above, the reader may already have an intuition of how this work faces and targets Knowledge Management, however, let us be more precise. Research in Knowledge Management has evolved substantially in the past 30 years, coming from a centralized view of KM processes to a distributed view, grounded in organizational and cognitive sciences studies that point out the social, distributed, and subjective nature of knowledge. The first Knowledge Management Systems (KMSs) were centrally based and followed a top-down design approach. The organization managers, supported by knowledge engineers, collected and structured the contents of an organizational memory as a finished product at design time (before the organizational memory was deployed) and then disseminated the product, expecting employees to use it and update it. However, employees often claimed that the knowledge stored in the repository was detached from their real working practices. This led to the development of evolutionary methods, which prescribe that the basic KM system is initially developed and evolves proactively in an on-going fashion. However, most of the initiatives are still based on building central repositories and portals, which assume standardized vocabularies, languages, and classification schemes. Consequently, employees’ lack of trust and motivation often lead to dissatisfaction. In other words, workers resist on sharing knowledge, since they do not know who is going to access it and what is going to be done with it. Moreover, the importance attributed to knowledge may give an impression that these central systems take away a valuable asset from his or her owner, without giving appreciable benefits in return. The problems highlighted in the previous paragraph may be attenuated or even solved if a top-down/bottom-up strategy is applied when proposing a KM solution. This means that the solution should be sought with aim at organizational goals (top-down) but at the same time, more attention should be given to the knowledge holders and on the natural processes they already use to share knowledge (bottom-up). Being active agency such an important principle of Constructivism, this work recognizes that the Agent Paradigm (first defined by Artificial Intelligence and more recently adopted by Software Engineering) is the best approach to target Knowledge Management, taking a technological and social perspective. Capable of modeling and supporting social environments, agents is here recognized as a suitable solution for Knowledge Management especially by providing a suitable metaphor used for modeling KM domains (i.e. representing humans and organizations) and systems. Applying agents as metaphors on KM is mainly motivated by the definition of agents as cognitive beings having characteristics that resemble human cognition, such as autonomy, reactivity, goals, beliefs, desires, and social-ability. Using agents as human abstractions is motivated by the fact that, for specific problems, such as software engineering and knowledge management process modeling, agents may aid the analyst to abstract away from some of the problems related to human complexity, and focus on the important issues that impact the specific goals, beliefs and tasks of agents of the domain. This often leads to a clear understanding of the current situation, which is essential for the proposal of an appropriate solution. The current situation may be understood by modeling at the same time the overall goals of the organization, and the needs and wants of knowledge holders. Towards facilitating the analysis of KM scenarios and the development of adequate solutions, this work proposes ARKnowD (Agent-oriented Recipe for Knowledge Management Systems Development). Systems here have a broad definition, comprehending both technology-based systems (e.g. information system, groupware, repositories) and/or human systems, i.e. human processes supporting KM using non-computational artifacts (e.g. brain stormings, creativity workshops). The basic philosophical assumptions behind ARKnowD are: a) the interactions between human and system should be understood according to the constructivist principle of self-construction, claiming that humans and communities are self-organizing entities that constantly construct their identities and evolve throughout endless interaction cycles. As a result of such interactions, humans shape systems and, at the same time, systems constrain the ways humans act and change; b) KM enabling systems should be built in a bottom-up approach, aiming at the organizational goals, but understanding that in order to fulfill these goals, some personal needs and wants of the knowledge holders (i.e. the organizational members) need to be targeted; and c) there is no “silver bullet��? when pursuing a KM tailoring methodology and the best approach is combining existing agent-oriented approaches according to the given domain or situation. This work shows how the principles above may be achieved by the integration of two existing work on agent-oriented software engineering, which are combined to guide KM analysts and system developers when conceiving KM solutions. Innovation in our work is achieved by supporting topdown/bottom-up approaches to KM as mentioned above. The proposed methodology does that by strongly emphasizing the earlier phases of software development, the so-called requirement analysis activity. In this way, we consider all stakeholders (organizations and humans) as agents in our analysis model, and start by understanding their relations before actually thinking of developing a system. Perhaps the problem may be more effectively solved by proposing changes in the business processes, rather than by making use of new technology. And besides, in addition to humans and organizations, existing systems are also included in the model from start, helping the analyst and designer to understand which functionalities are delegated to these so-called artificial agents. In addition to that, benefits as a result of the application of ARKnowD may be also attributed to our choice of using the proper agent cognitive characteristics in the different phases of the development cycle. With the main purpose of exemplifying the use of the proposed methodology, this work presents a socially-aware recommender agent named KARe (Knowledgeable Agent for Recommendations). Recommender Systems may be defined by those that support users in selecting items of their need from a big set of items, helping users to overcome the overwhelming feeling when facing a vast information source, such as the web, an organizational repository or the like. Besides serving as a case for our methodology, this work also aims at exploring the suitability of the KARe system to support KM processes. Our choice for supporting knowledge sharing through questioning and answering processes is again supported by Constructivism proponents, who understand that social interaction is vital for active knowledge building. This assumption is also defended by some KM theories, claiming that knowledge is created through cycles of transformation between two types of knowledge: tacit and explicit knowledge. Up to now, research on KM has paid much attention to the formalization and exchange of explicit knowledge, in the form of documents or other physical artifacts, often annotated with metadata, and classified by taxonomies or ontologies. Investigations surrounding tacit knowledge have been so far scarce, perhaps by the complexity of the tasks of capturing and integrating such kind of knowledge, defined as knowledge about personal experience and values, usually confined on people’s mind. Taking a flexible approach on supporting this kind of knowledge conversion, KARe relies on the potential of social interaction underlying organizational practices to support knowledge creation and sharing. The global objective of this work is to support knowledge creation and sharing within an organization, according to its own natural processes and social behaviors. In other words, this work is based on the assumption that KM is better supported if knowledge is looked at from a constructivist perspective. To sum up, this thesis aims at: 1) Providing an agent-oriented approach to guide the creation and evolvement of KM initiatives, by analyzing the organizational potentials, behaviors and processes concerning knowledge sharing; 2) Developing the KARe recommender system, based on a semantically enriched Information Retrieval technique for recommending knowledge artifacts, supporting users to ask and answer to each others’ questions. These objectives are achieved as follows: - Defining the principles that characterize a Constructivist KM supporting environment and understanding how they may be used to support the creation of more effective KM solutions; - Providing an agent-oriented approach to develop KM systems. This approach is based on the integration of two different agent-oriented software engineering works, profiting from their strengths in providing a comprehensive methodology that targets both analysis and design activities; - Proposing and designing a socially aware agent-oriented recommender system both to exemplify the application of the proposed approach and to explore its potential on supporting knowledge creation and sharing. - Implementing an Information Retrieval algorithm to support the previously mentioned system in generating recommendations. Besides describing the algorithm, this thesis brings experimental results to prove its effectiveness

    Collaborative problem solving and program development model

    Get PDF
    A model to enhance collaborative problem solving and program development is presented. The collaborative model is a detailed cognitive model that takes into consideration the cognitive and social activities that occur during collaborative problem solving and program development. The cognitive activities required for collaborative problem solving and program development are identified and integrated into a six-stage model. An extensive literature review in the associated fields is presented to show the need for the model described in this dissertation. In addition, a comprehensive study of tools to support collaboration during problem solving and program development was also performed as well as a critique of these tools. A detailed statistical experiment to study the effect of this model on subjects, collaboratively solving a software problem was designed and executed. The experiment included testing the collaborative problem solving and program development model with and without assistance from groupware tools. The subject teams each constructed a software design and this design was evaluated based on, research hypotheses. This experiment produced results indicating the positive effect the Collaborative Model has on problem understanding and the quality of solution planning during collaborative problem solving and program development efforts

    A virtual-community-centric model for coordination in the South African public sector

    Get PDF
    Organizations face challenges constantly owing to limited resources. As such, to take advantage of new opportunities and to mitigate possible risks they look for new ways to collaborate, by sharing knowledge and competencies. Coordination among partners is critical in order to achieve success. The segmented South African public sector is no different. Driven by the desire to ensure proper service delivery in this sector, various government bodies and service providers play different roles towards the attainment of common goals. This is easier said than done, given the complexity of the distributed nature of the environment. Heterogeneity, autonomy, and the increasing need to collaborate provoke the need to develop an integrative and dynamic coordination support service system in the SA public sector. Thus, the research looks to theories/concepts and existing coordination practices to ground the process of development. To inform the design of the proposed artefact the research employs an interdisciplinary approach championed by coordination theory to review coordination-related theories and concepts. The effort accounts for coordination constructs that characterize and transform the problem and solution spaces. Thus, requirements are explicit towards identifying coordination breakdowns and their resolution. Furthermore, how coordination in a distributed environment is supported in practice is considered from a socio-technical perspective in an effort to account holistically for coordination support. Examining existing solutions identified shortcomings that, if addressed, can help to improve the solutions for coordination, which are often rigidly and narrowly defined. The research argues that introducing a mediating technological artefact conceived from a virtual community and service lenses can serve as a solution to the problem. By adopting a design-science research paradigm, the research develops a model as a primary artefact to support coordination from a collaboration standpoint. The suggestions from theory and practice and the unique case requirement identified through a novel case analysis framework form the basis of the model design. The proposed model support operation calls for an architecture which employs a design pattern that divides a complex whole into smaller, simpler parts, with the aim of reducing the system complexity. Four fundamental functions of the supporting architecture are introduced and discussed as they would support the operation and activities of the proposed collaboration lifecycle model geared towards streamlining coordination in a distributed environment. As part of the model development knowledge contributions are made in several ways. Firstly, an analytical instrument is presented that can be used by an enterprise architect or business analyst to study the coordination status quo of a collaborative activity in a distributed environment. Secondly, a lifecycle model is presented as meta-process model with activities that are geared towards streamlining the coordination of dynamic collaborative activities or projects. Thirdly, an architecture that will enable the technical virtual community-centric, context-aware environment that hosts the process-based operations is offered. Finally, the validation tool that represents the applied contribution to the research that promises possible adaptation for similar circumstances is presented. The artefacts contribute towards a design theory in IS research for the development and improvement of coordination support services in a distributed environment such as the South African public sector
    • …
    corecore