Agile Risk Management for Multi-Cloud Software Development
Victor Muntés-Mulero, Oscar Ripolles, Smrati Gupta, Jacek Dominiak, Eric Willeke, Peter Matthews, Balázs Somosköi
备注:
11 pages and 7 images (+1 for the logo). This paper is a postprint of a paper submitted to and accepted for publication in IET Software (Vol. 13 , Iss. 3 , 6 2019) and issubject to Institution of Engineering and Technology Copyright. The copy of record is available at the IET Digital Library
Industry in all sectors is experiencing a profound digital transformation that puts software at the core of their businesses. In order to react to continuously changing user requirements and dynamic markets, companies need to build robust workflows that allow them to increase their agility in order to remain competitive. This increasingly rapid transformation, especially in domains like IoT or Cloud computing, poses significant challenges to guarantee high quality software, since dynamism and agile short-term planning reduce the ability to detect and manage risks. In this paper, we describe the main challenges related to managing risk in agile software development, building on the experience of more than 20 agile coaches operating continuously for 15 years with hundreds of teams in industries in all sectors. We also propose a framework to manage risks that considers those challenges and supports collaboration, agility, and continuous development. An implementation of that framework is then described in a tool that handles risks and mitigation actions associated with the development of multi-cloud applications. The methodology and the tool have been validated by a team of evaluators that were asked to consider its use in developing an urban smart mobility service and an airline flight scheduling system.
How risks are managed implicitly and explicitly at multiple levels of agile projects has not been extensively studied and there is a need to investigate how risk management can be used in large agile projects. This is the objective of this exploratory study which investigates the following research question: How does a large software/hardware development project using agile practices manage uncertainty at project/subproject and work package levels?
Protocol for a Systematic Mapping of the Literature, which aims to identify and classify the estimations techniques used in software development agile methodologies based on the results found, and to compare their estimation accuracies against those obtained in traditional software development methodologies.
The objectives of this study was to bring out the understanding of the concept of agile IT project management; what it is and what it is not. It was also aimed at comparing the pros and cons of both agile and traditional methods of IT project management in a typical industry setting; the challenges of going purely agile, and so on. It is purely a review of literature of peer reviewed papers sourced mainly from Google Scholar. It was revealed that agile outweigh the traditional methods in terms of benefits, but its implementation poses a lot of challenges due to a number of issues, paramount am…
This paper presents a case study of Agile Scrum process followed in Retail Domain project. This paper also reveals the impacts of Cost of Software Quality, when agile scrum process is not followed efficiently. While analyzing the case study, the gaps were found and guidelines for process improvements were also suggested in this paper.
Agile processes focus on facilitating early and fast production of working code, and are based on software development process models that support iterative, incremental development of software. Although agile methods have existed for a number of years now, answers to questions concerning the suitability of agile processes to particular software development environments are still often based on anecdotal accounts of experiences. An appreciation of the (often unstated) assumptions underlying agile processes can lead to a better understanding of the applicability of agile processes to particular…
Software Engineering Discipline is constantly achieving momentum from past two decades. In last decade, remarkable progress has been observed. New process models that are introduced from time to time in order to keep pace with multidimensional demands of the industry. New software development paradigms are finding its place in industry such as Agile Software Development, Reuse based Development and Component based Development. But different software development models fail to satisfy many needs of software industry. As aim of all the process models is same, i.e., to get quality product, reduce…
Agile software development methods have been suggested as useful in many situations and contexts. However, only few (if any) experiences are available regarding the use of agile methods in embedded domain where the hardware sets tight requirements for the software. This development domain is arguably far away from the agile home ground. This paper explores the possibility of using agile development techniques in this environment and defines the requirements for new agile methods targeted to facilitate the development of embedded software. The findings are based on an empirical study over a per…
Since the Agile Manifesto, many organizations have explored agile development methods to replace traditional waterfall development. Interestingly, waterfall remains the most widely used practice, suggesting that there is something missing from the many "flavors" of agile methodologies. We explore seven of the most common practices to explore this, and evaluate each against a series of criteria centered around product quality and adherence to agile practices. We find that no methodology entirely replaces waterfall and summarize the strengths and weaknesses of each. From this, we conclude that a…
The purpose of this paper is to review research on attitudes and social norms and connect it to the agile software development context. Furthermore, I propose additional theories from social psychology (mainly the theory of planned behavior and using the degree of internalization of social norms) that would most certainly be useful for further sense-making of human factors-related research on agile teams.
Software developers and project managers are struggling to assess the appropriateness of agile processes to their development environments. This paper identifies limitations that apply to many of the published agile processes in terms of the types of projects in which their application may be problematic.
Quantum software systems are emerging software engineering (SE) genre that exploit principles of quantum bits (Qubit) and quantum gates (Qgates) to solve complex computing problems that today classic computers can not effectively do in a reasonable time. According to its proponents, agile software development practices have the potential to address many of the problems endemic to the development of quantum software. However, there is a dearth of evidence confirming if agile practices suit and can be adopted by software teams as they are in the context of quantum software development. To addres…
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 giving access to analytical data. However, such centralized models presuppose stability and are incompatible with agile software development where applications and databases are continuously updated. To achieve more agile forms of data management, some o…
After introducing agile approach in 2001, several agile methods were founded over the last decade. Agile values such as customer collaboration, embracing changes, iteration and frequent delivery, continuous integration, etc. motivate all software stakeholders to use these methods in their projects. The main issue is that for using these methods instead of traditional methods in software development, companies should change their approach from traditional to agile. This change is a fundamental and critical mutation. Several studies have been done for investigating of barriers, challenges and is…
Driven by the need to coordinate activities of multiple agile development teams cooperating to produce a large software product, software-intensive organizations are turning to scaling agile software development frameworks. Despite the growing adoption of various scalin g agile frameworks, there is little empirical evidence of how effective their practices are in mitigating risk, especially in global software develop ment (GSD), where project failure is a known problem. In this study, we develop a GSD Risk Catalog of 63 risks to assess the degree to which two scaling agile frameworks--Discipli…
It is well known that the software process impacts the quality of the resulting product. There are also anecdotal claims that agile processes result in higher level of quality than traditional methodologies. However, still solid evidence of this is missing. This work reports in an empirical analysis of the correlation between software process and software quality with specific reference to agile and traditional processes. More than 100 software developers and engineers from 21 countries have been surveyed with an online questionnaire. We have used the percentage of satisfied customers estimate…
Nowadays, application of Service Oriented Architecture is increasing rapidly; especially since introduction of distributed electronic services on the web. SOA software has a modular manner and works as a collaboration of independent software components. As a result, e-service approach is sufficient for software with independent components, each of which may be developed by a different company. Such software components and their cooperation form a composite service. Agile methodologies are the best candidate for developing small software components. Composite services and its building blocks ar…
Information technology (IT) organizations are increasing the use of agile practices, which are based on a people-centred culture alongside the software development process. Thus, it is vital to understand the social and human factors of the individuals working in agile environments, such as happiness and unhappiness and how these factors impact this kind of environment. Therefore, five case-studies were developed inside agile projects, in a company that values innovation, aiming to identify how (un)happiness impacts software engineers in agile environments. According to the answers gathered fr…
A Software Engineering project depends significantly on team performance, as does any activity that involves human interaction. In the last years, the traditional perspective on software development is changing and agile methods have received considerable attention. Among other attributes, the ageists claim that fostering creativity is one of the keys to response to common problems and challenges of software development today. The development of new software products requires the generation of novel and useful ideas. It is a conceptual framework introduced in the Agile Manifesto in 2001. This …
Agile - denoting "the quality of being agile, readiness for motion, nimbleness, activity, dexterity in motion" - software development methods are attempting to offer an answer to the eager business community asking for lighter weight along with faster and nimbler software development processes. This is especially the case with the rapidly growing and volatile Internet software industry as well as for the emerging mobile application environment. The new agile methods have evoked substantial amount of literature and debates. However, academic research on the subject is still scarce, as most of e…
Papers on Agile Software Development methods are often focused on their applicability in commercial projects or organizations. There are no current studies that we know about addressing the application of these methods in research projects. The objective of this work is to describe the perception of researchers on the application of agile software development practices and principles for research projects. A study was conducted by constructing and applying a questionnaire to Brazilian researchers of different affiliations, formation and research areas in order to obtain information about their…
Companies implement different frameworks and best practices with the objective to improve the project management success rate and improve the business adaptability to the changing business environment. Project management framework (PRINCE2) and agile development framework (Scrum) proved in many cases that they can meet these objectives. However, both frameworks are based on different principles and the use of both frameworks together should be carefully considered. A large amount of money and effort has been invested by companies into establishing their project management environment and proce…
Agile processes are now widely practiced by software engineering (SE) teams, and the agile manifesto claims that agile methods support responding to changes well. However, no study appears to have researched whether this is accurate in reality. Requirements changes (RCs) are inevitable in any software development environment, and we wanted to acquire a holistic picture of how RCs occur and are handled in agile SE teams in practice. We also wanted to know whether responding to changes is the only or a main reason for software teams to use agile in their projects. To do this we conducted a mixed…
In the field of software engineering there are many new archetypes are introducing day to day Improve the efficiency and effectiveness of software development. Due to dynamic environment organizations are frequently exchanging their software constraint to meet their objectives. The propose research is a new approach by integrating the traditional V model and agile methodology to combining the strength of these models while minimizing their individual weakness.The fluctuating requirements of emerging a carried software system and accumulative cost of operational software are imposing researcher…
Integrating security into agile software development is an open issue for research and practice. Especially in strongly regulated industries, complexity increases not only when scaling agile practices but also when aiming for compliance with security standards. To achieve security compliance in a large-scale agile context, we developed S2C-SAFe: An extension of the Scaled Agile Framework that is compliant to the security standard IEC~62443-4-1 for secure product development. In this paper, we present the framework and its evaluation by agile and security experts within Siemens' large-scale pro…
Effective leadership is one of the key drivers of business and project success, and one of the most active areas of management research. But how does leadership work in agile software development, which emphasizes self-management and self-organization and marginalizes traditional leadership roles? To find out, this study examines agile leadership from the perspective of thirteen professionals who identify as agile leaders, in different roles, at ten different software development companies of varying sizes. Data from semi-structured interviews reveals that leadership: (1) is dynamically shared…
Agile software development (ASD) methods were introduced as a reaction to traditional software development methods. Principles of these methods are different from traditional methods and so there are some different processes and activities in agile methods comparing to traditional methods. Thus ASD methods require different measurement practices comparing to traditional methods. Agile teams often do their projects in the simplest and most effective way so, measurement practices in agile methods are more important than traditional methods, because lack of appropriate and effective measurement p…
This article provides a rich discussion on how the sustainability of agile development processes can be enhanced. In particular, we focus on a recently developed framework, named GLUX, that integrates Lean UX into Scrum. GLUX's main goal is to facilitate a seamless integration between agile and user experience (UX) by using gamification to motivate agile teams to adopt a user-centered mindset and carry out UX activities collaboratively throughout the development process. Our role as software researchers is to contribute towards improving software sustainability and provide the software enginee…
Positive experience of agile development methods in smaller projects has created interest in the applicability of such methods in larger scale projects. However, there is a lack of conceptual clarity regarding what large-scale agile software development is. This inhibits effective collaboration and progress in the research area. In this paper, we suggest a taxonomy of scale for agile software development projects that has the potential to clarify what topics researchers are studying and ease discussion of research priorities.
This year, the Agile Manifesto completes seventeen years and, throughout the world, companies and researchers seek to understand their adoption stage, as well as the benefits, barriers, and limitations of agile methods. Although we have some studies and questionnaire data at the global level, we know little about how the Paraguayan software community is adopting agile methods. The present work conducted a research to set up the current stage of adoption, initial concerns and barriers of implementation of agile methods in software development companies in Paraguay. An online survey was sent to …
Software development is a team work and largely dependent on open social interaction and continuous learning of individuals. Drawing on well established theoretical concepts proposed by social psychology and organizational science disciplines, we develop a theoretical framework proposing that team climate has a significant influence on team learning and ultimately affects team performance. Our study consists of two goals. First to understand the preconditions of team learning and second to investigate the relationship between team learning, psychological safety, and team performance in large s…
There is a diversity of models explaining organizational culture and how these complex aspects can be addressed in connection to organizational change efforts. This workshop paper claims that models already exist for dealing with the cultural change that an agile transition is in the software engineering context. Instead of realizing this again through agile success stories, and thus reinventing the wheel, it is argued that the research in the software engineering field should build on these models instead and investigate how/if they differ. Practitioners already work as the change agents desc…
While organizations want to develop software products with reduced cost and flexible scope, stories about the applicability of agile practices to improve project development and performance in the software industry are scarce and focused on specific methodologies such as Scrum and XP. Given these facts, this paper aims to investigate, through practitioners' perceptions of value, which agile practices are being used to improve two performance criteria for software projects-cost and scope. Using a multivariate statistical technique known as Exploratory Factor Analysis (EFA), the results suggest …
Distribution of software development is becoming more and more common in order to save the production cost and reduce the time to market. Large geographical distance, different time zones and cultural differences in distributed software development (DSD) leads to weak communication which adversely affects the project. Using agile practices for distributed development is also gaining momentum in various organizations to increase the quality and performance of the project. This paper explores the intersection of these two significant trends for software development i.e. DSD and agile. We discuss…
Requirements Engineering (RE) is one of the prime areas in software development. Since agile software development englobes several emerging techniques and advocates for continuous improvement, it urges the question of which agile RE practices are currently most used, their characteristics, and the challenges in their employment. The aim of this work is to investigate and categorize the collection and specification of agile requirements practices based on how professionals perceive their importance for a software project that applies agile methodologies. Thus, a survey was carried out with fort…
Today-s business environment is very much dynamic, and organisations are constantly changing their software requirements to adjust with new environment. They also demand for fast delivery of software products as well as for accepting changing requirements. In this aspect, traditional plan-driven developments fail to meet up these requirements. Though traditional software development methodologies, such as life cycle-based structured and object oriented approaches, continue to dominate the systems development few decades and much research has done in traditional methodologies, Agile software de…
Context: Requirements engineering in global scaled agile software development and the planning phase for a multi-vocal literature review. Objective: Develop a protocol to specify the plan which will be followed to conduct a multi-vocal literature review study on requirements engineering in global scaled agile software development. Method: Kitchenham and Charters (2007), and Garousi et al. (2019) guidelines were followed to develop a protocol for multi-vocal literature review. Result: A validated protocol to conduct a multi-vocal literature review. Conclusion: The review protocol consist of fiv…
Agile development is conventional these days and with the passage of time software developers are rapidly moving from Waterfall to Agile development. Agile methods focus on delivering executable code quickly by increasing the responsiveness of software companies while decreasing development overhead and consider people as the strongest pillar of software development. As agile development overshadows Waterfall methodologies for software development, it comes up with some distinct challenges related to testing of such software. Our study is going to discuss the challenges this approach has stirr…
Background: Agile methods are no longer restricted to small projects and co-located teams. The last decade has seen the spread of agile into large scale, distributed and regulated domains. Many case studies show successful agile adoption in GSD, however, taken as a whole, it remains unclear how widespread this trend is, and what form the agile adoption takes in a global software development (GSD) setting. Aims: Our objective is to gain a deeper understanding of how organisations adopt agile development methods in distributed settings. Specifically we aim to plot the current development process…
Research has shown that the maturity of small workgroups from a psychological perspective is intimately connected to team agility. We, therefore, tested if agile team members appreciated group development psychology training. Our results show that the participating teams seem to have a very positive view of group development training and state that they now have a new way of thinking about teamwork and new tools to deal with team-related problems. We, therefore, see huge potential in training agile teams in group development psychology since the positive effects might span over the entire soft…
The perceptions and attitudes of developers impact how software projects are run and which development practices are employed in development teams. Recent agile methodologies have taken this into account, focusing on collaboration and shared team culture. In this research, we investigate the perceptions of agile development practices and their usage in Scrum software development teams. Although perceptions collected through surveys of 42 participating students did not evolve significantly over time, our analyses show that the Scrum role significantly impacted participants' views of employed de…
This paper presents an empirical study on how self- organized software teams could attain high performance using agile and lean practices. In particular, the paper qualitatively examines characteristics of high performance and self- organization in one project team. The case under study is a customer-driven student project, carried out to develop an alpha-version prototype. The paper also studies how certain agile software practices aid in initialising self-organization in the team. The main results indicate that self-organization as supported by certain Agile and Lean practices helps teams in…
Agile software development is nowadays a widely adopted practise in both open-source and industrial software projects. Agile teams typically heavily rely on issue management tools to document new issues and keep track of outstanding ones, in addition to storing their technical details, effort estimates, assignment to developers, and more. Previous work utilised the historical information stored in issue management systems for various purposes; however, when researchers make their empirical data public, it is usually relevant solely to the study's objective. In this paper, we present a more hol…
Context: Existing knowledge in agile software development suggests that individual competency (e.g. skills) is a critical success factor for agile projects. While assuming that technical skills are important for every kind of software development project, many researchers suggest that non-technical individual skills are especially important in agile software development. Objective: In this paper, we investigate whether non-technical individual skills can predict the use of agile practices. Method: Through creating a set of multiple linear regression models using a total of 113 participants fro…
Although agile software development methods have caught the attention of software engineers and researchers worldwide, scientific research still remains quite scarce. The aim of this study is to order and make sense of the different agile approaches that have been proposed. This comparative review is performed from the standpoint of using the following features as the analytical perspectives: project management support, life-cycle coverage, type of practical guidance, adaptability in actual use, type of research objectives and existence of empirical evidence. The results show that agile softwa…
There is a lack of formal risk management techniques in agile software development methods Scrum. The need to manage risks in agile project management is also identified by various authors. Authors of this paper conducted a survey to find out the current practices in agile project management. Furthermore authors discuss the new integrated framework of Scrum and PRINCE2 with focus on risk management. Enrichment of Scrum with selected practices from the heavy-weight project management framework PRINCE2 promises better results in delivering software products especially in global development proje…
Agile software development principles enable companies to successfully and quickly deliver software by meeting their customers' expectations while focusing on high quality. Many companies working with pure software systems have adopted these principles, but implementing them in companies dealing with non-pure software products is challenging. We identified a set of goals and practices to support large-scale agile development in companies that develop software-intense mechatronic systems. We used an inductive approach based on empirical data collected during a longitudinal study with six compan…
Psychological safety has been postulated as a key factor for the success of agile software development teams, yet there is a lack of empirical studies investigating the role of psychological safety in this context. The present study examines how work design characteristics of software development teams (autonomy, task interdependence, and role clarity) influence psychological safety and, further, how psychological safety impacts team performance, either directly or indirectly through team reflexivity. We test our model using survey data from 236 team members in 43 software development teams in…