Research on Knowledge Creation in Software Requirement Development*

After field survey and literature review , we found that software requirement development ( SRD ) is a knowledge creation process , and knowledge creation theory of Nonaka is appropriate for analyzing knowledge creating of SRD. The characteristics of knowledge in requirement elicitation process are analyzed , and dissymmetric knowledge of SRD is discussed. Experts on requirement are introduced into SRD process as a third knowledge entity. In addition, a knowledge creation model of SRD is put forward and the knowledge flow and the relationship of entities of this model are illustrated. Case study findings are illustrated in the following : 1) The necessary diversity of the project team can facilitate the implementation of the SRD. 2) The introduction of experts on requirement can achieve the transformation of knowledge effectively , thus helping to carry out the SRD. 3) Methodology and related technologies are important for carrying out the SRD.


Introduction
Michael Polanyi divided knowledge into tacit knowledge and explicit knowledge [1].Tacit knowledge exists in human brains, which is the knowledge that people don't know, in other words people don't know what they know.Verna Allee thought that tacit knowledge which exists in individuals is private and has its own special background, and it also depends on experience, intuition and discernment [2].Nonaka figured that organizations create and make use of knowledge via the interaction of tacit knowledge and explicit knowledge, which is called knowledge conversion process [3].Li Xiao-Ming et al. analyzed the requirement elicitation process (REP) in the view of knowledge management and put forward the countermeasures.In our understanding, it is necessary to discuss how knowledge is converted during REP in details, and present an embodying knowledge conversion pattern [4].Wan Jiangping researched on the knowledge integration support structure of quality software production [5], and established knowledge transfer model of software process improvement (SPI) and the conceptual framework of influencing factors [6].
This paper is organization as following: we firstly analyze the characteristics of knowledge during REP; then based on characteristics of SECI (socialization, externalization, combination, and internalization) knowledge spiral model, dissymmetric knowledge flow theory and knowledge communication, a knowledge conversion model is put forward, which is used to analyze the requirements development process of the NY Company's cost accounting system.

Literature Review 2.1 Tacit Knowledge and Knowledge Conversion
Organizational knowledge creation is the process of making available and amplifying knowledge created by individuals as well as crystallizing and connecting it to an organization's knowledge system.The concept of "tacit knowledge" is a cornerstone in organizational knowledge creation theory and covers knowledge that is unarticulated and tied to the senses, movement skills, physical experiences, intuition, or implicit rules of thumb.Knowledge of wine tasting, crafting a violin, or interpreting a complex seismic printout of an oil reservoir are well-known examples of tacit knowledge.The concept of "knowledge conversion" explains how tacit and explicit knowledge interact along a continuum.Nonaka argued that knowledge is created and used in organization through knowledge is transformed process, including four patterns: socialization, externalization, combination, and internalization.All four of these patterns exist in dynamic interaction.Knowledge is really and truly created and used effectively and effectively depending on dynamic business system is established [3,7].
There nine questions are put forward in the following [8]: 1) What is the status of "truth" in the definition of knowledge?2) Do tacit and explicit knowledge fall along a continuum?3) Is the tacit/explicit knowledge distinction along the continuum valuable for organization science?4) What is the conceptual basis of knowledge conversion? 5) Given the relationship between tacit knowledge and social practices, how can the concept of knowledge conversion be upheld?6) What is the outcome of knowledge conversion?7) What is the relationship between organizational knowledge creation and social practices in organizations?8) When and why do social practices contribute to the conservation of existing tacit knowledge and existing routine rather than organizational knowledge creation and innovation?9) How can leadership motivate and enable individuals to contribute to organizational knowledge creation by transcending social practices?

Enabling Knowledge Creation
There five knowledge enablers in the following: 1) Instill a knowledge vision, 2) Manage conversations, 3) Mobilize knowledge activists, 4) Create the right context, and 5) Globalize local knowledge.The effective knowledge creation depends on an enable context.What we mean by enabling context is shared space that fosters emerging relationships.This definition of context is connected to our first two points: knowledge is dynamic, relational, and rather than on absolute truth or hard facts.The essential thing for managers to remember is that all knowledge, as opposed to information or data, depends on its context.There are the five knowledge-creation steps in the following: 1) Sharing tacit knowledge, 2) Creating concepts, 3) Justifying concepts, 4) Building a prototype, and 5) Cross leveling knowledge [9].

