Striking the balance between emergence and intentionality
The role of the Architect and the emerging (or intentional?!) Architecture in the Agile world are never-ending subjects for debate. Nevertheless, if you try to develop a large, complex system in an Agile way, or an ever-evolving system, in sustainable way, and not incur a ton of technical debt, you need Agile / Lean architecture.
This course is designed on the foundation of Agile and Lean principles to: describe the role of Agile Architects and values of Agile Architecture; explain Agile Architecture practices for both small projects and complex programs; teach participants to assess and cater for architectural and technical debt; provide advice on how to evolve from emergent to intentional architecture; foster an engineering culture of getting things done with the right speed and without compromising on quality; identify and manage waste; and maintain a continuously testable quality attributes.
Included below are the main topics covered in this training. The duration is 2/3 days.
The case for Agile Architecture
- The need for Agility
- Understand your business!
- Lean, Agile and Craftmanship Principles
- Boundaries between requirements, architecture and detailed design & implementation
- The architectural landscape
- Understanding your stakeholders
- What do architects do?
- Values important to Agile Architects
Agile Architecture practices for small projects
- Functional and technical spikes
- Experimenting on branches
- Growing a framework to reduce repetitive or tedious programming
- Understanding problem buckets
Agile Architecture practices for large projects
- Conway’s law
- Dealing with decisions. The “most” responsible moment
- Programs and product roadmaps
- Defining and using Landing Zones
- Set based design
- Architecture risk reduction backlog
- Managing architectural tasks
How to manage risks
Architecture and Technical Debt
- Technical Debt
- Architecture Debt
- Measuring Debt
- The Consequences of Ongoing Debt
- Debt Reduction Strategies
Testing architecture qualities
- What are Architecture qualities
- Writing Quality Scenarios
- Availability, Modifiability, Performance, Security, Usability…
Keeping architecture real, explaining system views
- Functional/ logical view
- The development/structural view
- Concurrency/process/runtime/thread view
- The physical/deployment/install view
- The operational view
- The information view
- Explaining and documenting the architecture
About the trainers
Florin Cardasim is a software architect and Agile coach. Beyond his technical skills, he gained a broad experience as a trainer for companies and speaker in conferences. Florin is passionate by technology and by working with people to construct amazing things; focused on client and team, quality and on-time delivery while carefully looking to keep inside the fun of the software development. He is fortunate to be part of the Microsoft Regional Director program, a group of technology experts recognized by Microsoft for their passion about sharing their knowledge with the community. Worldwide, there are less than 150 RDs.
Gabriel Enea is a Microsoft Most Valuable Professional with an experience of over 15 years in software development and one of those developers for whom work is an art. Along the way, he took different roles, from software developer to technical lead and he is a real advocate for good architecture and Agile practices. His specialisations include important areas such as enterprise web development, distributed systems, online payments, ecommerce, health care, and project management.