Knowledge management of software enterprises

Source: Internet
Author: User
Knowledge management of software enterprises


In the era of knowledge economy, an industry that uses knowledge as the primary source of productivity can be called a knowledge-based industry. The software industry is a knowledge-intensive industry. The major developers in an enterprise all belong to knowledge workers, and highlight the characteristics such as technical staff personalization and customer demand personalization. The rapid development of technologies and applications, the overwhelming information ocean, often make software workers feel a lot of pressure, and thus have an urgent need for new management concepts and technologies. How to effectively integrate personalized resources and efficiently meet personalized needs is a challenge that software enterprises must face. Knowledge management (KM), as a powerful means to improve the core competitiveness of enterprises, can fully realize the integration, development, sharing and value-added of enterprise knowledge resources. Especially for software enterprises, implementing knowledge management can integrate scattered and personalized knowledge into an organic organizational knowledge system, and solve personalized problems through the effective use and continuous improvement of the organizational knowledge system, in this way, the core competitiveness of enterprises can be effectively enhanced.

I. software enterprise characteristics and knowledge management requirements

Since 1990s, humanity has entered the information age. The development and integration of world science, technology and economy, network operation and global economic integration are creating new management experiences and management theories. According to the development trend of international enterprise management, we can summarize the essence of modern enterprise management ideas into four aspects: Digital management, market-oriented management, systematic management, and international management. Due to the rapid development of IT technology, software enterprises must understand and use the essence of modern enterprise management ideas, it is also necessary to clarify the characteristics of traditional enterprises and the urgent needs for knowledge management. It is mainly manifested in the following aspects:

First, the intellectual power of enterprise products. Software is different from most other industrial products. Its development process is a complex logical thinking process, and its products depend heavily on developers' high intelligence investment. First, R & D of software is an activity that requires a lot of knowledge and generates a lot of knowledge. Taking the R & D of a new product as an example, to determine whether to develop a new product, you must accurately grasp the market trend knowledge. the R & D process should refer to previous R & D experience; the final R & D success or failure will accumulate experience and lessons for future R & D activities. Therefore, it is extremely urgent to sort out and accumulate knowledge in the business process. Secondly, because software products are invisible and difficult to measure and control, developers' creativity and product standardization test requirements are a conflict that requires constant coordination, and directly affect the quality of software products. Therefore, software enterprises first try to solve software quality problems from the technical perspective, but practices show that the technical solution is very limited, it is also necessary to solve the quality problem of software from the perspective of management, especially knowledge management. Once again, through knowledge management, we can establish a knowledge-based organization that uses geographical or physical boundaries for traditional organizations, expand a flexible virtual organization that consists of R & D personnel, management personnel, customers, business partners, external organizations, and the public, it also provides them with a closely integrated and collaborative working environment, so that they can communicate instantly and interactively, thus creating extremely favorable conditions for knowledge derivation and development.

Second, the speed of technological updates. The current software technology is evolving rapidly, and the pace of new product development is accelerating. Sometimes even a development tool has not been fully learned, and it has been eliminated. A few years ago, we could also get some information by reading the old computer magazine and be confident that we have obtained newer software development technologies. Now, if we read a technology newspaper a month ago, we will find that the technology we know is outdated. The swift nature of technological changes forces software enterprise personnel at all levels to constantly learn new technologies and understand new products. The key to knowledge management is to quickly and effectively acquire knowledge and build a knowledge base of an enterprise, including its timeliness, effectiveness, availability and sustainable development. The second is to enable the flow of knowledge with high traffic and efficiency, and quickly and smoothly penetrate the knowledge into all aspects of enterprise work, so as to achieve knowledge sharing, utilization and value-added in the best way. The third is the establishment of people and organizations with knowledge, which includes changes to personnel and organizations so that they can adapt to the needs of knowledge management and maximize the benefits of people and organizations in knowledge activities.

