296,401 research outputs found
Change-Impact driven Agile Architecting.
Software architecture is a key factor to scale up Agile Software Development ASD in large softwareintensive systems. Currently, software architectures are more often approached through mechanisms that enable to incrementally design and evolve software architectures aka. agile architecting. Agile architecting should be a light-weight decision-making process, which could be achieved by providing knowledge to assist agile architects in reasoning about changes. This paper presents the novel solution of using change-impact knowledge as the main driver for agile architecting. The solution consists of a Change Impact Analysis technique and a set of models to assist agile architects in the change -decision-making- process by retrieving the change-impact architectural knowledge resulting from adding or changing features iteration after iteration. To validate our approach, we have put our solution into practice by running a project of a metering management system in electric power networks in an i-smart software factory
GRAPEVINE: Grids about anything by Poisson's equation in a visually interactive networking environment
A proven 3-D multiple-block elliptic grid generator, designed to run in 'batch mode' on a supercomputer, is improved by the creation of a modern graphical user interface (GUI) running on a workstation. The two parts are connected in real time by a network. The resultant system offers a significant speedup in the process of preparing and formatting input data and the ability to watch the grid solution converge by replotting the grid at each iteration step. The result is a reduction in user time and CPU time required to generate the grid and an enhanced understanding of the elliptic solution process. This software system, called GRAPEVINE, is described, and certain observations are made concerning the creation of such software
Complementing Measurements and Real Options Concepts to Support Inter-iteration Decision-Making in Agile Projects
Agile software projects are characterized by iterative and incremental development, accommodation of changes and active customer participation. The process is driven by creating business value for the client, assuming that the client (i) is aware of it, and (ii) is capable to estimate the business value, associated with the separate features of the system to be implemented. This paper is focused on the complementary use of measurement techniques and concepts of real-option-analysis to assist clients in assessing and comparing alternative sets of requirements. Our overall objective is to provide systematic support to clients for the decision-making process on what to implement in each iteration. The design of our approach is justified by using empirical data, published earlier by other authors
Visualizing networked writing activity
In conjunction with the Honors Fellow program and two faculty advisors from both the English and Computer Science departments, another student and I have written software to visualize how participants collaborate on networked writing projects. Using Google Docs as a way to allow students to instantaneously interact with a document in real-time, this software captures data from Google's cloud service and displays it in a pair of visualizations. We used agile methods of software development to devise a way to implement their ideas in an appealing way. This document contains detailed instructions on where the latest iteration of the software can be located. It also details the process of making the system operational on a new machine, stating how the software works and where it should be placed in the file system. The document also explains how one can use the system to visualize writing collaboration. Finally, many failed iterations of the software have led to meaningful reflections on software development practices. The document serves as a technical report for the software, but also elaborates on the hardships of development, as well as provides insight on how this software may evolve toward richer experiences. Also included is an Author's Statement which reveals many of the learning experiences that arose throughout the development of this project.Honors CollegeThesis (B.?.
Iterations in software development processes: A comparison of agile and waterfall software development projects
Iteration is an essential element of software development processes. Software methodologies like agile and waterfall use the term âiterationâ in several different ways for improving either the quality or the functionality of the software. There are no studies, however, which have thoroughly analyzed and characterized these forms of iterations and their differences as they are enacted in organizations. In order to reveal these iterative forms we conducted a study of two mid-sized software development projects at a large global Fortune 100 corporation â one agile project and one waterfall project. Using advanced event sequence-analytic techniques based on detailed process data, our analysis reveals that agile and waterfall iterations differed in design and development phases due to different sources and types of iterations
How Do Real Options Concepts Fit in Agile Requirements Engineering?
Agile requirements engineering is driven by creating business value for the client and heavily involves the client in decision-making under uncertainty. Real option thinking seems to be suitable in supporting the clientâs decision making process at inter-iteration time. This paper investigates the fit between real option thinking and agile requirements engineering. We first look into previously published experiences in the agile software engineering literature to identify (i) âexperience clustersâ suggesting the ways in which real option concepts fit into the agile requirements process and (ii) âexperience gapsâ and under-researched agile requirements decision-making topics which require further empirical studies. Furthermore, we conducted a cross-case study in eight agile development organizations and interviewed 11 practitioners about their decision-making process. The results suggest that options are almost always identified, reasoned about and acted upon. They are not expressed in quantitative terms, however, they are instead explicitly or implicitly taken\ud
into account during the decision-making process at interiteration time
Mining for Process Improvements: Analyzing Software Repositories in Agile Retrospectives
Software Repositories contain knowledge on how software engineering teams
work, communicate, and collaborate. It can be used to develop a data-informed
view of a team's development process, which in turn can be employed for process
improvement initiatives. In modern, Agile development methods, process
improvement takes place in Retrospective meetings, in which the last
development iteration is discussed. However, previously proposed activities
that take place in these meetings often do not rely on project data, instead
depending solely on the perceptions of team members. We propose new
Retrospective activities, based on mining the software repositories of
individual teams, to complement existing approaches with more objective,
data-informed process views.Comment: In IEEE/ACM 42nd International Conference on Software Engineering
Workshops (ICSEW'20
Recommended from our members
Model-based approaches to support process improvement in complex product development
The performance of product development processes is important to the commercial success of new products. The improvement of these processes is thus a strategic imperative for many engineering companies â the aero-engine is one example of a complex product for which market pressures necessitate ever-shorter development times. This thesis argues that process modelling and simulation can support the improvement of complex product development processes.
A literature review identified that design process modelling is a well-established
research area encompassing a diverse range of approaches. However, most existing tools and methods are not widely applied in industry. An extended case study was therefore conducted to explore the pragmatic utility of process modelling and simulation. It is argued that iteration is a key driver of design process behaviour which cannot be fully reflected in a mechanistic model. Understanding iteration can help select an appropriate representation for a given process domain and modelling objective.
A model-based approach to improve the management of iterative design processes was developed. This approach shows that design process simulation models can support practice despite their limited fidelity. The modelling and simulation framework resulting from this work was enhanced for application to a wider range of process improvement activities. A robust and extensible software platform was also developed. The framework and software tool have made significant contribution to research projects investigating process redesign, process robustness and process optimisation. These projects are discussed to validate the framework and tool and to highlight their applicability beyond the original approach. The research results were disseminated in academia and industry â 72 copies of the software were distributed following requests in the first three months of its release
- âŠ