6
Improvement in Software Development Process and Software Product through Knowledge Management Rituraj Jain Department of Computer Science & Engineering Vyas Institute of Engineering and Technology Jodhpur, India [email protected] Abstract Software engineering is a complex business in which processes, used to build product, have to go through many phases with involvement of many people. All these phases required different knowledge expertise to work together and apply innovative ideas to return successful outcome without missing the quality and reliability factors from the developed product. So software engineering can be defined as a knowledge- intensive activity. Knowledge gain by the employees is the actual assets of software industry instead of raw facts available in the form of buildings units, and machines or manufacturing plants. In nature, software industries have to accommodate changes in methodologies, techniques and technologies very fast, so it is required to constantly modify or refine the existing knowledge. Knowledge is identified as one of the most important assets of any organization and plays a key role in success under tough competition. Knowledge management (KM) system is the way by which knowledge from experiences is collected, updated in organization and make available to their employees. Knowledge management system helps in improving organizational performance. This paper is intended to highlight how knowledge management system helps in improvement in software development process & software product. Keywords: Knowledge Management, Software Development, Software Engineering, Software Product. 1. Introduction Now days, software is one of the important part of individual’s daily life. Each facility of which we are habitual is somewhere controlled by a piece of software. Cars, airplanes, factories, travel agencies, military, banks, games etc. are depended or controlled by software [1]. To make use of all these facilities efficiently, it requires that software, which has control on them, works reliable. Software industries have main goal to produce quality product and for that they need software engineers and other creative employees who will effectively exploit an organization’s knowledge and experience. But much- cited Standish report on software projects [2] “shows a staggering 31.1% of projects will be cancelled before they ever get completed. Further results indicate 52.7% of projects will cost 189% of their original estimates. The cost of these failures and overruns are just the tip of the proverbial iceberg. The lost opportunity costs are not measurable, but could easily be in the trillions of dollars...”. In current scenario, demand of the software is increasing while constant technology changes. Both of these two factors make the work process and practices at software industries dynamic in nature. Organizations have to keep track of 3W’s about knowledge: what is knowledge, where it is, and who has it? Organizations have to give importance to knowledge and their owners and must treat them as assets [3]. The information systems literature has emphasized introduction of ‘Knowledge Management Systems’ in order to support organization-wide knowledge- exchange and learning. 2. Knowledge Management The first question comes to mind is how we can define knowledge. Data always use raw numbers, out of which information is collected through data processing. Information with context and experiences is called knowledge (Agresti, 2000). According to Agresti, “Knowledge is a mix of framed experience, values, contextual information, and expert insights that provides a framework for evaluating and incorporating new experiences and information.” Knowledge can be classified as tacit or explicit. Tacit knowledge is within the individuals and cannot be recordable or reduced to digitize form. It is generated by best practices, experience, and wisdom. However, it expresses in the social realm as the response ability of individuals (productivity, innovation and initiative), and teamwork (communication, coordination and collaboration). Explicit knowledge can be recorded digitally in documents, records, patents and other intellectual property artifacts. Explicit knowledge is representational and can live and be manipulated within the digital domain. Converting data-to-information and information-to-

Improvement in Software Development Process and Software Product through Knowledge

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Improvement in Software Development Process and Software Product through Knowledge
Page 2: Improvement in Software Development Process and Software Product through Knowledge
Page 3: Improvement in Software Development Process and Software Product through Knowledge
Page 4: Improvement in Software Development Process and Software Product through Knowledge

linked performance evaluation to KM and used a balanced scorecard to monitor the performance of individual employees, divisions, as well as the organization as a whole, in KM. All these initiatives of Tata Steel seems to have paid off; in early 2003, Tata Steel was recognized as one of Asia's Most Admired Knowledge Enterprises [21]. Many other Organizations like Accenture, Cap Gemini Ernst and Young, Deloitte and Touche, Ernst and Young, KPMG Consulting, McKinsey and Company etc. are successfully using KM. 5. Implementation Of Knowledge