Third, the frequent flow of talent. The shortage of software talents in China is a well-known fact. At the same time, in all industries, the highest frequency of talent flow in the software industry. The reason is that due to the rapid development of the software industry, coupled with a large amount of investment in capital, software companies are constantly created, and most newly established companies want to build their own teams as soon as possible, it is generally necessary to dig people in the same industry, which leads to a strange circle of talent flow in the software industry. An important task of software enterprise knowledge management is to implement the "people-oriented" principle, and make every employee have room for development and goals through reasonable performance appraisal and competition and incentive mechanisms, continuously improve individual and department competence and capability maturity. In team management, knowledge combinations and roles should also be reasonably combined to establish efficient and collaborative project development teams. At the same time, in combination with the construction of corporate culture, the establishment of a harmonious enterprise environment, improve employees' satisfaction with and participation in the enterprise, and maximize the enthusiasm, initiative and creativity of the people. In this way, we can retain the backbone of valuable and key knowledge, and constantly attract new talents to join us, without losing the key knowledge of the enterprise due to the changes of a few employees.

4. Immature management standards. In recent years, more and more software enterprises in China have carried out ISO9000 quality system certification activities. However, the ISO9000 series standards are not specifically designed for software enterprises. They are a standardized quality control system applicable to various production and service processes. As a general standard, it is more like a specialized product in the hardware manufacturing industry, but it seems unable to implement in the software industry, the results are also greatly reduced. As the most practical software production process standard and software enterprise maturity level certification standard in the world, CMM can help software enterprises improve and optimize management, and realize software production engineering. These corresponding process specifications are of course necessary, but in this ever-changing era, the process must also embrace changes and embrace those who can master the changes of knowledge. Otherwise, it is not a good process. In recent years, the software industry has put forward some new light loading methods and processes, emphasizing the human factor first, not the human adaptation process, but the human-oriented process. For example, a kind of trend has emerged in foreign countries recently, advocating the transformation of the "surgical team" development team that relied on the main programmer in the past to a more active and harmonious "haorun mode" development team, so that every member can play the best role, so that the management standards of software enterprises can keep pace with the times and be pragmatic and mature.

Ii. Main Content and steps of implementing knowledge management

The so-called knowledge is a valuable smart crystallization that can be presented through information, experiences, abstract ideas, standard operating procedures, systematic documents, and specific technologies. Although there are many forms of knowledge presentation, in essence, they must have the effect of creating additional values. Otherwise, they cannot be referred to as knowledge. Generally, knowledge connotation is divided into implicit and explicit types due to its essential differences.
Tacit Knowledge refers to experience-based knowledge that is complex and cannot be described in words. It is difficult to document and standardize unique knowledge, and organizational knowledge that can generate consensus only through interpersonal interaction. Hidden knowledge is generated at a high cost and has a low chance of reuse. It is usually used in homework activities with a higher value. Therefore, the key of tacit knowledge management is how to make the creation process of tacit knowledge more efficient. The strategy measures that can be used include the formation of consistent corporate culture and consensus, and an open organizational atmosphere, use multimedia networks to increase the efficiency of interpersonal communication, project team management, good educational and training mechanisms, and more comprehensive peripheral facilities.
Explicit Knowledge refers to documented, standardized, and systematic knowledge. Therefore, explicit knowledge can be directly extracted from the knowledge base for independent learning. Extensive applicability, reuse, and separation of people are the characteristics of explicit knowledge. Therefore, the use of explicit knowledge can produce the learning effect of knowledge transfer without having to contact the creator. It can be seen that explicit knowledge is relatively high in both Diffusion Speed and learning efficiency. Of course, how to make the knowledge explicit by means of sorting, induction, classification, storage, and so on, and can be very convenient to use again and again will be the focus of the enterprise in the future knowledge management activities.
Therefore, the main tasks of Knowledge Management include standardized description and sharing of explicit knowledge, explicit and enhanced efficiency of tacit knowledge creation.

