Agile Software Architecture

eBook Download

BOOK EXCERPT:

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

Product Details :

Genre : Computers
Author : Muhammad Ali Babar
Publisher : Newnes
Release : 2013-11-27
File : 433 Pages
ISBN-13 : 9780124078857


Agile Software Architecture

eBook Download

BOOK EXCERPT:

Variability facilitates the design of software products that can be adapted for a wide range of customers or contexts. In agile development, software products begin to be built before the desired product is fully understood. Both variability and agile development embrace change and adaptation. This chapter combines the agile paradigm and variability to achieve adaptable software architectures and shows how the agile paradigm and the concept of variability can complement each other in an approach to variability handling at the software architecture level.

Product Details :

Genre : Computers
Author : Matthias Galster
Publisher : Elsevier Inc. Chapters
Release : 2013-11-27
File : 36 Pages
ISBN-13 : 9780128070260


Agile Software Architecture

eBook Download

BOOK EXCERPT:

Running a dedicated instance of a software application can be burdensome to a customer if it involves a large amount of memory and processing overhead or a licensing fee or if the customer is a small company. Multitenancy (MT) architectures (MTAs) allow for multiple customers (i.e., tenants) to be consolidated into the same operational system, hence reducing the overhead via amortization over several customers. Lately, MTAs are drawing increasing attention because MT is regarded as an essential attribute of cloud computing and its new software delivery model, Software as a Service. In a moment of debate about the coexistence between architecture and agility, we introduce in this chapter a multitenancy, multitarget architecture (MT2A). MT2As are an evolution of traditional MTAs that reduce the various overhead by providing multiple services instead of a single service. In MT2As, there are new components added to the corresponding MTAs to manage the (now possibly) multiple services. MT2A is intended to support traditional agile development, as well as rapid deployment, by enabling the reuse of common components of the architecture. In this chapter, we also present an implementation of the architecture through an MT2 system called Globalgest.

Product Details :

Genre : Computers
Author : Antonio Rico
Publisher : Elsevier Inc. Chapters
Release : 2013-11-27
File : 36 Pages
ISBN-13 : 9780128070314


Agile Software Architecture

eBook Download

BOOK EXCERPT:

Architecture knowledge management (AKM) aims to codify and maintain the architectural knowledge of a software system in a form that can be easily accessed by different stakeholders. Integrating AKM with an agile project management paradigm is a challenge because the agile philosophy downplays both plan-driven development and documentation. Yet, by integrating lightweight AKM practices with the process, agile software development could avoid maintenance and communication problems arising from scarce documentation. In this chapter, we introduce existing technologies that could be used as elements of lightweight AKM for agile software development and present possible models to integrate AKM with Scrum, which is the most popular agile approach in use today. In particular, we advocate the exploitation of architectural evaluations to collect architecturally significant information semiautomatically and the use of automated document generation to expose the contents of an architectural information repository in an easily accessible form. The proposed models are based on observed architecting work practices in industry and on interviews carried out in industry to identify the architectural information flow in real-life agile projects.

Product Details :

Genre : Computers
Author : Veli-Pekka Eloranta
Publisher : Elsevier Inc. Chapters
Release : 2013-11-27
File : 40 Pages
ISBN-13 : 9780128070284


Agile Software Architecture

eBook Download

BOOK EXCERPT:

This chapter discusses software architecture analysis in the context of agile processes. Agile processes are characterized by incremental and interleaved activities and by a focus on continuous improvement and delivery. Most approaches to software architecture analysis, however, have been developed to be performed at dedicated points in the development process or as external evaluation activities and not as continuous activities throughout the development process. This chapter discusses continuous software architecture analysis (CSAA). It reviews important requirements for CSAA and outlines how CSAA is supported by current software architecture analysis approaches. It further presents experiences with an approach for continuous structural and conformance analysis and identifies future research challenges.

Product Details :

Genre : Computers
Author : Georg Buchgeher
Publisher : Elsevier Inc. Chapters
Release : 2013-11-27
File : 46 Pages
ISBN-13 : 9780128070277


Agile Software Architecture

eBook Download

BOOK EXCERPT:

Organizations must adapt to survive, and their ability to change and innovate is driven by two key enablers - architecture and agile. Based on practical experiences of working with several clients adopting both architecture and agile practices, the author sheds light on those factors that resulted in successful transformations and the creation of a platform for innovation. The author concludes that architecture and agile practices are complementary and that their successful introduction within an organization is not just technical in nature, but also requires a focus on people and appropriate techniques for managing organizational change.