Management To implement KM, an excellent Implementation Plan is required to design by reusing the lessons from successful (and less successful) Implementations in other companies, and tailored to your own context. Implementation of KM varies from company to company, country to country. It should give benefits to individual to collect effective knowledge as per their needs. The plan will be based on the results of assessment and benchmarking, the Knowledge Management strategy, the proposed and agreed Knowledge Management framework, the communications plan, a staged, change management approach, and a full analysis of the risks to Knowledge Management delivery [22]. Team which has responsibilities of managing KM must have required support from management. They initiate from small scale with monitoring the growth of KM and resolving the problems arises in it. After getting the base line status that is stable status it can be implemented at organization level. Someone should expect the return from the day of implementation of it but actually it will take time to deliver effective knowledge and must be revised regularly. It may take several iterations of real input and measurable output and subsequent updates before a good KM system is in place. Some of the key features required to successful implement KM are: • Business success history defined in the form of

business cases and budget allocation • Communities of practices which required

elements like sponsorship, membership, role of responsibilities, accountability and measurement, supporting tools

• Identify the hurdles in the environment as well as in culture and resolve the issues responsible for those hurdles to create KM

• Information technology impact • Measurement Implementation of KM into an organization with existing methodologies of KM is connected with

problems like low level of complexity, lack of information, technological orientation, etc. To overcome these obstacles, FIM UHK developed a new methodology of KM implementation called KM-Beat-It. This methodology started by analysis of strength and weaknesses of existing KM methodologies. It works in different phases which are assembly of realization team to get support from higher management or owners of the organization, analysis of initial state to create integrated view on the current state of organization, creation of knowledge strategy to support business strategy and indentify knowledge activities, realization of KM activities to conduct projects or plans leading to KM [23]. 6. Tools Support For Knowledge

Management Commercial as well as academic tools are available for knowledge management. KM facilitates features such as search and database maintenance, intranet features, security, FAQ lists, logged chat features, find-an-expert features, personalization, etc., which aid in knowledge-sharing within an organization. Some of the tools used for KM are Experience Management System, Case-Based Reasoning (CBR) for retaining and retrieving experience. One more tool named BORE was developed by the University of Nebraska-Lincoln. This tool comprises of case studies related to real time problems solving experiences, and descriptions of resources like tools, projects, people and development methods. All these solution information are used to solve new problems faced by software developers during future projects. CODE – a general-purpose knowledge management system – is also supportive system developed to serve as a medium for knowledge capture and transfer, as well as editing or “packaging” knowledge to make it easily available [9]. Mostly IT based tools are categorized into Groupware systems, Data warehousing, Data mining, & OLAP, Decision Support Systems, Content management systems, Document management systems etc. (adapted from Gupta and Sharma 2005, in Bali et. al. 2009). All the tools from any group can support KM if they design and implemented properly. Groupware tools like publishing and communication tools, collaborative management tools, video conferencing and informal communication tools provides facilities to create, share explicit knowledge as well to find the sources of the knowledge. One of the best examples of groupware tool is Lotus Notes. Data mining tools and techniques can be used to search stored data for patterns that might lead to new insights. In Decision

Rituraj Jain et al, Int. J. Comp. Tech. Appl., Vol 2 (5), 1557-1562

IJCTA | SEPT-OCT 2011 Available [email protected]

1560

ISSN:2229-6093

Page 5: Improvement in Software Development Process and Software Product through Knowledge

Support Systems KM is involved to enhance the manager's knowledge through knowledge discovery and supply of relevant information. Kiku (2006) emphasized that a decision support system must be designed in light of KM. Content management systems are very relevant to knowledge management (KM) since they are responsible for the creation, management, and distribution of content on the intranet, extranet, or a website. Document management systems aid in the publishing, storage, indexing, and retrieval of documents. Although such systems deal almost exclusively with explicit knowledge, the sheer volume of documents that an organization has to deal with makes them useful and in some cases even mandatory [24]. 7. Conclusion As us discussed in the initial part of the paper that frequent changes in technologies, methods, geographical location and multicultural arrangements makes software development a complex process in nature. Knowledge management is seen as a process of converting information into value for the corporation to reduce cost, increase employee productivity, and improve quality of product and services. Knowledge management tools have the objective to reduce the problems of complexity in global software development. Software development is a knowledge- and people-intensive activity. It was argued that small and stable organizations can probably survive without knowledge management but for organizations that are large and distributed, whose environment is continuously changing, managing their knowledge assets is critical for survival. With proper management of the knowledge it is also required that people as part of an organization feel that they are getting some meaningful information from it and they have made contribution to KM. Ultimately, the attempt to advance knowledge by focusing on individual knowledge competencies requires the active involvement of everyone in the organization.