For software enterprises, there are various types of knowledge to use, such as software engineering process knowledge, development technical skills knowledge, and customer business knowledge, market and product knowledge. Different types of knowledge through the use of knowledge management means can promote the development of software enterprises from different aspects.
The management of software engineering process knowledge can clearly define a unified software development process. Standardize and standardize the standards, processes, and relevant documents adopted by the enterprise, and use the knowledge innovation mechanism to continuously improve the development process. This can ensure the standardization and visibility of the software development process, strengthen the coordination and accuracy of work, ensure the implementation of the Project as planned and the final quality, give full play to the coordination benefits of the Organization, and continuously improve work efficiency.
The management of development technical skills knowledge can help enterprises achieve better technology and technological innovation. The dynamic process management system tracks and evaluates the design, development, testing, and maintenance processes, selects excellent processes, analyzes their steps, external environments, associations, and processing methods, provides storage and classification retrieval, and provides experience support for similar products or projects. By strengthening the management of internal technical resources, we can improve the reusability of resources and do a good job in technical reserves, exploratory research, and reserve echelon construction.
The management of Customer business knowledge can establish the customer business knowledge base and customer demand library, and make full use of the case resources of the enterprise, manage customer requirements in a modular way, and continuously adapt to and expand the flexibility of demand, achieve reuse of demand-level software, improve the efficiency of new investment and business production, fundamentally solve the software delivery period and applicability issues.
By collecting, filtering, analyzing, processing, and sharing market and competitive intelligence, the management of market and product knowledge helps enterprises correctly understand and predict their own living environments, enhance the sensitivity to competition and the living environment, carefully and correctly determine market expectations, rationally plan and arrange production, and effectively reduce risks, it brings practical, evaluable value and competitiveness improvement to enterprises.

Knowledge management of software enterprises is a relatively long-term and continuous task. The steps and procedures are as follows:
The process focuses on knowledge acquisition, mining, classification, and sharing. First, knowledge acquisition is divided into acquiring explicit knowledge and discovering tacit knowledge. Explicit Knowledge is divided into acquiring internal knowledge and acquiring external knowledge. External explicit knowledge can be collected by purchasing a specific knowledge base or using some tools. For internal explicit knowledge, first, we should collect, investigate, and confirm the scattered knowledge of various materials and documents in individuals, organizations, and enterprises, and then classify, sort, and define them, the formation of systems, procedures, and standardized documents are stored in a specific knowledge base. For tacit knowledge, such as personal experience, expert skills, or knowledge contained in databases and data warehouses, it can be discovered through data mining, knowledge mining, business intelligence, and other technologies, this improves the quantity and quality of the enterprise's overall knowledge. In addition, you can create an expert catalog and use expert positioning to share this personalized experience knowledge with more people. For software enterprises, the main content of this process includes: Determining unified process specifications, establishing system development templates and Management Templates, and classifying existing work products into modules, establish relationship data at the module level of customer requirements, analysis and design, code, and test cases, establish reference examples for various business processes, designate corresponding business experts, and establish Problem and Countermeasure databases.
The process of expanding the enterprise's overall knowledge reserve through knowledge exchange. Enterprises can share their knowledge through a variety of communication methods, including: direct communication between people, such as seminars, study sessions, training, etc., and should examine the communication results; you can learn through the Internet, such as discussion groups, chat rooms, electronic conferences, and emails. You can also learn through the knowledge base.
Use knowledge to solve problems. On the one hand, employees are required to take advantage of existing knowledge to complete practical work, including following the specifications, using existing work results, reference examples and ideas, and consulting designated business experts as needed. On the other hand, existing knowledge can be used to complete practical work, create new knowledge products at work. For example, Expand functions, performance or reusability to meet new requirements when using existing program modules, so as to form stronger modules. In addition, employees can broaden, extend, and reconstruct their knowledge systems and gradually convert their personal knowledge into organizational knowledge.
Consciously carry out the knowledge innovation process. Based on the development needs of enterprises, we will create various new knowledge in the practical process, such as new product knowledge and new business process knowledge. The process of knowledge innovation is a process of continuous improvement and spiraling rise. It is the highest realm of knowledge management and can help enterprises expand their overall knowledge Scale and improve their knowledge quality, to some extent, it is an essential improvement process for enterprises.

Iii. penetration and improvement of knowledge management in project management

