Description
Many organizations and architects struggle with architectural design and decisions within an agile environment. They understand the importance of avoiding intense design up front but are unsure of how much design up-front to do, so they opt for the other side of the spectrum – no initial design at all. Neither end of the spectrum is sustainable as both are inherently risky.
Letting your architecture emerge and implementing just what you actually need (versus what you think you might need) is a balancing act of deferring design decisions that don’t need to be made early and addressing aspects of the system that will have a long-lasting impact on a project. This balancing act requires architects and designers to demonstrate technical leadership, finding the right middle ground and mitigating the risk involved with either too much or too little design.
In this highly-interactive 3 day workshop participants will examine the roles, responsibilities and practices of architects working in an agile environment as well as gain an understanding of the architecture and design effort required at the enterprise, domain, solution and software architecture level. Attendees will also explore the practices and techniques for effectively defining, refining and evolving architecture that supports agile values and the principles of good architecture and design.
Audience
Architects, designers and senior developers looking to understand their role and practices in an agile environment. In addition to iteration managers, project managers and Scrum masters wanting to understand how the technical requirements underpin an agile project.
Prerequisites
Participants should complete Certified Agile Practitioner – Agile Foundations prior to taking this course or possess equivalent knowledge. Attendees should have some familiarity with software development and architecture.
Objectives
Eight Core Objectives for an understanding of Agile in Architecture
-
- Develop an understanding of what architecture is and is not
- Understand the roles and responsibilities of architects in an agile environment
- Learn how to apply the values and principles of agile architecture
- Understand the difference between agile architecture and traditional software architecture
- Apply techniques for planning and aligning architecture activities throughout the enterprise
- Learn to communicate the architecture approach and required decisions to diverse stakeholders
- Gain practices and techniques for keeping architecture documentation “light”
- Recognize and manage technical debt
Outline
Chapter One – Course Introductions and Agile Review
-
- Definition of Business Agility
- The Challenge of Organizational Silos
- Agile Manifesto and Principles
Chapter Two – What is Software Architecture?
-
- Types of Architecture
- Design versus Architecture
- Difference Between Traditional and Agile Architecture
- Agile Architecture Values
- Agile Architecture Principles
Chapter Three – Architect Roles and Responsibilities
-
- Technical Leadership
- The Architect and the Agile Team
- Defining Your Role to Add Value
Chapter Four – Integration – Service Oriented Architecture (SOA)
-
- Historic Context for SOA
- Programmable Interfaces
- Declarative Programming
- Service as APIs
- Enterprise Service Bus
- Loose Coupling
Chapter Five – Enterprise and Domain Architecture in an Agile Environment
-
- Governance – The Business Agility Enabler
- Maintaining the Big Picture
- Paving the Architectural Runway
- Identifying and Managing Architectural Risks
Chapter Six – Software Architecture in an Agile Environment
-
- The Need for Architecture on Agile Projects
- Team Responsibilities
- Avoiding Heavy Upfront Architecture
- Minimum Viable Architecture
- Scaling Agile and Architecture
- Managing Technical and Architecture Debt
Chapter Seven – Practices and Principles for Good Architecture and Design
-
- Analysis and Design – OO versus Procedural Design Principles
- XP versus Sound Design
Chapter Eight – GETTING REST Right
-
- REST versus Web Services
- REST Based SOA Pros and Cons
- REST Based Business Process Management
Chapter Nine – Move to Cloud
-
- Architecting for the Cloud
- The CAP Theorem
- ACID and BASE
- Data Consistency
- DevOps
- Cloud-Oriented Architecture
Chapter Ten – Data, Big Data and Agile Architecture
-
- Schemalessness in a Structured World
- Semantic Interoperability
- Multiversion Concurrency Control (MVCC)
- Big Data and Agile Architecture
Chapter Eleven – Agile Architecture in Practice
-
- Rethinking Integration
- Capabilities versus Affordances
- Alignment of Architecture with BPM
- Coding at “Meta” Level
- Dynamic Schemas, Coupling and Extreme Late Binding
Chapter Twelve – Agile Enterprise Architecture
-
- Enterprise Architecture and Frameworks
- Continuous Business Transformations
- Governance and Agile Architecture Roadmap
- Common Architectural Issues (Smells) to Guard Against
- Conclusion and Next Steps
Leave a Comment