
Geir Kjetil Hanssen- PhD
- Senior Researcher at SINTEF
Geir Kjetil Hanssen
- PhD
- Senior Researcher at SINTEF
About
96
Publications
107,562
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,888
Citations
Introduction
Interested in software engineering and agile methods in general. Now more focus on digital transformation and development of safety-critical software.
Current institution
Additional affiliations
September 2006 - November 2010
Publications
Publications (96)
This paper explores the emergence of agile-inspired approaches in the critical infrastructure sector, with a focus on the current digital transformation of the Norwegian Oil & Gas industry. It addresses how traditional plan-driven development and strict architectural principles are challenged by the need to exploit the growing volume of operational...
This paper presents cybersecurity challenges related to industrial control systems (ICSs), identified through interviews with ICS asset owners. We interviewed participants from 10 companies within the oil and gas, food and beverage, and electricity generation and distribution industries in Norway. The interviews focused on cybersecurity challenges...
Operational Technology (OT) systems are becoming increasingly software-driven and connected. This creates new digitalization opportunities but can also increase the risk of cyber security breaches than can have severe consequences. Through a close dialogue with Norwegian actors in the oil- and gas industry and insight into the IEC 62443 standard we...
Although the forced working from home during the pandemic crisis seem to have ended, many knowledge workers choose to continue working predominantly from home as a partial or permanent practice. Related studies show that employees of companies from various industries, diverse in size and location, prefer to alter working in the office with working...
Many organizations must undergo digitalization and digital
transformation (DT) simultaneously; in itself, either is daunting. For 15
months, we followed the ongoing digitalization and DT activities at a
maritime company with over 3700 employees through a qualitative analysis of 20 interviews, a workshop, and several documents. We see how digitaliza...
Although the pandemic times of the world-wide forced working from home seem to be in the past, many knowledge workers choose to continue working predominantly from home as a partial or permanent practice. Related studies show that employees of companies from various industries, diverse in size and location, prefer to alter working in the office wit...
To satisfy the need for analytical data in the development of digital services, many organizations use data warehouse, and, more recently, data lake architectures. These architectures have traditionally been accompanied by centralized organizational models, where a single team or department has been responsible for gathering, transforming, and givi...
To satisfy the need for analytical data in the development of digital services, many organizations use data warehouse, and, more recently, data lake architectures. These architectures have traditionally been accompanied by centralized organizational models, where a single team or department has been responsible for gathering, transforming, and givi...
Context and motivation: In 2016, the European Union introduced 'in-novation partnerships' to facilitate innovative development of the EU through public procurement. Requirements engineering is one of the main challenges in the public procurement of innovative products. Nevertheless, there is little empirical research on public procurement, particul...
Context and Motivation: In 2016, the European Union introduced ‘innovation partnerships’ to facilitate innovative development of the EU through public procurement. Requirements engineering is one of the main challenges in the public procurement of innovative products. Nevertheless, there is little empirical research on public procurement, particula...
Eliciting scalability requirements during agile software development is complicated and poorly described in previous research. This article presents a lightweight artifact for eliciting scalability requirements during agile software development: the ScrumScale model. The ScrumScale model is a simple spreadsheet. The scalability concepts underlying...
Eliciting scalability requirements during agile software development is complicated and poorly described in previous research. This article presents a lightweight artifact for eliciting scalability requirements during agile software development: the ScrumScale model. The ScrumScale model is a simple spreadsheet. The scalability concepts underlying...
Digitalization and remote operations introduce new possibilities for continuous and agile improvements of products in operation by exploiting inherent possibilities in software which is easily changeable and deployable. This approach is driven by data analysis, customer expectations and the possibility of frequent deployment over the air of improve...
Cars include more and more functional safety systems such as line departure warning, which in the long run may develop towards full autonomous driving. The software also monitors more of the critical operations such as alert monitoring of the driver. Due to the growth in software size and complexity, agile methods are introduced to improve communic...
Tutorial
SUMMARY AND PURPOSE
This Tutorial presents a combination of current research, our experiences collected from our cooperation with industry, relevant research, surveys and information found in blogs.
The main goal of the SafeScrum process is to adapt the Scrum development process to the generic IEC 61508:2010 standard and similar standards...
In recent years, there has been an increasing interest and growing use of agile development methods when developing safety-critical systems. This interest is motivated by the need to shorten time-to-market, reduce costs, improve quality, and to support the paradigm of continuous development and deployment. This paper presents an agile lifecycle app...
Safety analysis is an important part of developing safety critical software. There exists, however, little guidance on how the safety analysis shall be done as part of an agile safety lifecycle process. In the recent years, the development of safety critical systems has changed from mainly hardware related development to mainly software related dev...
While agile methods have had a great uptake and impact in software engineering, managing non‑functional qualities still seems to be a challenge. We focus on the scalability of software systems and how this critical quality can be managed and controlled, while still benefiting from the advantages of an agile process. Scalability is a property of a s...
During the last years, there has been an increasing use of agile methods when developing safety-critical systems, such as autonomous cars and ships. In the near future, we do also expect that DevOps, which unifies software development (Dev) and software operation (Ops), will be part of this rapidly growing industries. New technology has made it sim...
During the last years, there has been an increasing use of agile methods when developing safety-critical systems, such as autonomous cars. IEC 26262, the current safety standard series for automotive and IEC 61508 for generic systems and components are not sufficient when developing autonomous cars. New technology has made it simpler to monitor the...
Agile development of safety-critical software is growing in maturity with signs of industrial adoption. This is driven by the software growth in a variety of safety applications, which also affects operation and business models. The fourth international workshop on agile development of safety-critical software (ASCS) gathered some of the leading re...
Scalability engineering is currently not well integrated into agile development techniques. This paper extends agile development techniques so that scalability can be handled in an incremental and iterative development process. By scalability we mean the ability of a system to handle increasing workload. We propose the ScrumScale Method which inclu...
During the last few years, there has been increased use of agile meth-ods when developing safety-critical systems. This is done to shorten time to mar-ket and to reduce costs. Having an agile approach has become even more im-portant due to the new functional safety requirements that are part of automatic and autonomous transports like trains, cars...
We explain the central concepts of agile development as they are used in Scrum.
We give a short introduction to the role standards play in development of safety-critical software and look at what standards are not.
A short introduction regarding tools and tools classification.
First we present a company’s development process.
We explain the important ideas in SafeScrum ®—separation of concern and the relevant parts of the V-model.
Why you should consider agile development.
We present a method for adapting SafeScrum ®to a development standard.
This book addresses the development of safety-critical software and to this end proposes the SafeScrum® methodology. SafeScrum® was inspired by the agile method Scrum, which is extensively used in many areas of the software industry. Scrum is, however, not intended or designed for use with safety-critical systems; hence the authors propose guidelin...
We give a short introduction to IEC 61508 and a definition of safety-critical software.
Requirements, testing and code refactoring.
Traceability of requirements.
Sprint planning, workflow, review meetings and retrospectives.
We discuss issues related to process and necessary documentation.
Software firms participate in an ecosystem as a part of their innovation strategy to extend value creation beyond the firms boundary. Participation in an open and independent environment also implies the competition among firms with similar business models and targeted markets. Hence, firms need to consider potential opportunities and challenges up...
Software firms participate in an ecosystem as a part of their innovation strategy to extend value creation beyond the firm’s boundary. Participation in an open and independent environment also implies the competition among firms with similar business models and targeted markets. Hence, firms need to consider potential opportunities and challenges u...
Patient-centered care encourages active involvement of patients in their own treatment and a collaborative perspective on the relationship between patient and practitioner. However, to achieve constructive patient-practitioner collaboration in medical consultations the partakers need to successfully interact across conceptual boundaries that can im...
Agile development of safety-critical software has evolved from an early conceptual idea to, presently, an approach that is gaining uptake in the industry. As we now get more and more experience we also discover new challenges and related ideas that needs further investigation. The third international workshop on agile development of safety-critical...
Avionic systems for communication, navigation, and flight control, and many other functions are complex and crucial components of any modern aircraft. Present day avionic systems are increasingly based on computers and a growing percentage of system complexity can be attributed to software. An error in the software of a safety-critical avionic syst...
Purpose
Our purpose is to provide insight into the added value of applying a participatory design approach in the design of an interactive sound environment simulator to facilitate communication and understanding between patients and audiologists in consultation situations.
Method
We have applied a qualitative approach, presenting results and disc...
Objectives: During the last 10 years there has been an increasing use of agile development methods and practices when developing safety-critical software, in order to shorten the time to market, to reduce costs, to improve quality and to have more frequent releases. Several of the agile practices cannot be used as-is when developing Safety-Critical...
Various agile methods have several quality assurance mechanisms embedded in the process itself, without any explicit QA role. In principle, the team takes care of quality assurance during sprints and as part of daily stand-ups, sprint reviews and retrospectives. We have defined SafeScrum, a variant of Scrum with some additional XP techniques that c...
The first international workshop on agile methods applied to development and certification of safety-critical software (ASCS) was organized as part of the XP 2015 conference on May 25th 2015. The workshop gathered 17 experts from industry and academia to share recent industrial experience and research on applications of agile methods in the safety...
This paper explores how interactive technology can help overcome barriers to active patient participation in audiological consultations involving hearing aid tuning. We describe the design and evaluation of a prototype sound simulator intended to trigger reflection in patients regarding their hearing experiences, and help guide the tuning process....
In the last years there has been an increased use of agile development methods when developing safety-critical software in order to reduce time to market, to reduce costs and to improve quality.
The relevant safety standards only states "Any software lifecycle model may be used provided all the objectives and requirements of this clause are met" a...
Active patient participation in audiological treatment is central in improving the benefits and satisfaction that patients experience in the use of hearing aids. However, involving patients in their own treatment is challenging. Clinics often lack appropriate tools for information sharing and collaboration between patients and audiologists. In addi...
Change Impact Analysis (CIA) is an important task for all who develops and maintains safety critical software. Many of the safety standards that are used in the development and use of systems with a certified safety integrity level (SIL) requires changes of such systems to be initiated by a CIA. The resulting CIA report will identify planned change...
The creation and adoption of a software ecosystem is becoming increasingly pervasive, leading to new research and management challenges. Several companies are platformizing successful products and opening these products up for outside innovation where customers expect to be actively involved in the shaping of the technology they use. This also lead...
Change Impact Analysis related to safety of products and systems is used by companies in many industries and is required by several standards. The International Electrotechnical Commission (IEC) has issued several standards with requirements and guidelines for the establishment of analysis like FMECA (IEC 60812), FTA (IEC 61025), Design review (IEC...
a a SINTEF ICT b IDI NTNU c ABB __________________________________________________________________________________ Abstract Agile development, and especially Scrum, has gained increasing popularity. IEC 61508 and several related standards for development of safety critical software has a strong focus on documentation, including planning, which shal...
Interoperability and effective maintenance and maintainability are necessary for the European rail network, in order to obtain cost effective operation along corridors. The European rail sector is regulated through directives such as the Interoperability Directive 2008/57/EC and national regulations. In a requirement process for cross border mainta...
Most large software companies are involved in offshore development, now small- and medium-sized companies are starting to undertake global sourcing too. Empirical research suggests that offshoring is not always successful; however, only a few comprehensive failure stories have been reported. The objective of our study has been to understand why sma...
The main objective of U-QASAR is to create a flexible Quality Assurance, Control and Measurement Methodology to measure the quality of Internet-related software development projects and their resulting products. The methodology will be supported by an Internet solution composed of several knowledge services based on open standards that will be able...
Most large software companies are involved in offshore development of some sort, and now the trend is that small and medium sized companies are also going global. While empirical research suggests that offshoring are not always successful, evidence explaining the reasons for terminated collaborations is scarce, especially for small and medium sized...
Software ecosystems is an emerging trend within the software industry, implying a shift from closed organizations and processes towards open structures, where actors external to the software development organization are becoming increasingly involved in development. This forms an ecosystem of organizations that are related through the shared intere...
Software ecosystems have become a defined and active field of research based on the recent emergence of new open business models leading to new roles and patterns for collaboration, innovation, and value proposition. In this paper we look into the theoretical foundations of this new research field. We review recent publications to describe the pres...
In this paper we present preliminary findings from a tertiary study on global software engineering. In particular, we observe current trends in the software engineering research and perform an investigation of the role of agile topics in the GSE research literature. Our findings indicate that agility is one of the topics attracting attention in the...
This article describes a group of developers and how they successfully use Fitness. The study is based on interviews with 4 consultants, and shows that automated acceptance testing was used in two steps every iteration: a specification step where it helped communicate requirements, and a verification step where it helped developers in the process o...
This paper reports on a study of a software product line organization that has adopted agile software development to address process rigidity and slowing performance. Experience has showed that despite some impediments, this has become a valuable change to both the organization and its development process. The aim of this study is to identify and u...
This paper looks into a rather new idea of combining practices for software product line engineering and agile methods for software development. Both have by now become established approaches with research showing promising results and industry paying great attention. Yet, these two have been considered to be conflicting approaches to develop high...
The software industry is experiencing a shift towards more open processes, a globalized market and more active and engaged customers and end users. This change seems natural and inevitable, imposing necessary changes in how software product line organizations plan and drive the development of their products. This paper gives insight into some recen...
As agile software development principles and methods are being adopted by large software product organizations it is important to understand the role of software entropy. That is, how the maintainability of a system may degrade over time due to continuous change. This may on one side affect the ability to act agile in planning and development. On t...
Software entropy is a phenomenon where repeated changes gradually degrade the structure of the system, making it hard to understand and maintain. This phenomenon imposes challenges for organizations that have moved to agile methods from other processes, despite agile's focus on adaptability and responsiveness to change. We have investigated this is...
Automated acceptance testing is a new and promising agile testing approach. Fit is the most established technical framework for specifying and executing acceptance tests which, ideally, lets the users express requirements in the form of acceptance tests. We performed an industrial case study to learn more on the costs and benefits of Fit tests. We...
Automated acceptance testing is a quite recent addition to testing in agile software development holding great promise of improving communication and collaboration. This paper summarizes existing literature and also presents a case study from industry on the use of automated acceptance testing. The aim of this paper is to establish an up to date ov...
In this paper we discuss how to reconcile agile development's focus on speed and lean development with ISO 9001's need for documentation, traceability and control. We see no need to change neither ISO 9001 nor the agile concept. Instead, we see a need to be flexible when using terms such as planning and evidence of conformance. It is true that we c...
This paper presents a case study of a software product company that has successfully integrated practices from software product line engineering and agile software development. We show how practices from the two fields support the company’s strategic and tactical ambitions, respectively. We also discuss how the company integrates strategic, tactica...
Systematic reviews are one of the key building blocks of evidence-based software engineering. Current guidelines for such reviews are, for a large part, based on standard meta-analytic techniques. However, such quantitative techniques have only limited applicability to software engineering research. In this paper, therefore, we describe our experie...
RUP is a comprehensive software development process framework that has gained a lot of interest by the industry. One major
challenge of taking RUP into use is to tailor it to specific needs and then to introduce it into a development organization.
This study presents a review and a systematic assembly of existing studies on the tailoring and introd...
This descriptive, longitudinal case study report upon the experiences from a medium-sized packaged software product supplier in their improvisation-like transition from a plan based process to Evo-an agile, evolutionary process. We focus on the organizational implications for the supplier including customer collaboration, process control and psycho...
In an action research study, we describe the application of the scrum software development process in a small cross-organizational development project. The stakeholders in the project report many of the benefits we have found in previous studies, such as increased overview of the project, flexibility and motivation. In addition, we have found that...
In this longitudinal case study we have followed a small software product company that has turned from a waterfall-like process to evolutionary project management (Evo). The most prominent feature of the new process is the close engagement of customers. We have interviewed both internals and customers to investigate the practicalities, costs, gains...
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 i...
The Unified Process is a widely used process framework for software development. The framework is covering many of the roles, activities and artifacts needed in a software development project. However, a tailoring of the framework is necessary to fit specific needs. This tailoring may be accomplished in various ways. In this paper we describe a con...
The unified process has become a widely known and used framework for software development organizations. The use of the framework, however, is not straight forward, and it has not been the intention from the creators of the framework that the development organization should use it 'out of the box'. Some sort of tailoring or adoption is therefore ne...
Learning from experience is the key to successes for all that develop software. Both the successes and the failures in software
projects can help us to improve. Here we discuss two versions of Post Mortem Analysis (PMA) as methods for harvesting experience
from completed software projects, which can be part of a larger knowledge management program....
Agile software development methods, such as Extreme Programming, focus on informal learning mechanisms like pair programming. Yet powerful methods, new knowledge that is gained in a project will not spread rapidly in an organisation if knowledge and experience is not externalised. We propose to combine a lightweight externalisation method: postmort...
The Rational Unified process is widely used as a process framework for software development. The introduction and use of the RUP is not straight forward. Experience and research have shown that some sort of tailoring of RUP to the software development organization and the software development projects is necessary to be able to use the framework in...