Project is an important business means of knowledge economy. uniqueness and one-time are the main features of the project. A typical project cycle can include multiple stages such as project initiation, planning, control, execution, and closure. It can be said that projects are innovative, while project management is innovative management. For domestic software enterprises, it is necessary to carry out a variety of management work to improve their competitiveness, but the most important thing is to effectively manage projects. In addition, we will strengthen the penetration and improvement of knowledge management on project management and put the project theory into practice in a down-to-earth manner to effectively improve our ability to analyze customer needs, improve the Ability to refine the work objectives, improve the ability to control the development project time, quality, and cost, and improve the ability to capture market opportunities, it is the key to fundamentally improving the quality of software enterprise management. According to different stages of project management, knowledge management is integrated into the following aspects:

First, penetration in project planning. Project planning is a prerequisite for project initiation. Clarifying the value of the project, defining the project objectives, and making the project objectives consistent are the main content of project planning. Among them, the most important thing is that the project objectives are consistently understood. To strengthen project planning, we should first "discover real customers", secondly distinguish the relationship between customer needs and the characteristics of project achievements, and then fully and deeply communicate with each other. In this process, we need to mobilize not only the knowledge resources of several planners, but also the knowledge injection of the entire enterprise, that is to say, we need to make full use of the company's past project achievements and accumulated knowledge. Nothing can be done from the beginning. At the same time, we must give full play to the role of industry experts. Practice has proved that the project planning without the guidance of industry experts is often difficult to apply or even completely unavailable. If software companies do not have their own industry experts, they must also be good at enhancing the use of external industry expert knowledge.

Second, penetration in project implementation. Project management is both a typical system management and a typical change management, while knowledge management is the basic condition for change management. Because you do not have enough knowledge, you do not know how to face changes in the project. After the project is started, the purpose of project process control is to control the project results (including intermediate results) project resources can be scheduled, project problems can be traced, project team performance can be evaluated, and so on. In a software project, there are hundreds of thousands of associated activities. Changes in the construction period, resources, and budget of an activity will generate a chain reaction to the entire project. One of the laws of project management is "the devil is hiding in details", and eliminating "the Devil" requires "encirclement and suppression" of knowledge management ". The Project Manager and senior management personnel should have a comprehensive understanding of the changes in various project activities to determine the focus of work. The best friend of the project manager is the competitor and the representative of the User-an independent product testing team. Careful testers will always find some places where they do not correctly understand the design decision or implement the design accurately. They will guarantee product quality with unique knowledge and fairness. Similarly, because the project team members have different division of labor, they should be able to clearly understand the role and impact of their work on the project objectives, the evaluation mechanism should be used not only to drive their overall sense of responsibility for the project, but also to use knowledge management methods and tools, this allows them to intuitively view the dynamic relationship between their work and project objectives, so as to avoid the "invisible" error.

Third, the improvement at the end of the project. In software enterprises that do not translate project experience and lessons into knowledge awareness and mechanisms, this step of work is often ignored. After some software enterprises develop to a certain stage, one of the important reasons for being stuck in the quagmire. In fact, similar to the project planning at the project launch, the knowledge management in the formal closing of the Project is also very important. The final function is not only to give a formal explanation to the stakeholders of the project, but also to extract the lessons learned throughout the project to form the knowledge and wealth of the enterprise. Knowledge management includes knowledge mining, communication, sorting, sublimation, and storage. For example, by measuring process data and accumulating software metric data, analyze and discover problems and bottlenecks in development, and identify the causes of defects and preventive measures in the future. At the same time, it is necessary to evaluate the value of employees fairly, objectively and quantitatively based on the demands of project team members for value creation and self-realization, the relevant information is stored in the enterprise's knowledge management system. In addition, we must pay attention to the protection of key technologies and intellectual property rights that have been formed by enterprises, as well as the refined screening, training and organic integration of self-owned, purchase, partner cooperation, and online resources, being good at standing on the shoulders of others and continuing to climb, making the ever-changing knowledge and technological updates an inexhaustible source of motivation for enterprise development.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.