Software Requirements Engineering
Requirements engineering (RE) is the branch of software engineering concerned with the real-world goals for, functions of, and constraints on software systems.It is also concerned with the relationship of these factors to precise specifications of software behavior, and to their evolution over time and across software families [10].There are five core RE activities in the following: 1) Eliciting requirements, 2) Modeling and analyzing re-quirements, 3) Communicating requirements, 4) Agreeing requirements, and 5) Evolving requirements.This paper analyzes the eliciting requirements.

Characteristics of Knowledge in Software REP
REP is actually a process of developing conditions that satisfied people in the following: 1) Understanding requirements; 2) Participating in this project (in most cases); 3) Understanding how to work effectively as a team [11].The generic process of requirement elicitation is illustrated in Figure 1.First, we work with our customers to elicit the requirement, by asking questions, demonstrating similar systems, or even developing prototypes of all or part of the proposed system.Next, we capture those requirements in a document or database.Then, the requirements are often rewritten, usually in a more mathematical representation, so that the designers can transform the requirements into a good system design.A verification and validation step makes sure that the requirements are complete, correct, consistent, and the requirements are what the customer intends to [12].
In software REP, besides the requirements that clients or users are able to bring forward, they also have requirements that could not be clearly expressed.The characteristics of software tacit requirements are summed up in the following: 1) Tacit requirements are hard to express, convert, communicate and share; 2) Tacit requirements are often related to application domain; 3) Tacit requirements are often users' tacit knowledge; 4) Tacit requirements are experiential knowledge which developing team accumulates step by step in practice during a long period of time; 5) Tacit requirements are hard to encode and articulate; 6) Tacit requirements can be expressed hazily and crudely.

Establishment Knowledge Creation
in Software REP 2) Externalization: It is the conversion from tacit knowledge to explicit knowledge, expressing tacit knowledge written down or stored in computer, etc.In software REP, mainly with the help of experts on requirement or consultants, knowledge externalization is the process in which users' tacit knowledge is converted into explicit knowledge, which could be directly accepted by developers.
3) Combination: It is the process from separate explicit knowledge to systematic explicit knowledge in which explicit knowledge is further systematized and complicated.It involves different kinds of external explicit knowledge system.In software REP, with knowledge of experts on requirement further systematized, developers integrate their own knowledge to make the requirements specification.
4) Internalization: It is the process from explicit knowledge to tacit knowledge; in the process individuals digest and adsorb the knowledge from different mediums, and make it into their own abilities.In software REP, experts on requirement pass the combined explicit knowledge (requirements specification or prototype) to users who may consequently have a further understanding of the system.

Analysis of Dissymmetric Knowledge Flow
Because of dissymmetric knowledge, knowledge flows from high knowledge level to low knowledge level (Figure 2).There are two main knowledge flows: the one from users to developers is mainly knowledge in business domain and other users' tacit knowledge, while the other one from developers to users is knowledge in software domain and system performance requirements, etc.
The flow of dissymmetric knowledge makes the conversion of knowledge type, namely integrating the knowledge of developers and users and making users' tacit knowledge articulate to form their very requirements, which are the critical parts of REP.After feeding back, the integrated knowledge flows to users, and then when it is confirmed, REP is initially finished.But this does not imply that the REP is ended; on the contrary, during the whole process, software requirements are gradually up-dated along with feedbacks of information from different stages [13].
Software REP is the process in which users, experts on requirement, developers and other demand sources communicate their information and knowledge, and it is also the process in which the knowledge of users, experts on requirement and software developers are integrated.Because of users' participation, experts on requirement and developers may absorb users' information to make it into knowledge, and update their knowledge with their experience, cooperation value, project goals and business principles, which may reach the goal of requirement elicitation.Therefore, REP is the process of knowledge flow, integration and innovation.Meanwhile, users improve themselves continuously in the process of knowledge flow.

Conditions for Knowledge Conversion
In software REP, the face-to-face communication which is aimed at knowledge conversion is different from generic communication [14], firstly, the two parties are quite dissymmetric in knowledge; then the communication is to elicit users' tacit knowledge and show developers' software knowledge; finally, the process of communication is an iterative negotiation process.
In the communication for requirement elicitation, users, experts on requirement, developers and relevant personnel should clearly understand each element in successful knowledge conversion, and only the honest speakers who own knowledge and listeners who trust and understand speakers may interact to reach the goal of knowledge conversion and tacit knowledge elicitation [15].