8. Acknowledgment I am grateful to Dr. Kamlesh Purohit, Principal of the Vyas Institute of Engineering and Technology, for encouragement and support provided to me. 9. References 1. Schneider, Kurt, “Experience and Knowledge Management in Software Engineering” Springer Verlag, Berlin, 2009

2. "Chaos," Dennis, Massachusets, The Standish Group Report 1995.

3. Ioana Rus, Mikael Lindvall, and Sachin Suman Sinha , “A State of the Art Report: Knowledge Management in Software Engineering”. 2001

4. http://www.cognitivedesignsolutions.com/KM/ExplicitTacit.htm

5. Mikael Lindvall, Ioana Rus, Rajasekhar Jammalamadaka, and Rikin Thakker, “A State of the Art Report: Software Tools for Knowledge Management”. 2001

6. K. M. Wiig, "Knowledge Management: Where Did It Come From and Where Will It Go?" Expert Systems with Applications, 13, (1997) 1-14.

7. Mohan Srinivasan, “Knowledge Management for Software Companies”, 2005

8. http://rndinfo.com/knowledge.html 9. Torgeir Dingsøyr and Reidar Conradi, “A

Survey of Case Studies of the Use of Knowledge Management in Software Engineering” International Journal of Software Engineering and Knowledge Engineering Vol. 12, No. 4 (2002) 391 - 414

10. T. Dingsøyr, "An evaluation of Research on Experience Factory," Proc. of the Workshop on Learning Software Organisations at the international conference on Product-Focused Software Process Improvement, 2000, pp. 55 - 66.

11. V. R. Basili, G. Caldiera, and H. D. Rombach, "The Experience Factory", in Encyclopedia of Software Engineering, Eds. J. J. Marciniak, John Wiley, 1994, pp. 469-476.

12. F.O. Bjørnson, T. Dingsøyr, “Knowledge management in software engineering: A systematic review of studied concepts, findings and research methods used, Inform.” Softw. Technol. (2008), doi:10.1016/j.infsof.2008.03.006

13. R.L. Feldmann, K.-D. Althoff, “On the status of learning software organizations”, Proceedings of the Learning Software Organizations Workshop, Springer Verlag, Kaiserslautern, Germany, 2001, pp. 2–6.

14. O’Leary, D.E., “Enterprise Knowledge Management”, IEEE Computer Magazine, March, 1998, pp. 54 – 61.

15. J. Andrade, J. Ares, R. García, S. Rodríguez, and S. Suárez, “A Reference Model for Knowledge Management in Software Engineering”, Engineering Letters 13(2): 159-166 (2006)

16. http://www.123eng.com/forum/f12/knowledge-management-software-organization-67062/

Rituraj Jain et al, Int. J. Comp. Tech. Appl., Vol 2 (5), 1557-1562

IJCTA | SEPT-OCT 2011 Available [email protected]

1561

ISSN:2229-6093

Page 6: Improvement in Software Development Process and Software Product through Knowledge

17. Johansson, C., P. Hall, and M. Coquard. “Talk to Paula and Peter - They are Experienced”, Proceedings of the Workshop on Learning Software Organisations, SEKE'99. 1999. Kaiserslautern.

18. Koennecker, A., R. Jeffery, and G. Low. “Implementing an Experience Factory Based on Existing Organisational Knowledge”. Australian Conference on Software Metrics, ACOSM'99. 1999.

19. Chatters, "Implementing an Experience Factory: Maintenance and evolution of the software and systems development process," Proc. of the IEEE International Conference on Software Maintenance, 1999, pp. 146-151.

20. C

hatters, J. Hood, and N. Jefferson, "Epik: Engineering Proceess Improvement and

Knowledge Sharing," in ICL Systems Journal, 2000, pp. 83 - 104.

21. http://www.icmrindia.org/casestudies/catalogue/IT%20and%20Systems/ITSY036.htm

22. http://www.knoco.com/knowledge-management-implementation.htm

23.

ureš, V., 2005a. “Methodology of Knowledge Management Implementation”. Proceedings of 3rd International Conference on Multimedia and Information & Communication Technologies in Education. Cáceres, Spain, pp.963- 968

24.

http://www.knowledge-management-tools.net/knowledge-management-tools.html

Rituraj Jain et al, Int. J. Comp. Tech. Appl., Vol 2 (5), 1557-1562

IJCTA | SEPT-OCT 2011 Available [email protected]

1562

ISSN:2229-6093