About
130
Publications
56,754
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
5,480
Citations
Introduction
Skills and Expertise
Publications
Publications (130)
Search engine advertising (SEA), in which businesses (or advertisers) bid on keywords and pay search engine providers (e.g. Google) to get a secure place on the first page of search results, is a prominent source of revenue for search engine companies, and an effective method for businesses to promote their visibility on the Web. SEA is a complex a...
Search Engine Advertising (SEA) is a prominent source of revenue for search engine companies, and also a solution for businesses to promote their visibility on the Web. However, there is little academic research available about the factors and the extent to which they may influence businesses’ decision to adopt SEA. Building on Theory of Planned Be...
Search engine advertising (SEA) has attracted the attention of academic researchers from marketing, information systems, computer science, mathematics and other related fields. Aiming to provide a picture of the state of the art in this field, the present research systematically searches for and reviews the literature on SEA, analyses and structure...
Several factors make empirical research in software engineering particularly challenging as it requires studying not only technology but its stakeholders’ activities while drawing concepts and theories from social science. Researchers, in general, agree that selecting a research design in empirical software engineering research is challenging, beca...
Open Source Software (OSS) is an important asset in today's software-intensive society. The success of OSS projects is highly dependent on a number of factors. These factors must be understood and managed as an OSS project progresses. Thus, project management of an OSS project has a decisive role in ensuring the success of its software. The objecti...
Context
Continuous deployment (CD) is an emerging software development process with organisations such as Facebook, Microsoft, and IBM successfully implementing and using the process. The CD process aims to immediately deploy software to customers as soon as new code is developed, and can result in a number of benefits for organizations, such as: n...
Context: Software quality issues are commonly reported when offshoring software development. Value-based software engineering addresses this by ensuring key stakeholders have a common understanding of quality.
Objective: This work seeks to understand the levels of alignment between key stakeholder groups within a company on the priority given to as...
The innovation of Search Engine Advertising SEA acts as a prominent source of revenue for search engine companies, as well as being a solution for businesses to promote their visibility on the Web. However, the underlying factors that contribute to businesses' decision to adopt SEA have not been well investigated. Building upon known behavioural th...
ContextWhilst technical debt is considered to be detrimental to the long term success of software development, it appears to be poorly understood in academic literature. The absence of a clear definition and model for technical debt exacerbates the challenge of its identification and adequate management, thus preventing the realisation of technical...
A variety of new forms of business are enabled through globalization and practiced by software organizations today. While companies go global to reduce their development costs, access a larger pool of resources and explore new markets, it is often assumed that the level of delivered services shall remain the same after implementing the sourcing dec...
Over the last 30 years, IT outsourcing has become an enormous industry, and it continues to grow today. Over this period, outsourcing has matured and become widespread; this change has meant that for many managers, outsourcing questions have shifted from “Whether or not I should outsource?” to “What should I do when the outsourcing contract is abou...
This research study explores current quality requirements (QR) management practices in Australian organisations focusing on the elicitation, handling processes, challenges faced, quantification methods used and interdependency management. This research was conducted through six mini case studies, examining organizations that varied in size, structu...
An increasing amount of time is being spent at organizational meetings. One common type of meeting in software projects is the daily team meeting, which is the most important forum for coordinating and planning daily work. To better understand how software teams make decisions, communicate, and coordinate their work, we must uncover the micro-level...
ContextAgile software development changes the nature of collaboration, coordination, and communication in software projects.Objective
Our objective was to understand the challenges of shared decision-making in agile software development teams.Method
We designed a multiple case study consisting of four projects in two software product companies that...
Background
Software quality is complex with over investment, under investment and the interplay between aspects often being overlooked as many researchers aim to advance individual aspects of software quality.AimThis paper aims to provide a consolidated overview the literature that addresses trade-offs between aspects of software product quality.Me...
Sustaining innovation in a fast growing software development company is difficult. As organisations grow, peoples' focus often changes from the big picture of the product being developed to the specific role they fill. This paper presents two complementary approaches that were successfully used to support continued developer-driven innovation in a...
The management and coordination of globally distributed development poses many new challenges, including compensating for informal implicit communication, which is aggravated by heterogeneous social and engineering traditions between development sites. Although much research has gone into identifying challenges and working with practical solutions,...
This paper studies the success of Open Source Software (OSS) projects in attracting developer interest and achieving project efficiency. The focus of our study is on examining the relationship between the four sets of capabilities proposed in the Theory of Competency Rallying (TCR) and the success of OSS projects. The data collected from 607 OSS pr...
Open Source Software (OSS) projects are contingent on volunteer developers and voluntary contributions from users, accordingly, traditional performance measures used for software projects, like being on time and budget, and satisfying specifications, may not be relevant for such projects. Although researchers have studied some predictors of OSS pro...
Collaboration between industry and academia supports improvement and innovation in industry and helps to ensure industrial relevance in academic research. This article presents an exploratory study of factors for successful collaboration between industry and academia. A survey designed for data collection was first conducted in Sweden and then repl...
Unlike closed source software development, open source software (OSS) projects are not commonly driven by direct profit and do not offer developers monetary incentives. Instead, OSS development relies on volunteer developers and voluntary contributions from the user community. Thus, attracting voluntary user contributions to OSS projects is a chall...
Technical debt utilises financial debt as a metaphor to describe the phenomenon of increasing software development costs over time. Whilst this phenomenon is evidently detrimental to the long-term success of software development, it appears to be poorly understood in the academic literature. The absence of a clear definition and model for technical...
Forking is the creation of a new software project by making a copy of artefacts from another project. Forking is gaining traction in industry because of the maturity of distributed version control systems and the abundance of open source software (OSS) and hosting platforms that support forking. However, forking in OSS is a poorly understood practi...
Enhancement process is a key process in which open source software (OSS) project responds to user needs in terms of suggesting and implementing software features, thus the dimension of enhancement effectiveness corresponds nicely to adopters| concern about open source software. This study aims to construct a valid, reliable measurement model for th...
Open source software (OSS) products have been widely adopted by commercial as well as government organisations. However, despite their increased adoption, many OSS projects still fail in responding to users' quality needs such as resolving software defects. Hence, this paper investigates the responsiveness of OSS projects to users' needs in terms o...
Requirements prioritization is recognized as an important but challenging activity in software product development. For a product to be successful, it is crucial to find the right balance among competing quality requirements. Although literature offers many methods for requirements prioritization, the research on prioritization of quality requireme...
Open source software (OSS) has been widely adopted by organizations as well as individual users and has changed the way software is developed, deployed and perceived. Research into OSS success is critical since it provides project leaders with insights into how to manage an OSS project in order to succeed. However, there is no universally agreed de...
Abstract: This paper undertakes a systematic review to gain insight into existing studies on the turnover of information technology (IT) personnel. Our systematic review of 72 studies from 1980 to 2008 examines the background and trend of research into IT personnel"s intentions to leave their workplaces, in addition to providing a taxonomy of the d...
The defect-fixing process is a key process in which an open source software (OSS) project team responds to customer needs in terms of detecting and resolving software defects, hence the dimension of defect-fixing effectiveness corresponds nicely to adopters' concerns regarding OSS products. Although researchers have been studying the defect fixing...
Product success depends on skilled and competent product management. In essence, a product manager decides what functionality and quality a product should offer, to which customers, and when in time, while assuring a winning business case. Software product management is particularly important when the product is envisioned, developed, and deployed...
Quality requirements complement functional requirements with information on the target quality levels of software functions or emergent system quality aspects. In release planning the allocation of development effort in further investments into product enhancements, new or enhanced functions are competing with quality improvements for limited resou...
This report summarizes the presentations and discussions at REFSQ'09, the 15th International Working Conference on Requirements Engineering: Foundation for Software Quality which was held on June 8-9, 2009 in Amsterdam, The Netherlands.
The long-term sustainability of a software product depends on more than
developing features. Priorities are placed on aspects that support the
development of software, like software product quality (eg. ISO 9126), project
constraints -- time and cost, and even the development of intellectual capital
(IC). A greater focus on any one aspect takes...
Many firms are reevaluating their initial outsourcing decisions for various reasons, including whether the goals set for the
outsourcing effort were achieved, changes in the business environment, internal changes, and/or mergers. An increasing number
of outsourcing deals are being terminated and backsourced or re-outsourced. According to a recent i...
Value-based requirements engineering plays a critical role in software development because it seeks to align requirements
with the organizational strategy that drives business value. This chapter discusses the value proposition of service-oriented
architectures and proposes a value-based decision mechanism for requirements engineering for service-o...
China has become a formidable player and continues to grow strongly in what has
become a dynamic global market for software development. In this highly
competitive environment it has never been more difficult or important to maximize
the creation of software product value. But each key stakeholder group –
purchasers, users, software
managers and...
Context and motivation: Finding a balance between commercial (customer
specific, market pull and external quality requirements) and internal quality
requirements is a recognized challenge in market driven software product
development (MDSPD). In order to address this challenge it is important to
understand the preferences and biases influencing...
In the agile approach, the self-organizing team itself decides how work is coordinated. For individuals in a team to be motivated
and satisfied with their job they need to have control over their work and over the scheduling and implementation of their
own tasks. However, individual and team level autonomy may conflict, and reduce the effectiveness...
A large Norwegian company with a medium-sized internal software development department decided to outsource part of their software development function to an Indian outsourcer. After a year and a half, and what was perceived to be an unsatisfactory performance, the decision was made to wind-down and terminate this outsourcing deal. It was decided t...
Different stakeholders involved in the software development may attribute success to different indicators. Analogously they may support different factors considered the root of successful projects. The study presented in this paper explores how different stakeholders perceive project success and what they deem the effect of specific factors on the...
Intellectual capital (IC) is both the key input and tool used in the development of software today. It covers the value provided to an organisation by the employees, the processes and products that support the organisation, and the knowledge held in the relationships between the organisation and external parties - covering human capital, structural...
Geographical Information Systems (GIS) are decision support tools that capture, store and analyze spatial data (i.e. geographically referenced data)and help decision makers to relate different type of data in a spatial context and to reach a conclusion about this relationship. Traditionally, GIS technology has been frequently applied in disciplines...
In today's knowledge based economies, organizations cannot rely on acquiring the required knowledge solely from internal resources. This will make inter-organizational knowledge sharing an important issue. A great proportion of the current Studies mostly focus on the intention to share knowledge within an organization. This paper argues that there...
An important task in Requirements Engineering is to select which requirements that should go into a specific release of a system. This is a complex decision that requires balanc- ing multiple perspectives against each other. In this article we investigate what students imagine is important to pro- fessionals in requirements selection. The reason fo...
A challenge with introducing agile software development is changing the way decisions are made. In this paper, we discuss the decision making processes used in Scrum teams. We found that a prerequisite for introducing Scrum is the alignment of decisions on a strategic, tactical and operational level. In addition, specialisation can be a barrier for...
Software product line (PL) engineering has been established in the last decade as a proven way to build flexibility and reusability into software systems. This approach is centred around the idea that the initial investments made in the development of reusable artefacts are outweighed by the quality and product improvements gained through the reuse...
It is important for a software company to maximize value creation for a given investment. The purpose of requirements engineering activities is to add business value that is accounted for in terms of return-on- investment of a software product. This paper provides insight into the release planning processes used in the software industry to create s...
This study, using both quantitative and qualitative methods, investigates current practice of Knowledge Management (KM) in Software Engineering (SE) processes in two Australian companies on the basis that they both claimed to apply KM practices in their software development work. It also describes the KM activities and KM process used in SE practic...
This chapter examines the potential of the application of an individual creativity-enhancing technique (called SoloBrainstorming, or SBS) to improve the level of creativity of Information Technology (IT) students in performing information system (IS) requirements determination. Requirements determination, in the context of software development, inv...
Empirical studies have demonstrated that requirements errors introduced during software development are most numerous in the
software life-cycle, making software requirements critical determinants of software quality. This article reports an exploratory
study which provides insight into industrial practices with respect to requirements engineering...
Today's rapid changes and global competition forces software companies to become increasingly competitive and responsive to consumers and market developments. The purpose of requirements engineering activities is to add business value that is accounted for in terms of return-on-investment of a software product. This article introduces some of the f...
The main objective of this paper is to better understand the nature and patterns of students' socialization patterns in relation to the adoption of Instant Messaging (IM) systems. A model based on the Extended Planned Behavior Theory (EPBT) was applied to a sample of 80 students of software engineering at the University of New South Wales, Australi...
The use of Knowledge Management (KM) is increasingly relevant to education for the management of information and knowledge resources. It is important that educational organisations adapt to mobile learning using existing established frameworks for evaluation. In particular, strategies for KM within the university context need to be understood. This...
Recent research in software engineering has highlighted the need to ensure alignment between business objectives, customer requirements and product development. If the business is to meet its strategic objectives, the Requirements Engineering (RE) activities must be executed in a manner such that they support these higher level objectives. A clear...
The circumstances surrounding the success and failure of software projects have been a topic of discussion among both practitioners and researchers for many years. A classical definition of project success is one that is within budget and on time. Some of the most common factors identified in the literature as leading to software project success ar...
This paper provides results of an empirical study on how software product value is both understood and created through release planning for software products in Australia. We examine how IT professionals perceive value creation through requirements engineering and how the release planning process is conducted to create software product value. We th...
The rapid growth of the Chinese software industry has attracted attention from all over the world. Meanwhile, software requirements selection has a crucial impact on the final value of a software product and the satisfaction of stakeholders. This paper presents an empirical study, which focuses on the decision-making criteria for requirements selec...
Product value is based on which requirements are included in a specific release of a software product. This chapter provides an overview of the value con- cept and presents an empirical study conducted as an industrial survey. The objec- tive of the survey was to quantify the importance of different decision-making cri- teria when deciding whether...
The success and failure of software projects have been discussed in literature for many years. Research findings do not agree with one another given different types of projects, products and cultures that have been investigated. This research examines different perceptions about what effect various factors have on software project success among dif...
Value-Based Software Engineering requires the capability to measure and analyze value in order to make informed decisions. The difficulty experienced by many organizations in measuring concepts that are even simpler than value suggests that this requirement will be hard to meet. The goal of this chapter is to build an understanding of measurement a...
As we enter the third millennium, many organizations are forced to constantly pursue new strategies to differentiate themselves from their competitors. Examples include offering customers streams of new products and services, as well as continuously seeking to improve productivity, services and the effectiveness of product design, development and m...
Ross Jeffery When, as a result of pressure from the CEO, the Chief Information Officer poses the question “Just what is this information system worth to the organization?” the IT staff members are typically at a loss. “That’s a difficult question,” they might say; or “well it really depends” is another answer. Clearly, neither of these is very sati...
Software architecture evaluation involves evaluating different architecture design alternatives against multiple quality-attributes.
These attributes typically have intrinsic conflicts and must be considered simultaneously in order to reach a final design
decision. AHP (Analytic Hierarchy Process), an important decision making technique, has been l...
Since its inception into software engineering, software inspection has been viewed as a cost- effective way of increasing software quality. Despite this, many questions remain unanswered regarding, for example, ideal team size or cost effectiveness. This paper addresses some of these questions by performing an analysis using 30 published data sets...
In any modelling activity, a framework to determine the maturity of a developed model before its use is highly advantageous. Such a framework would save modellers expensive time in many areas of information systems. It would also lower the risk of users relying on an incomplete or inaccurate model. In this paper, we develop a framework which uses i...
Quality is a key issue in the development of software products. Although the literature acknowledges the importance of the design phase of software lifecycle and the effects of the design process and intermediate products on the final product, little progress has been achieved in addressing the quality of designs. This is partly due to difficulties...
The requirements on software systems are so many that not all requirements may be included in the next development project or the next release. This means that it is necessary to select a set of requirements to implement in the forthcoming project, and hence to postpone the implementation of other requirements to a later point in time. In this sele...
Throughout the lifecycle of a software system, complex decisions have to be made. One major source of complexity in decision problems is the need to simultaneously consider different, and sometimes conflicting, criteria. When a decision involves multiple criteria, it cannot be made in a purely objective way, but requires subjective judgement to eva...
Negotiation is regarded as crucial in many disciplines, and negotiation methods and tools are increasingly studied by requirements engineering researchers and practitioners. The objectives of this chapter are to motivate the need for negotiation in requirements engineering, to introduce fundamental concepts and terminology, and to provide an overvi...
This chapter presents a brief overview of requirements engineering and provides an introduction to some of the critical aspects of this field. This includes offering and understanding of the different levels of requirements involved in requirements engineering, namely organizational, product and project level requirements, and illustrating the role...
The gap between research and practice in requirements engineering is immense. To understand practice and the reasons for this gap, empirical evidence about requirements engineering practice is needed. In the last ten years a number of empirical studies have been conducted to gather such data. This chapter gives an overview focusing on broad surveys...
Requirements engineering is the process by which the requirements for software systems are gathered, analyzed, documented, and managed throughout their complete lifecycle. Traditionally it has been concerned with technical goals for, functions of, and constraints on software systems. Aurum and Wohlin, however, argue that it is no longer appropriate...
Quality is a key issue in the development of software products. Although the literature acknowledges the importance of the design phase of software lifecycle and the effects of the design process and intermediate products on the final product, little progress has been achieved in addressing the quality of designs. This is partly due to difficulties...
This paper proposes the Strategy-oriented Alignment in Requirements Engineering (SOARE) approach for e-business systems. The primary objective of the SOARE approach is to enable alignment between requirements for e-business systems and the business strategies they are intended to support. The SOARE approach incorporates means for analysing and deco...
Achieving higher quality software is one of the aims sought by development organizations worldwide. Establishing defect free statements of requirements is a key strategy for achieving improvements in quality. In this paper we present the results of a laboratory experiment that explored the application of a checklist in the process of inspecting use...
This paper reports on the first phase of an empirical research project concerning methods to assess the quality of the information in software measurement products. Two measurement assessment instruments are developed and deployed in order to generate two sets of analyses and conclusions. These sets will be subjected to an evaluation of their infor...
With the growing demand for pharmaceutical and healthcare products worldwide, we examine requirements engineering (RE) process practices in three multinational pharmaceutical and healthcare companies in Australia. We found there were large differences in the processes used between companies in the production of similar products and that none of the...
The management of knowledge and experience are key means by which systematic software development and process improvement occur. Within the domain of software engineering (SE), quality continues to remain an issue of concern. Although remedies such as fourth generation programming languages, structured techniques and object-oriented technology have...
This paper reports on an empirical study into methods to assess the quality of the information in software measurement products where the goal is to improve the information support provided to managers and software engineers. In Phase One of the study, two measurement assessment instruments are developed and deployed in order to generate two sets o...
The importance of knowledge management (KM) is increasingly recognized in education since it deals with information and knowledge resources. The challenge for educational organizations is to develop effective strategies for managing the knowledge resources and providing appropriate access to this information. This article examines the key component...