Finn Olav Bjørnson
Norwegian University of Science and Technology
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Finn Olav Bjørnson.
Information & Software Technology | 2008
Finn Olav Bjørnson; Torgeir Dingsøyr
Software engineering is knowledge-intensive work, and how to manage software engineering knowledge has received much attention. This systematic review identifies empirical studies of knowledge management initiatives in software engineering, and discusses the concepts studied, the major findings, and the research methods used. Seven hundred and sixty-two articles were identified, of which 68 were studies in an industry context. Of these, 29 were empirical studies and 39 reports of lessons learned. More than half of the empirical studies were case studies. The majority of empirical studies relate to technocratic and behavioural aspects of knowledge management, while there are few studies relating to economic, spatial and cartographic approaches. A finding reported across multiple papers was the need to not focus exclusively on explicit knowledge, but also consider tacit knowledge. We also describe implications for research and for practice.
Empirical Software Engineering | 2006
Jingyue Li; Finn Olav Bjørnson; Reidar Conradi; Vigdis By Kampenes
More and more software projects use Commercial-Off-The-Shelf (COTS) components. Although previous studies have proposed specific COTS-based development processes, there are few empirical studies that investigate how to use and customize COTS-based development processes for different project contexts. This paper describes an exploratory study of state-of-the-practice of COTS-based development processes. Sixteen software projects in the Norwegian IT companies have been studied by structured interviews. The results are that COTS-specific activities can be successfully incorporated in most traditional development processes (such as waterfall or prototyping), given proper guidelines to reduce risks and provide specific assistance. We have identified four COTS-specific activities—the build vs. buy decision, COTS component selection, learning and understanding COTS components, and COTS component integration – and one new role, that of a knowledge keeper. We have also found a special COTS component selection activity for unfamiliar components, combining Internet searches with hands-on trials. The process guidelines are expressed as scenarios, problems encountered, and examples of good practice. They can be used to customize the actual development processes, such as in which lifecycle phase to put the new activities into. Such customization crucially depends on the project context, such as previous familiarity with possible COTS components and flexibility of requirements.
IEEE Software | 2009
Torgeir Dingsøyr; Finn Olav Bjørnson; Forrest Shull
There have been many claims about knowledge managements benefits in software engineering, such as decreased time and cost for development, increased quality, and better decision-making abilities. Although we can find some success stories illustrating these claims, particularly on aspects related to the systems and engineering schools, more research is necessary to explore the intersection between each school and the software engineering field. Researchers should continue to emphasize the need for a broad focus across multiple KM schools to suceed in improving KMs practical application in software engineering.
Information & Software Technology | 2009
Finn Olav Bjørnson; Alf Inge Wang; Erik Arisholm
Retrospective analysis is a way to share knowledge following the completion of a project or major milestone. However, in the busy workday of a software project, there is rarely time for such reviews and there is a need for effective methods that will yield good results quickly without the need for external consultants or experts. Building on an existing method for retrospective analysis and theories of group involvement, we propose improvements to the root cause analysis phase of a lightweight retrospective analysis method known as post mortem analysis (PMA). In particular, to facilitate brainstorming during the root cause analysis phase of the PMA, we propose certain processual changes to facilitate more active individual participation and the use of less rigidly structured diagrams. We conducted a controlled experiment to compare this new variation of the method with the existing one, and conclude that in our setting of small software teams with no access to an experienced facilitator, the new variation is more effective when it comes to identifying possible root causes of problems and successes. The modified method also produced more specific starting points for improving the software development process.
european conference on software process improvement | 2007
Geir Kjetil Hanssen; Finn Olav Bjørnson; Hans Westerheim
Reports of software a development projects that miss schedule, exceeds budget and deliver products with poor quality are abundant in the literature. Both researchers and the industry are seeking methods to counter these trends and improve software quality.Software Process Improvement is a systematic approach to improve the capabilities and performance of software organizations. One basic idea is to assess the organizations’ current practice and improve their software process on the basis of the competencies and experiences of the practitioners working in the organization. A major challenge is to create strategies and mechanisms for managing relevant and updated knowledge about software development and maintenance. Insights from the field of knowledge management are therefore potentially useful in software process improvement efforts to facilitate the creation, modification, and sharing of software processes in any organization.In the work presented in this thesis, we have made an overview of empirical studies on the effect of knowledge management in software engineering. We have categorized these studies according to a framework and we report findings on the major concepts that have been investigated empirically, as well as the research methods applied within the field. We have also investigated two main strategies for knowledge management, codification and personalization, through the application of four concrete methods in a software process improvement setting: Mentoring, Rational Unified Process, Process Workshops and Post Mortem Analysis.We have classified the work in this thesis within three main themes:RT1: Previous research on knowledge management in software engineering.RT2: Application of knowledge management to improve the software process through codification of knowledge.RT3: Application of knowledge management to improve the software process through personalization of knowledge.The main contributions are:C1: An overview of the research literature on empirical studies of knowledge management in software engineering.C2: A method for tailoring the Rational Unified Process to the development process of a software consulting company.C3: Improvements of the Process Workshops method by contextualization.C4: Improvement of the root-cause analysis phase of the lightweight Post Mortem Analysis for more effective project retrospectives.C5: Proposed methods to increase the learning effect of mentor programs in software engineering.
european conference on software process improvement | 2005
Geir Kjetil Hanssen; Hans Westerheim; Finn Olav Bjørnson
The Rational Unified Process (RUP) is a comprehensive software development process framework emphasizing use-cases, architecture focus and an iterative approach. RUP is widely known and many organizations have tried to adopt it. Being a framework, RUP has to, in some way, be tailored to the specific context of use, no software development project is alike. This paper presents a case study of a Norwegian SME that tried to adopt RUP in the simplest way, by introducing the methodology by providing comprehensive documentation and some simple training. Our study shows that the use of RUP had some positive effects but also that the use has been scattered. Interviews with users of RUP show that there is a great need of better training and practical support in getting most value out of RUP. The key message is that if you consider taking RUP into use you have to invest resources in it. Training and support are key success factors.
product focused software process improvement | 2005
Geir Kjetil Hanssen; Hans Westerheim; Finn Olav Bjørnson
Reports of software a development projects that miss schedule, exceeds budget and deliver products with poor quality are abundant in the literature. Both researchers and the industry are seeking methods to counter these trends and improve software quality.Software Process Improvement is a systematic approach to improve the capabilities and performance of software organizations. One basic idea is to assess the organizations’ current practice and improve their software process on the basis of the competencies and experiences of the practitioners working in the organization. A major challenge is to create strategies and mechanisms for managing relevant and updated knowledge about software development and maintenance. Insights from the field of knowledge management are therefore potentially useful in software process improvement efforts to facilitate the creation, modification, and sharing of software processes in any organization.In the work presented in this thesis, we have made an overview of empirical studies on the effect of knowledge management in software engineering. We have categorized these studies according to a framework and we report findings on the major concepts that have been investigated empirically, as well as the research methods applied within the field. We have also investigated two main strategies for knowledge management, codification and personalization, through the application of four concrete methods in a software process improvement setting: Mentoring, Rational Unified Process, Process Workshops and Post Mortem Analysis.We have classified the work in this thesis within three main themes:RT1: Previous research on knowledge management in software engineering.RT2: Application of knowledge management to improve the software process through codification of knowledge.RT3: Application of knowledge management to improve the software process through personalization of knowledge.The main contributions are:C1: An overview of the research literature on empirical studies of knowledge management in software engineering.C2: A method for tailoring the Rational Unified Process to the development process of a software consulting company.C3: Improvements of the Process Workshops method by contextualization.C4: Improvement of the root-cause analysis phase of the lightweight Post Mortem Analysis for more effective project retrospectives.C5: Proposed methods to increase the learning effect of mentor programs in software engineering.
product focused software process improvement | 2005
Finn Olav Bjørnson; Torgeir Dingsøyr
Mentor programs are important mechanisms that serve functions such as career development as well as knowledge transfer. Many see mentor programs as an efficient, inexpensive, flexible and tailored way of transferring technical knowledge from experts to less experienced employees. We have investigated how a mentor program works in a small software consultancy company, and propose that the learning effect of the program could be improved by introducing methods to increase the employees level of reflection.
wissensmanagement | 2005
Finn Olav Bjørnson; Tor Stålhane
A key leverage for small software consultancy companies is the collective knowledge possessed by their consultants. There have been some studies in the literature on how to harvest and transfer this knowledge, but most studies are aimed at large multinational corporations. In this paper we describe an ongoing research project, aimed at improving knowledge sharing in a small software consultancy company through the use of a method framework in an electronic process guide coupled with an experience repository.
International Conference on Agile Processes and Extreme Programming in Software Engineering | 2009
Finn Olav Bjørnson; Torgeir Dingsøyr
Knowledge management is important for software development, whether this is done using traditional or agile methods. In an exploratory survey on how agile and traditional companies view current practice and future importance of knowledge management approaches, we found that agile companies seem to be more satisfied with their knowledge management approaches when compared to traditional companies. Further, when comparing perceptions between small and medium sized companies, we found that medium sized companies are more satisfied with their knowledge management approaches than small companies.