296,401 research outputs found

    Change-Impact driven Agile Architecting.

    Full text link
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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?

    Get PDF
    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

    Full text link
    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
    • 

    corecore