Logo en.artbmxmagazine.com

Knowledge management strategy in software maintenance

Table of contents:

Anonim

The software life cycle is a continuous process. A software development process is aimed at the effective and efficient production of a product that meets the customer's requirements. This process is intensely intellectual, affected by the creativity and judgment of the people involved. Although a software development project is comparable in many respects to any other engineering project, in software development there are a number of additional challenges, essentially related to the nature of the product obtained.

The following work describes a procedure for knowledge management in the execution of technical support from the perspective of software maintenance at the Desoft Computer Applications Company Territorial Division Guantánamo. Other related topics that may be of interest are also discussed.

Key words: maintenance, knowledge, software, technical support.

INTRODUCTION

The Company of Computer Applications in its Territorial Division Guantánamo has as its corporate purpose the development, deployment and support of computer applications, for this there is a methodology that guides this process by organizing it into three stages: requirements, development and deployment. In the latter is where the products are implemented in the real environment of the client to give support and maintenance to the application once the training in the use of the same has concluded.

A software is intangible and generally very abstract, this makes it difficult to define the product and its requirements, especially when there is no precedent for similar products. This makes requirements difficult to consolidate early. Thus, changes are inevitable, not only after the product is delivered but also during the development process. Therefore, it is necessary to document everything related to the construction and versioning of the systems. This is where the problem lies. The information is concentrated in one person. The knowledge base is not fed, so the information is scattered among support specialists and a few experienced implementers.That is why the need arises to design a strategy to manage the knowledge acquired over the years that the institution has been founded.

DEVELOPING

Knowledge management

What is knowledge management? Is it possible that something like the knowledge that inevitably belongs to people can be managed in organizations?

When we speak of knowledge management in organizations, we are referring to a process or a situation that allows transferring the knowledge or experiences of a person or group of people to other people belonging to the same organization or company. And here is the main problem, that we are talking about people and transmitting or sharing something that is not easy to transmit or know to whom to transmit: information and skills.

Knowledge management is the process by which an organization facilitates the transmission of information and skills to its employees, in a systematic and efficient way. It is important to clarify that information and skills do not have to be exclusively within the company, but can generally be or be generated outside it. This final nuance is very important. Generally, most companies identify knowledge management only with the information and internal skills of the company, which is known as business intelligence. In this way, almost all efforts are aimed at channeling the information and skills that an organization already possesses, focusing on the efficiency of internal communication processes through the implementation of systems such as CRM, ERP and a CMI.This has traditionally been the case because it has always been much easier to control the volumes of internal information than external information that is outside the organization that is more difficult to find, search, select and organize.

Knowledge management strategy in software maintenance

The Company of Computer Applications in its Territorial Division Guantánamo has as its corporate purpose the development, deployment and support of computer applications, for this there is a methodology that guides this process by organizing it into three stages: requirements, development and deployment.

Processes in a software company

The development process is designed under the premises of agile methodologies. This forces the developer to submit deliverables in short periods of time. Working principles and techniques include: iterative development, component-based architecture, visual modeling, continuous quality verification, change and configuration control, and metric collection. The following stages make up this process.

Software development process

Projects management

In this activity the development plan of the project or service is defined, where a decomposition of the same will be reflected in iterations and activities. It will be structured as a decomposition scheme, where the first level will consist of the project deliverables agreed with the client, the second level for the tasks necessary to obtain each deliverable, the third level for the subtasks that lead to the completion of each homework and so on. In addition, change and delivery management is carried out to the client. For the management of the project, the corresponding methodology will be used, if it is a development service, the artifacts that are generated will be associated with the management of the service at each stage,

Requirements

In this stage, the first two stages of a typical development project or service are combined: Preliminary Scope and Requirements. Both stages are combined because in the Preliminary Scope it is where the diagnosis is normally made in order to generally know the processes of the client company. In this activity, the application of information engineering processes is required to obtain all the information objects handled by the customer's processes at different levels, as well as the processes involved in the modification and / or control of said information. Its objective is to create a base of understanding between the client and the members of the project work teams.For this, it is necessary to define the functional and non-functional requirements of the system and update or create the glossary of terms that allows fluent communication. The documentation of this activity should form the basis for the final acceptance tests of the system by the client, as well as for the internal quality tests, so this definition will have to be validated by all the parties involved in the development.

Development

The development stage, as its name implies, is the one where the functionalities identified in the previous stage are going to be developed, the starting point is the requirements document previously obtained and where each of them is described in detail. The objective of this activity is to design and implement the requirements identified in the previous stage. In the design, a more detailed representation of the different elements that make up the system proposal is achieved, through the design of the modules, the classes and the different relationships that exist between them. In the implementation, the source code is obtained that supports the design made, the system architecture and all the functionality and specifications defined in the definition of the project or service.Components developed for coding the system and which can be reused in coding other systems should also be proposed.

Release tests

At this stage the release tests are carried out, these are the tests that corroborate that the system and the artifacts of the project comply with the required quality, both functionally and by the norms and standards used. Its objectives are: Validate the adequacy of each deliverable of each activity to the standards of the company, verify the functionality of the system against customer requirements, verify the source code to detect errors and validate adequacy to the coding standards and validate the product. regarding our quality attributes. This discipline begins to work from the beginning of the project, having identified the software requirements / to be able to test the selected architecture.

