Continuous architecture sustainable architecture in an agile and cloud-centric world
Continuous Architecture provides a broad architectural perspective for continuous delivery, and describes a new architectural approach that supports and enables it. As the pace of innovation and software releases increases, IT departments are tasked to deliver value quickly and inexpensively to thei...
Autor principal: | |
---|---|
Otros Autores: | |
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Amsterdam, [Netherlands] :
Morgan Kaufmann
2016.
|
Edición: | 1st edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009629572506719 |
Tabla de Contenidos:
- Front Cover
- Continuous Architecture
- Copyright Page
- Dedication
- Contents
- Foreword by Kurt Bittner
- Foreword by Peter Eeles
- Acknowledgments
- 1 Introduction to Continuous Architecture
- What Do We Mean by Architecture?
- Historical Perspective
- Current Challenges with Software Architecture
- Architecture in an (increasingly) Agile World
- Architecture in a Continuous Delivery and Cloud-Centric World
- Continuous Architecture Definition
- The Benefits of Continuous Architecture
- Applying Continuous Architecture
- Structure of The Book
- Endnotes
- 2 Principles of Continuous Architecture
- Principle 1: Architect Products, Not Just Solutions for Projects
- What Is a Software Product?
- Leveraging "Architect Products, Not Just Solutions for Projects" in Practice
- Principle 2: Focus on Quality Attributes, Not on Functional Requirements
- Principle 3: Delay Design Decisions Until They Are Absolutely Necessary
- Principle 4: Architect for Change-Leverage "The Power of Small"
- Principle 5: Architect for Build, Test, and Deploy
- Principle 6: Model the Organization After the Design of the System
- Summary
- Endnotes
- 3 Getting Started with Continuous Architecture: Requirements Management
- Functional Requirements versus Quality Attributes
- Leveraging Value Chains to Understand the Functional Scope of a Product
- The Big Picture: The Value Chain
- The Dynamics: User Story Themes
- Analyzing User Story Themes
- Using Architecture Scenarios for Quality Attribute Requirements
- Building the Quality Attributes Utility Tree
- Quality Attribute Details
- Performance
- Availability
- Cost effectiveness
- Gathering and Managing Requirements
- Stakeholder Interviews
- Joint Requirements Development Sessions
- Conversations with Business Partners (or with the Product Owner).
- Managing Functional Requirements
- Managing Quality Attribute Requirements
- Summary
- Endnotes
- 4 Evolving the Architecture
- Architectural Decisions
- Role of Decisions in Architecture
- Architectural Decision Example
- Making and Governing Design Decisions
- Agile and Architectural Decisions
- Prioritizing: Using Quality Function Deployment
- Using Quality Function Deployment in Different Scenarios
- Business Drivers to Quality Attributes
- Requirements to Design
- Managing Change: Transitional Architectures
- A Model of Architecture Transitions
- Step 1: Understand A, the As-Is State
- Step 2: Envision C, the Architecture to Be
- Step 3: Define B′, B″, B′″…, the Transitional Architectures
- Infrastructure Plateaus and Application Waves
- What Does a Transitional Architecture Look Like?
- Perspectives on a Transitional Architecture
- Case Study
- What About Agile and Iterative Development?
- Refactoring
- Transitional Architectures in Practice
- Applying the Continuous Architecture Principles
- Architectural Decisions
- Prioritizing: Quality Function Deployment
- Transitional Architectures
- Summary
- Endnotes
- 5 Continuous Architecture and Continuous Delivery
- Continuous Architecture and the DevOps Process
- What Is "DevOps"?
- DevOps Without Continuous Architecture
- A Continuous Architecture Roadmap for Implementing DevOps
- Continuous Architecture, Continuous Feedback, and Continuous Monitoring
- What Do We Mean by "Continuous Feedback Loop"?
- What Is Continuous Monitoring?
- Continuous Architecture and the Continuous Integration Process
- What Is Continuous Integration?
- What Are the Benefits of Continuous Integration?
- Continuous Architecture and Continuous Release and Deployment
- What Is a Delivery Pipeline?
- Making a Software Release Decision
- Team-Wide Consensus.
- Quality Assurance as Gatekeeper
- Continuous Deployment
- Continuous Architecture and Continuous Testing
- What Is Continuous Testing?
- How Can We Architect for Continuous Testing?
- Designing Small, Application Programming Interface (API)-Testable Services and Components
- Service Virtualization
- Architecting Test Data for Continuous Testing
- Continuous Architecture and Hybrid Cloud Deployment
- Why Use a Cloud Infrastructure for Continuous Delivery?
- Guidelines for Cloud Readiness
- Summary
- Endnotes
- 6 Validating the Architecture
- What Do We Mean By "Architecture Validation"?
- Architecture Validation Objectives
- Architecture Validation Benefits
- Architecture Peer Validation Versus External Architecture Validation
- When Do We Need to Validate?
- Initial Evaluation
- Continuous Evaluation
- Periodic Architecture Checkups
- Code Inspections
- Who Should Validate?
- The Validation Team
- Specific Roles
- How Should We Validate?
- The Checklist-Driven Validation
- Essential Architecture Validation Checklist
- Strategic and Principle Alignment
- Cost Effectiveness
- Maintainability and Extensibility
- Performance
- Advantages and Challenges of the Checklist-Driven Technique
- Scenario-Based Validation
- A Brief Overview of the Architecture Tradeoff Analysis Method
- Advantages and Challenges of the Architecture Tradeoff Analysis Method-Based Approach
- Decision-Centric Validation
- Advantages and Challenges of Decision-Centric Architecture Validation
- Recommendations
- Validation Process
- Step 1: Preparation
- Step 2: Architecture Validation Session
- Step 3: Architecture Evaluation Readout
- Step 4: Follow-up
- Summary
- Endnotes
- 7 Continuous Architecture in Practice: A Case Study
- How to Get Started with Continuous Architecture? Start Small.
- Refactor Existing Architectures Rather Than Creating from Scratch
- Focus on Quality Attributes to Create Your Architecture
- Delay Design Decisions Until They Are Absolutely Necessary to Keep the Architecture Manageable
- Leverage "The Power of Small" to Architect for Change
- Architect for Build, Test, and Deploy to Deliver Capabilities Continuously
- Model the Organization After the Design of the System to Promote Interoperability
- Leverage Continuous Architecture to Modernize Monolithic Systems Over Time
- How to Evolve Continuous Architecture Over Time?
- Think "Minimum Viable Architecture"
- What Exactly Is a "Minimum Viable Product"?
- What About Minimum Viable Architecture?
- Delay Design Decisions Until They Are Absolutely Necessary to Cope with New Requirements
- Leverage "What If" Analyses to Test the Architecture
- Continuous Architecture Is Driven by Feedback
- Continuous Feedback Can Be Used to Govern the Evolution of Legacy Monoliths
- Summary
- Endnotes
- 8 Role of the Architect
- What Does an Architect Do?
- Who Is an Architect? Types of Personalities
- Myers-Briggs Type Indicator
- Big Five Personality Traits
- Belbin Team Roles
- Additional Methods
- Summarizing Personality Types
- The Role of the Architect in Continuous Architecture
- A Day in the Life of a Continuous Architect
- Continuous Architecture Responsibilities
- Responsibilities Emphasized by Continuous Architecture
- Responsibilities That Underpin Continuous Architecture
- Summary
- Endnotes
- 9 Continuous Architecture in the Enterprise
- Context for the Enterprise and Antipatterns
- Communication and Autonomy
- Enterprise Antipatterns
- Collaboration and Communication
- Architects and Development Teams
- Architects and Operations
- Architects and Testers
- Architects and Technology Executives
- Architects and Business.
- Applying the Levers and Principles
- Common Language
- Industry Examples
- Unified Modeling Language
- Design Patterns
- Architecture Frameworks
- Creating a Common Language
- Decision Making in the Enterprise
- Architecture Process at the Enterprise Scale
- Summary
- Endnotes
- 10 What About Enterprise Services?
- The Role of Enterprise Services
- What Is an Enterprise Service?
- Product Management
- Product Management as a First-Class Citizen
- Govern Properly-Fill or Kill
- Get the Financials Right
- A Short Story of an Enterprise Service
- Delivering Enterprise Services
- Let's Start From the Technology Dimension
- Next Let Us Move Onto the People Dimension
- Finally Let Us Expand Upon the Process Aspect of Enterprise Services
- Continuous Architecture and Enterprise Services
- Summary
- Endnotes
- 11 Conclusion
- What Was This Book About?
- Why Does Continuous Architecture Work?
- Putting Continuous Architecture in Practice
- Glossary
- Endnotes
- Index
- Back Cover.