Model of Knowledge Conversion in REP Based on SECI
The model of knowledge conversion in REP based on SECI is illustrated in Figure 3.
In software REP, the externalization process of tacit requirements is the process in which users and developers communicate via experts on requirement.As the central part in REP, experts on requirement not only listen attentively to users' requirements and developers' description of technologies and computer, but also win the trust of users and developers as authorities and able persons,  based on which they put forward users' tacit requirements in a way that developers can easily understand and accept, and present developers' solution in a way that users can easily understand and accept.REP is a multi-stage process of knowledge conversion and implementation.In this iterative conversion process, experts on requirement who master "logic" domain knowledge face users and developers.They may perform concept design, decomposition and requirement integration for users, while performing consistency analysis, knowledge optimization and flexibility processing for developers.Owning to the dissymmetry of knowledge level, high-level knowledge flows to low-level knowledge, users' business domain knowledge and other tacit knowledge to developers, and developers' software domain knowledge to users.Experts on requirement bring users' knowledge to developers.Developers analyze requirements, feed back to users and experts on requirement, accept their feedbacks, and finally produce requirements specification, making the process of combination.After requirements specification is formed, experts on re-quirement make explanation to users and provide relevant training, making the process of knowledge internalization.In each step of SECI, participations should apply other four steps to creative thinking in the following: preparation, incubation, illumination, and verification [16].

Keys to Model of knowledge Conversion in REP Based on SECI
When using the model of knowledge conversion in REP based on SECI to guide requirement elicitation, there is something should be paid attention to in the following: 1) Choose the experts on requirement who are familiar with users' business domain and are trusted by both developers and users.2) Users should take part in the REP actively, at least appointing customer representatives, including user mouthpieces and system users, etc. 3) Experts on requirement should make an observation and have a discussion with both users and developers on the spot.4) The requirements specifications made by experts on requirement should be the negotiation by the three parties and be validated by users and developers.5) Experts on re-quirement should participate in the whole process of requirement elicitation, and harmonize all kinds of conflicts between users and developers.6) All activities require a right context, called "Ba" in Japanese [9], such as creative workshops [16], meeting, and so on.

Overview
The NY Company was founded in 1986 and has two branches now.In November 2006, NY Company's top executives contacted managers of JZ Company and initially established the project through the communication of the two sides.JZ Company was committed to achieve the initial system within 3 months and chose the branch as a pilot test run.

Asymmetry of the Project Knowledge
The NY Company is not satisfied with the system vision and planning established by the software providers.This issue is largely from software provider's deficient understanding of the business processes of the catering industry, particularly in its cost accounting processes.On the other hand, NY Company has deficient or inaccurate understanding of the software (Table 1).

The Requiring Expert of the Project
The project was officially approved by the project team in November 2006, including the NY Company as the customer, the JZ Company as the experts on requirement, and the SY Company as the developer.The knowledge traits of the three parties in the project team are illustrated in Table 2.
Firstly, JZ Company determines what system that NY Company needs and what system SY company should provide.JZ Company further deepens the requirements NY Company proposed.They analyze the project in the view of the entire company and identify the cost accounting containing operating costs, inventory costs, purchasing costs, as well as costs monitoring and budgeting, not just a simple ordering system or accounting analysis.Secondly, JZ Company also needs to analyze clearly what software system is compatible with the NY Company, transforming the enterprise business processes into a computer system processing and the computer's function modules into enterprise business functions.

Situation of the Project Team
JZ organizes formal meetings within the project team actively, such as project-startup meeting, various seminars, weekly meetings, periodic meetings, etc.And the experts on requirements will keep a record for each meeting and store them into the project database as backup.

Project Process
NY Company introduced their initial requirements to JZ Company, including cost management businessprocess diagrams and related reporting requirements, and clarified them in depth and carried out business training.
JZ Company investigated respectively inspecting department, financial department, administrant department and had in-depth interviews with relevant personnel.JZ Company's staff has a good knowledge of accounting, business management knowledge, and system planning knowledge, so during the interview process they could soon be able to reach a consensus with the NY company personnel to develop the "Investigation and Analysis Specification of NY Company's Cost Accounting System."The specification clearly identified the main objective of the system, outlined the NY Company's organizational structure, identified the enterprise's overall operational processes, analyzed carefully the management of the catering industry and established the internal processes of the cost-accounting system (Figure 4), which divided the system into six modules, i.e. namely data collection, cost data, report output, initialization, query, system management and also encoded the information in the processes.After communication with the general manager of NY Company, it was clarified that the system would be used by the inspecting department, while the financial department would only use it for data queryand the administrant department would collect data.System requirements would be mainly determined by the inspecting department.
JZ Company exchanged ideas with NY Company and illustrated the figure so that both the two parties could understand and accept it.At the same time, the "NY