The deployment process consists of six associated services: Diagnosis, Installation, Configuration, Commissioning, Training and Assisted Operation.

Software deployment process

Diagnosis

Service associated with a consultancy, which allows obtaining a study of customer processes, in order to align the computerization of these, to the functionalities of any system. To carry out this service, the specific diagnostic questionnaires and guides of each system, available, may be used as Tools and Support Material.

Installation

Service that guarantees the installation of the systems on the servers or on the machines of the users. To carry out this service, the installers and manuals or installation guides for each system, available, may be used as Tools and Support Material.

Setting

Service that allows establishing the necessary parameters for the correct operation of the system and guarantees the personalization of the computer solution. To carry out this service, it can be used as tools and support material, user manuals or configuration and customization guides for each system, available, tools available or developed to perform automatic export and import of configuration data, etc.

Start up

Service that allows you to run and check the proper functioning of the system with a sample of real data. To carry out this service, the user manuals or step guides for the implementation of each system, available, may be used as Tools and Support Material.

Training

Service that is developed in the customer's home to improve employee performance, includes practice with tools, documents or materials that will be used on a daily basis. To carry out this service, the available training course designs may be used as Tools and Support Material.

Assisted operation

Service offered at the client's workplace for the time it is negotiated. It includes where the initial load of the data comes from. To carry out this service, user manuals or step guides for the operation of each system, available, may be used as tools and supporting material; the tools available or developed to carry out the initial loading of the data automatically.

The support process allows establishing and maintaining an acceptable level of service by supporting the customer in the effective use of the system, once it is in operation. This service is made up of four stages: Communication, Implementation, Monitoring and Evaluation. The problem in question lies in the first stage, communication.

Software support process

Communication

It begins when a client makes a request for technical assistance, which can be received through the different activated communication channels: telephone, email, the web, etc. The main objectives are to know the needs of the client and prepare the conditions to start the service.

Among the activities and tasks corresponding to this stage are: Carrying out an initial search and analysis in the knowledge base (solution bank). This tool is not currently implemented and the knowledge is concentrated in one person, the telephone support specialist. This is the main bottleneck, since when this person is absent the process collapses.

For this, a database was designed where the deployment and support specialists register the solutions that are being given to the different non-conformities detected in the clients' facilities. In the case of third-party systems, once reported, the telephone support specialist is in charge of increasing the database with the solutions sent by the maintenance specialist of the application in question. It is implemented as part of the Servilín system for the control of support activities, developed by the Santi Spíritus Territorial Division where the contact center is located.

Realization

It includes the tasks necessary to provide a solution to the request, whether by telephone, in person or any other available means. With the objectives of verifying the real problem and achieving the solution to the problem posed by the client.

Tracing

It pursues the objectives of monitoring the status of orders and compliance with deadlines, achieving the solution and analysis of all unresolved problems and keeping the customer informed of the actions to solve their problems.

Evaluation

It includes data processing to obtain information on the performance of the process and achieve its improvement. With the objectives of knowing the performance of the process, evaluating customer satisfaction and achieving process improvement.

CONCLUSIONS

Knowledge management implies going much further than a mere computer system or training plan. It is essential to foster an innovative and efficient business structure. If knowledge flows and is transmitted correctly in the organization, it can only grow. Skills and useful information are transmitted to employees quickly and in this way increases the possibility of generating new knowledge that results in new applications, improvements in processes or products and new ways of doing business to achieve new opportunities.

I cannot forget that knowledge is the only asset that grows over time and does not wear out but that can disappear with people, if it is not shared. There have been cases in which the departure of an employee has meant a loss of competitiveness that is very important for a company because it is the only one that has very specific knowledge. That is why it is vital to manage it, both in large and small organizations.

REFERENCES

  1. Bulmaro Adrián Fuentes Morales (2010): «Knowledge management in academic-business relations. A new approach to analyze the impact of academic knowledge. » Phd thesis. Polytechnic University of Valencia, Spain.WIIG, K. (1997): “Integrating Intellectual Capital and Knowledge Management”, Long Range Planning, vol. 30, no. 3, pp. 399-405.ANDREU, R. & SIEBER, S. (1999): “The comprehensive management of knowledge and learning”, Industrial Economy, no. 326, pp. 63-72.BUENO, E. (1999): “Knowledge management, learning and intellectual capital”, Bulletin of the Club Intellect, no. 1, January. Madrid.Harman, Chris; Brelade, Sue (2000). Knowledge Management and the Role of HR. Financial Times / Prentice Hall 2000. (Spanish Kindle Edition 2015). Cordero Borjas, AE, & García Fernández, F. (2008).Knowledge Management and Work Teams: Venezuelan Magazine Labor Observatory, 43-64.FERRATER MORA, JOSÉ (2002): Dictionary of Philosophy, ed. rev., and act., by Terricabras, Josep-Maria, Círculo de Lectores, Travessera de Gràcia, 47-49, 08021 Barcelona, ​​ISBN (OC) 84-226-8967-7. DAVENPORT, TH & PRUSAK, L. (1998): Working Knowledge: How organizations manage what they know, Harvard Business School Press, ISBN 1-57851-301-4
Knowledge management strategy in software maintenance