Product Details :

Genre : Computers
Author : Peter Eeles
Publisher : Elsevier Inc. Chapters
Release : 2013-11-27
File : 34 Pages
ISBN-13 : 9780128070338


Agile Software Architecture

eBook Download

BOOK EXCERPT:

Agile architecting is a key issue to scale agile to develop large software systems. This chapter describes a set of mechanisms that make agile architecting feasible. These mechanisms are smoothly integrated in a tailored Scrum for agile architecting by (1) defining product requirements in terms of features by using feature pools and feature trees to provide the portfolio and roadmap visions of a product, (2) designing highly flexible architecture called working architecture, (3) bridging user stories and software architecture through features and design decisions as traceability mechanisms, and (4) systematically assisting agile practitioners by conducting change impact analysis of features through various iterations of the agile process. This tailored Scrum for agile architecting has been successfully put into practice to develop several projects, which have been deployed in a software factory set up in collaboration between the Technical University of Madrid (UPM) and the company Indra. In this chapter, one of these projects is used to illustrate how this tailored Scrum has been applied and how it can be adopted.

Product Details :

Genre : Computers
Author : Jennifer Pérez
Publisher : Elsevier Inc. Chapters
Release : 2013-11-27
File : 44 Pages
ISBN-13 : 9780128070291


Agile Software Architecture

eBook Download

BOOK EXCERPT:

The way in which architectural decisions are made changes when more agile development methods are used. This chapter focuses on architectural decisions and how they are made in industrial settings. From our literature research and experience, we have constructed three axes on which the architectural decision process of projects or companies can be projected. We evaluate this framework with five industrial case studies in which we have participated. In all of the cases, the differences between two points in time (phases) were evaluated. These differences helped us identify what aspects influence the efficiency of the project/company. The presented Triple-A Framework can be used in other projects to help locate places where the architectural process can be improved when the agility of a project changes.

Product Details :

Genre : Computers
Author : Jan Salvador van der Ven
Publisher : Elsevier Inc. Chapters
Release : 2013-11-27
File : 42 Pages
ISBN-13 : 9780128070253


Agile Software Architecture

eBook Download

BOOK EXCERPT:

This chapter looks at the delivery of large, complex system development projects that typically require the development and integration of multiple systems and the coordination of hundreds of individuals. We argue that traditional agile development techniques that persuade against the use of architectures and processes can fail or provide suboptimal delivery in such situations. It is argued that elements of software, infrastructure, and data architecture are necessary prerequisites for the successful delivery of complex agile system development projects. The chapter suggests that these architectural elements should be identified in each project via a risk-based approach. These resulting architecture elements can then be used by a distributed low-cost delivery organization to reduce rework within the agile software development process and accelerate delivery by maximizing the overall delivery pipeline. The chapter argues that this agile architecting technique successfully enables the low-cost and low-risk delivery of complex agile system development projects.

Product Details :

Genre : Computers
Author : Richard Hopkins
Publisher : Elsevier Inc. Chapters
Release : 2013-11-27
File : 41 Pages
ISBN-13 : 9780128070321


Agile Software Architecture

eBook Download

BOOK EXCERPT:

This chapter describes how to systematically prevent software architecture erosion by applying refactoring techniques. Software architecture modifications are common rather than the exception in software development. Modifications come in different flavors, such as redefining or adding requirements, changing infrastructure and technology, or causing changes by bugs and incorrect decisions. But no matter where these changes originate, they need special attention from software architects. Otherwise, if software architects merely focus on adding new features—(changes or extensions that by themselves might not be adequate), design erosion will be the final result. In a systematic approach, software architects evaluate the existing software design before adding new artifacts or changing existing ones. Whenever they identify architecture problems, they immediately resolve architectural issues, thus assuring high quality and sustainability. Software architecture refactoring enables such iterative architecture improvement. It consists of indentifying problems, applying the right refactorings, and testing the results. Architecture refactoring is often combined with code refactoring activities to add the best value. Refactoring patterns offer proven solutions for recurring architectural problems, hence providing a toolset to software engineers.

Product Details :

Genre : Computers
Author : Michael Stal
Publisher : Elsevier Inc. Chapters
Release : 2013-11-27
File : 38 Pages
ISBN-13 : 9780128070239