Customer Developer
Asymmetry of direction 1.A system contributing to control the cost.
1.It is not started from the information systems of the entire enterprise.
2. The goal of the system is not defined correctly, thinking it is just an ordering system.

Asymmetry of distance
1. What the software system can do for cost control is not clearly learnt.2. Lack the computer system knowledge.
3. Clear about the daily operating processes of the catering industry.
1. Deficient understanding of the cost management in catering industry; Unclear about how to control the cost and which part to control.2. Lack the cost management business processes knowledge.

Requirements experts( ) JZ
Organization management knowledge, cost-control knowledge, system design and developing knowledge , project management knowledge and ability, requirements acquiring knowledge and ability Company's Cost Accounting System Design Specification V1.0" and simple system prototype, which included the interface, the core module and so on, were completed.JZ company and SY company further refined the requirements, forming the "NY Company's Cost Accounting System Design Specification V2.0" and the improved system prototype, and trained the customers.The three parties signed on the "NY Company's Cost Accounting System Requirements Specification" and "NY Company's Cost Accounting System Design Specification", confirming the system entering into construction phase.
The key to effectively realizing requirements' transformation and requirements' knowledge creation are illustrated in Table 3(a) & Table 3(b).1) The three parties of the project should have mutual trust and actively participate in the project process, and basing on a clear pro-ject objective carry out the project with a detailed project plan.The appropriate methodology and technology should be adopted rather than merely seeking advancing.Face to face communication is mainly used while thoughts can be expressed in the form of prototype, ensuring effective communication and avoiding unnecessary confusion.2) JZ Company needs to construct a platform for requirements' transformation and lead the entire project process.JZ Company conducts a comprehensive and in-depth analysis to NY company, including organizational structure, status of existing enterprises' information technology and so on, understands the cost accounting systems in the view of the whole organization and proposes extensible project blue print.Meanwhile, it should integrate professional knowledge of cost accounting, business operating knowledge and computer knowledge  and ability, and reduce the knowledge asymmetry between NY Company and SY Company.

Summary
The conclusions are in the following: 1) Friendly project environment.The three parties were very friendly, and in the course of the project gradually established a mutual trust relationship.2) Executives' high consideration and the relevant members' active participation in the project.
As customer exactly knew the project objectives and was very concerned about this project, so they actively participated in the project and cooperated with other members well.3) Clear project objectives and plan.Face to face communication was mainly used to communicate the project so as to avoid unnecessary chaos and individual blind autonomy.The project team also encouraged informal communication, and the communication process should be recorded and summarized.4) Introduction of requiring expert reduces knowledge asymmetry.Specialists are knowledgeable, well-informed of accounting knowledge, business management knowledge and software knowledge, so they play a role of knowledge communication platform.5) Appropriate project management methodology and technology.If the team is wild about advanced methodology in the really critical project, the project will often end up with failure.That is because introduction of advanced methods and concepts is often a gradual process that requires adaptation.Furthermore, experts on requirement are good at project management, helping to carry out the project orderly.

Conclusions
In software REP, the knowledge of both the users and developers can be divided into explicit knowledge and tacit knowledge, and REP is an iterative process of knowledge socialization, externalization, combination and internalization.Knowledge dissymmetry is one of the forces that drive knowledge conversion.The model of knowledge conversion in REP based on SECI is put forward.Depending on experts on requirement, this model can reduce knowledge dissymmetry, and realize knowledge conversion and share more effectively and efficiently.This model is used to analyze the requirements development project of the NY Company's cost accounting system.Case study findings are in the following: 1) It can facilitate the implementation of the project to have the necessary diversity of the project team.
2) The introduction of requiring expert can achieve the transformation of knowledge effectively, thus helping to carry out the SRD. 3) Methodology and related technologies are important for carrying out the SRD.

Figure 3 .
Figure 3. Model of knowledge conversion in REP

Figure 4 .Table 2 .
Figure 4. Internal processes of cost accounting system Table 2. Knowledge traits of the three parties in the project team Knowledge traits Customer( ) NY Operating and cost management knowledge of catering industry Developer( ) SY Software and system developing knowledge

3.1 Software REP in the View of SECI Knowledge Spiral Model
It is tacit knowledge from individual to individual, and in the process people actualizes the expression and conversion of knowledge by means of observation, imitation, etc.In software REP, knowledge socialization includes the internal conversion between users' knowledge, which is the principal part and the external conversion of tacit knowledge among users,