Unit 8 – Mental Model Changes
Open Agile Architecture Practitioner Certification
8.1 List the Solution Architecture points of attention
- Time horizon may not match the time horizon of other projects. May impact other teams.
- Project to Product shift = solution architecture defintion: product architecture
- Blurred boundary between architecture work and project work
8.2 Describe Architecturally Significant Decisions
- They define or modify...
- Segmentation of the enterprise
- Allocation of functions to segnments
- Interfaces that link segments
- Interoperability and composability standards/guardrails
- They are classified by...
- Reversibility
- Scope
It is important to document the motives behind architectural decisions for historical purposes.
8.3 Explain understanding and Guiding the Architecture
Constraints
Constraints don't need to be a bad thing. But, identifying and documenting constraints is vital.
Fitness Functions
A way to test that the architecture is meeting non-functional requirements. An embodiment do a non-functional requirement that is testable. If a proposed architctural change fails a fitness function, the the change as proposed is not fit for purpose. A tangible manifestation of the constraints and architectural goals.
Guardrails
A lightweight governance structure. Define the way the org "does" things, typically used in combination with an oversight team.
8.4 Explain how to develop an Architectural Roadmap
- Vision
- Target end state
- Step-wise
- describe intermediate steps until the target is reached
- Flexible
- can evolve as understanding grows
- Open
- defined by the whole team involved
- Breadth
- needs to be broad enough to inform the team's decision making
Keep the roadmap high-level enough for the team to be Agile. Give guardrails to support emergence and measure, measure, measure.
8.5 Explain Progressive Transformation (Experience)
The environment for architectural evolution must persist. Along the way the architcture needs to allow evolution but also meet the needs of the business.
8.6 Describe the DevOps Culture and in particular the concept of Team Taxonomy
- DevOps Culture
- You build it, you run it
- Team Taxonomy
- Specify the scope of each team and and minimize dependencies between teams. Decompose the org and draw boundaries.
8.7 Describe the DevOps Behavior and Practices
- Infrastructure as Code
- Testing infrastructure operations code
- Test Automation
- This applies to app code and ops code
- Application and Infrastructure Monitoring
- Automated Dashboards
- Automated Release and Deployment
- Continuous "Everything"
- integration, testing, delivery, deployment
- Continuous Integration
- Integrating new code into the main branch frequently throughout the day. Instead of having developers work in independent feature branches for weeks or months at a time.
- Continuous Delivery
- Frequent release of new software through the use of automated testing and and continuous integration
- Contiuous Deployment
- Continuously deploying new changes to production by defining tests and validations to minimize risk
- Continuous Improvement
- Retrospective and postmortem activities following every incident or outage
8.8 Describe Governance in the Face of Agile
Orgs that switch to Agile have a reduction in number of projects/products that go through IT governance committee reviews. Classical IT governance members are not close enough to the field.
In Agile, decision rights go to the team closest to the information.
Instead of required tasks or activities, standards are defined as guardrails. Candidate software products are assessed by Agile teams in light of the guardrails.
8.9 Briefly describe the DevOps Principles
- Continuous Delivery of Value
- working software in the hands of users is the primary measure of progress
- Collaboration
- face-to-face conversation is the most effective way of conveying info
- Feedback and Testing
- feedback loop creates confidence in results. Testing supports the feedback loop.
- Culture and People
- Build projects around motivated people. The best stuff emerges from self-organizing teams.
- Continuous Improvement
- Team reflects on how to become more effective
- Design and Simplicity
- Maximize the amount of work not done
- Automation
- Avoid human intervention to avoid mistakes and save time/energy. Good testing habits are mandatory for automation, they provide a safety net and confidence.
- Self-Service
- Enable consumers to use services independently./ Continuous delivery that is not disruptive.
- Shift Left
- Testing is performed earlier in the cycle. Work on problem prevention instead of
problem protection.
- Testing is performed earlier in the cycle. Work on problem prevention instead of
- Repeatability
- Every step in the delivery pipeline should be deterministic and repeatable
8.10 Briefly describe the Mental Model Shifts
- ✅ Architecting the whole enterprise together ❌ Aligning business and IT
- ✅segmenting the enterprise ❌layered view of enterprise
- ✅Outside-in ❌ Inside-out
- ✅Value-driven ❌Requirements-driven
- ✅Outcome Prioritization ❌ Features Prioritization
- ✅Concurrent ❌ Sequential
- ✅Continuous architecture ❌ Big Upfront Design (BUFD)