Agile software development approaches have had significant impact on industrial software development practices. Today, agile software development has penetrated to most IT companies across the globe, with an intention to increase quality, productivity, and profitability. Comprehensive knowledge is needed to understand the architectural challenges involved in adopting and using agile approaches and industrial practices to deal with the development of large, architecturally challenging systems in an agile way.
Agile Software Architecture focuses on gaps in the requirements of applying architecture-centric approaches and principles of agile software development and demystifies the agile architecture paradox. Readers will learn how agile and architectural cultures can co-exist and support each other according to the context. Moreover, this book will also provide useful leads for future research in architecture and agile to bridge such gaps by developing appropriate approaches that incorporate architecturally sound practices in agile methods.
- Presents a consolidated view of the state-of-art and state-of-practice as well as the newest research findings
- Identifies gaps in the requirements of applying architecture-centric approaches and principles of agile software development and demystifies the agile architecture paradox
- Explains whether or not and how agile and architectural cultures can co-exist and support each other depending upon the context
- Provides useful leads for future research in both architecture and agile to bridge such gaps by developing appropriate approaches, which incorporate architecturally sound practices in agile methods
researchers, practitioners, and graduate students of software engineering and software architectures, people working in architecturally sensitive industries (e.g. safety critical systems) and industries migrating to agile
About the Editors
Muhammed Ali Babar
Alan W. Brown
List of Contributors
Foreword by John Grundy: Architecture vs Agile: competition or cooperation?
Software Architecture—the “Traditional” View
Agile Methods—the “Traditional” View
Software Architecture—Strengths and Weaknesses with Regard to Agility
Agile—Strengths and Weaknesses with Regard to Software Architecture
Bringing the Two Together—Agile Architecting or Architecting for Agile?
Foreword by Rick Kazman
Part I: Fundamentals of agile architecting
Part II: Managing software architecture in agile projects
Part III: Agile architecting in specific domains
Part IV: Industrial viewpoints on agile architecting
Chapter 1. Making Software Architecture and Agile Approaches Work Together: Foundations and Approaches
1.2 Software Architecture
1.3 Agile Software Development and Architecture
1.4 Making Architectural and Agile Approaches Work
PART 1: Fundamentals of Agile Archi
- No. of pages:
- © Morgan Kaufmann 2014
- 6th December 2013
- Morgan Kaufmann
- eBook ISBN:
- Paperback ISBN:
Dr. M. Ali Babar is a Professor of Software Engineering (Chair) at the School of Computer Science, the University of Adelaide, Australia. He also holds an Associate Professorship at IT University of Copenhagen, Denmark. Prior to this, he was a Reader in Software Engineering at Lancaster University UK. Previously, he worked as a researcher and project leaders in different research centres in Ireland and Australia. He has authored/co-authored more than 140 peer-reviewed research papers in journals, conferences, and workshops. He has co-edited a book, software architecture knowledge management: theory and practice. Prof. Ali Babar has been a guest editor of several special issues/sections of IEEE Software, JSS, ESEJ, SoSyM, IST, and REJ. Apart from being on the program committees of several international conferences such as WICSA/ECSA, ESEM, SPLC, ICGSE, and ICSSP for several years, Prof. Ali Babar was the founding general chair of Nordic-Baltic Symposium on Cloud Computing and Internet Technologies (NordiCloud) 2012. He has also been co-(chair) of the program committees of several conferences such as NordiCloud 2013, WICSA/ECSA 2012, ECSA2010, PROFES2010, and ICGSE2011. He is a member of steering committees of WICSA, ECSA, NordiCloud and ICGSE. He has presented tutorials in the areas of cloud computing, software architecture and empirical approaches at various international conferences. Prior to joining R&D field, he worked as a software engineer and an IT consultant for several years in Australia. He obtained a PhD in computer science and engineering from University of New South Wales, Australia.
The University of Adelaide, Australia
Alan W. Brown is Professor of Entrepreneurship and Innovation in the Surrey Business School, University of Surrey, UK. where he leads activities in the area of corporate entrepreneurship and open innovation models. In addition to teaching activities, he focuses on innovation in a number of practical research areas with regard to global enterprise software delivery, agile software supply chains, and the investigation of "open commercial" software delivery models. He has formerly held a wide range of roles in industry, including Distinguished Engineer and CTO at IBM Rational, VP of Research at Sterling Software, Research Manager at Texas Instruments Software, and Head of Business Development in a Silicon Valley startup. In these roles Alan has worked with teams around the world on software engineering strategy, process improvement, and the transition to agile delivery approaches. He has published over 50 papers and written four books. He holds a Ph.D. in Computing Science from the University of Newcastle upon Tyne, UK.
Surrey Business School, University of Surrey, UK
Ivan Mistrik is a computer scientist who is interested in system and software engineering (SE/SWE) and in system and software architecture (SA/SWA), in particular: life cycle system/software engineering, requirements engineering, relating software requirements and architectures, knowledge management in software development, rationale-based software development, aligning enterprise/system/software architectures, and collaborative system/software engineering. He has more than forty years’ experience in the field of computer systems engineering as an information systems developer, R&D leader, SE/SA research analyst, educator in computer sciences, and ICT management consultant. In the past 40 years, he has been primarily working at various R&D institutions and has done consulting on a variety of large international projects sponsored by ESA, EU, NASA, NATO, and UN. He has also taught university-level computer sciences courses in software engineering, software architecture, distributed information systems, and human-computer interaction. He is the author or co-author of more than 80 articles and papers in international journals, conferences, books and workshops, most recently a chapter Capture of Software Requirements and Rationale through Collaborative Software Development, a paper Knowledge Management in the Global Software Engineering Environment, and a paper Architectural Knowledge Management in Global Software Development. He has written a number of editorials and prefaces, most recently for the book on Aligning Enterprise, System, and Software Architecture and the book on Agile Software Architecture. He has also written over 120 technical reports and presented over 70 scientific/technical talks. He has served in many program committees and panels of reputable international conferences and organized a number of scientific workshops, most recently two workshops on Knowledge Engineering in Global Software and Development at International Conference on Global S
Systems Engineering Researcher/Consultant, Heidelberg, Germany
"Project managers, product owners, and software architects will benefit from reading this book. They will be able to check what is the state of the art and how to apply specific techniques to their own projects given different dimensions, domains, and scopes. "--ComputingReviews.com, August 6 2014