The software maintenance process involves a lot of effort and costs. In fact, this stage is considered the most expensive of the software development life-cycle. Moreover, during maintenance a considerable amount of information needs to be managed. This information often comes from diverse and distributed sources such as the products to be maintained, the people who work in this process, and the activities performed to update the software. However, very few software companies use knowledge management techniques to efficiently manage this information. Appropriate knowledge management would help software companies improve performance, control costs and decrease effort by taking advantage of previous solutions that could be reused to avoid repeating previous mistakes. This work presents a multiagent system designed to manage the information and knowledge generated during the software maintenance process; using web technologies to support this management. The system has different types of agents, each devoted to a particular type of information. Agents use different reasoning techniques to generate new knowledge from previous information and to learn from their own experience. Thereby the agents become experts in the type of knowledge they are responsible for. Additionally, agents communicate with each other to share information and knowledge.
['Oscar M. Rodríguez', 'Aurora Vizcaíno', 'Ana I. Martínez', 'Mario Piattini', 'Jesús Favela']
How to Manage Knowledge in the Software Maintenance Process