Adaptive Software Development


Book Description

- support an adaptive culture or mindset, in which change and uncertainty are assumed to be the natural state--not a false expectation of order- introduce frameworks to guide the iterative process of managing change- institute collaboration, the interaction of people on three levels: interpersonal, cultural, and structural- add rigor and discipline to the RAD approach, making it scalable to the uncertainty and complexity of real-life undertakings




Managing Software Process Evolution


Book Description

This book focuses on the design, development, management, governance and application of evolving software processes that are aligned with changing business objectives, such as expansion to new domains or shifting to global production. In the context of an evolving business world, it examines the complete software process lifecycle, from the initial definition of a product to its systematic improvement. In doing so, it addresses difficult problems, such as how to implement processes in highly regulated domains or where to find a suitable notation system for documenting processes, and provides essential insights and tips to help readers manage process evolutions. And last but not least, it provides a wealth of examples and cases on how to deal with software evolution in practice. Reflecting these topics, the book is divided into three parts. Part 1 focuses on software business transformation and addresses the questions of which process(es) to use and adapt, and how to organize process improvement programs. Subsequently, Part 2 mainly addresses process modeling. Lastly, Part 3 collects concrete approaches, experiences, and recommendations that can help to improve software processes, with a particular focus on specific lifecycle phases. This book is aimed at anyone interested in understanding and optimizing software development tasks at their organization. While the experiences and ideas presented will be useful for both those readers who are unfamiliar with software process improvement and want to get an overview of the different aspects of the topic, and for those who are experts with many years of experience, it particularly targets the needs of researchers and Ph.D. students in the area of software and systems engineering or information systems who study advanced topics concerning the organization and management of (software development) projects and process improvements projects.




Agile Processes in Software Engineering and Extreme Programming


Book Description

This open access book constitutes the proceedings of the 22nd International Conference on Agile Software Development, XP 2021, which was held virtually during June 14-18, 2021. XP is the premier agile software development conference combining research and practice. It is a unique forum where agile researchers, practitioners, thought leaders, coaches, and trainers get together to present and discuss their most recent innovations, research results, experiences, concerns, challenges, and trends. XP conferences provide an informal environment to learn and trigger discussions and welcome both people new to agile and seasoned agile practitioners. This year’s conference was held with the theme “Agile Turns Twenty While the World Goes Online”. The 11 full and 2 short papers presented in this volume were carefully reviewed and selected from 38 submissions. They were organized in topical sections named: agile practices; process assessment; large-scale agile; and short contributions.




Managed Software Evolution


Book Description

This open access book presents the outcomes of the “Design for Future – Managed Software Evolution” priority program 1593, which was launched by the German Research Foundation (“Deutsche Forschungsgemeinschaft (DFG)”) to develop new approaches to software engineering with a specific focus on long-lived software systems. The different lifecycles of software and hardware platforms lead to interoperability problems in such systems. Instead of separating the development, adaptation and evolution of software and its platforms, as well as aspects like operation, monitoring and maintenance, they should all be integrated into one overarching process. Accordingly, the book is split into three major parts, the first of which includes an introduction to the nature of software evolution, followed by an overview of the specific challenges and a general introduction to the case studies used in the project. The second part of the book consists of the main chapters on knowledge carrying software, and cover tacit knowledge in software evolution, continuous design decision support, model-based round-trip engineering for software product lines, performance analysis strategies, maintaining security in software evolution, learning from evolution for evolution, and formal verification of evolutionary changes. In turn, the last part of the book presents key findings and spin-offs. The individual chapters there describe various case studies, along with their benefits, deliverables and the respective lessons learned. An overview of future research topics rounds out the coverage. The book was mainly written for scientific researchers and advanced professionals with an academic background. They will benefit from its comprehensive treatment of various topics related to problems that are now gaining in importance, given the higher costs for maintenance and evolution in comparison to the initial development, and the fact that today, most software is not developed from scratch, but as part of a continuum of former and future releases.




Software Process Definition and Management


Book Description

The concept of processes is at the heart of software and systems engineering. Software process models integrate software engineering methods and techniques and are the basis for managing large-scale software and IT projects. High product quality routinely results from high process quality. Software process management deals with getting and maintaining control over processes and their evolution. Becoming acquainted with existing software process models is not enough, though. It is important to understand how to select, define, manage, deploy, evaluate, and systematically evolve software process models so that they suitably address the problems, applications, and environments to which they are applied. Providing basic knowledge for these important tasks is the main goal of this textbook. Münch and his co-authors aim at providing knowledge that enables readers to develop useful process models that are suitable for their own purposes. They start with the basic concepts. Subsequently, existing representative process models are introduced, followed by a description of how to create individual models and the necessary means for doing so (i.e., notations and tools). Lastly, different possible usage scenarios for process management are highlighted (e.g. process improvement and software process simulation). Their book is aimed at students and researchers working on software project management, software quality assurance, and software measurement; and at practitioners who are interested in process definition and management for developing, maintaining, and operating software-intensive systems and services.




Software Evolution and Feedback


Book Description

Evolution of software has long been recognized as one of the most problematic and challenging areas in the field of software engineering, as evidenced by the high, often up to 60-80%, life-cycle costs attributed to this activity over the life of a software system. Studies of software evolution are central to the understanding and practice of software development. Yet it has received relatively little attention in the field of software engineering. This book focuses on topics aimed at giving a scientific insight into the aspect of software evolution and feedback. In summary, the book covers conceptual, phenomenological, empirical, technological and theoretical aspects of the field of software evolution - with contributions from the leading experts. This book delivers an up-to-date scientific understanding of what software evolution is, to show why it is inevitable for real world applications, and it demonstrates the role of feedback in software development and maintenance. The book also addresses some of the phenomenological and technological underpinnings and includes rules and guidelines for increased software evolvability and, in general, sustainability of the evolution process. Software Evolution and Feedback provides a long overdue, scientific focus on software evolution and the role of feedback in the software process, making this the indispensable guide for all software practitioners, researchers and managers in the software industry.




Research Anthology on Agile Software, Software Development, and Testing


Book Description

Software development continues to be an ever-evolving field as organizations require new and innovative programs that can be implemented to make processes more efficient, productive, and cost-effective. Agile practices particularly have shown great benefits for improving the effectiveness of software development and its maintenance due to their ability to adapt to change. It is integral to remain up to date with the most emerging tactics and techniques involved in the development of new and innovative software. The Research Anthology on Agile Software, Software Development, and Testing is a comprehensive resource on the emerging trends of software development and testing. This text discusses the newest developments in agile software and its usage spanning multiple industries. Featuring a collection of insights from diverse authors, this research anthology offers international perspectives on agile software. Covering topics such as global software engineering, knowledge management, and product development, this comprehensive resource is valuable to software developers, software engineers, computer engineers, IT directors, students, managers, faculty, researchers, and academicians.




Program Evolution


Book Description




Effective Software Maintenance and Evolution


Book Description

With software maintenance costs averaging 50% of total computing costs, it is necessary to have an effective maintenance program in place. Aging legacy systems, for example, pose an especially rough challenge as veteran programmers retire and their successors are left to figure out how the systems operate. This book explores program analyzers, reve




Software Evolution


Book Description

This book focuses on novel trends in software evolution research and its relations with other emerging disciplines. Mens and Demeyer, both authorities in the field of software evolution, do not restrict themselves to the evolution of source code but also address the evolution of other, equally important software artifacts. This book is the indispensable source for researchers and professionals looking for an introduction and comprehensive overview of the state-of-the-art.