Communication is more than half of the work of an Enterprise Architecture practice.
The real goal is to make your architecture easy enough to understand so that people can make the right decisions.
- Architecture != Tools & Frameworks
- Postponing decisions about Tooling and frameworks
- Focus on customer, not environment
- Build vs Buy
- Coding vs Configuration
- Product customization
- Enterprise
- Solution(System)
- Software(Technical)
- Infrastructure
- Analyze Business Drivers, Stakeholders
- From Assessment (result of evaluation) need to set Goals and more specific Outcomes
- Gather Requirements from each Outcome
- prioritize Requirements - find out ASR
- split them to Functional and NonFunctional Requirements
provide the appropriate level of details to allow develop/implement the solution.
- Define Quality Attributes for NonFunctional Requirements
- Depict Current Architecture
- Design Target Architecture ( with Options to achieve MVP )
- Migration Plan to target architecture
- not exhausted UpFront design
- Documentation only with critical points
- Main contributors of decisions - Stakeholders
- Incrementatl design
- Growing Architecture
- Value is visible after 2-3 releases
- inside-in
develop a broad understanding of what clean-up would be required
within each domain in scope - outside-out
develop a broad understanding of the
overall business-ecosystem, in its own terms,
independent of our own organisation - outside-in
develop a broad to detailed understanding of
how others would interact and transact with our organisation, from their perspective - inside-out
(usually together with a detailed inside-in): develop a detailed architecture
for each domain, each from its own perspective,
drawing on each of outside-in perspectives for guidance
inside-in
- Informing achieve understanding or obtain commitment.
The main goal is to elicit feedback to make sure that the communication is effective.
- Deciding support the process of decision-making and often target managers
The main goal is to obtain a decision or a choice between several options.
- Designing support the design process from initial sketch to detailed design
The main goal is usually to define or refine a target.
- Overview - helicopter view on a subject which usually mixes multiples domains
targets decision-makers or enterprise architects.
- Coherence/Collaboration - focus on one specific topic, but seen through multiple complementary angles.
collaboration between people, processes or tools.
- Details - focus on one specific topic and zoom in only one of its aspects.
subject matter experts or software engineers.
- avoid line crossing
- bigger elements will be understood as being more important
- Align elements on a grid and between each other.
- Use whitespace instead of actually using a visual group.
Waterfall++ - V-Model system design
- emphasize
- hot points
- who is asking
- no tech discussions
- goals ( business, tech )
- define
- deep understanding
- questions
- use cases
- idea
- how to
- solution architecture
- prototype
- implementation
- test
Architecture Decision Records also can be used during development/implementation phase ( not only architecture/design )
- Context
- Decision
- Refused options
- Status
- Assumptions
- Constraints
- Consequences
- Timeouts
- Graceful Degradation
- Retries
- Exponential Backoff
- Circuit Breakers
- development
- operations
- support
- L1
- L2
- L3
- data migration ( for evolution/revolution )
mindmap
documentation)Documentation(
{{one common vision}}
common bird-eye view
naming conventions
decrease sketching time for each meeting
{{part of DefinitionOfDone}}
visibility
knowledge sharing
{{one point of truth}}
new team member
existing team memeber
external teams
{{interchange responsibility}}
split hard tasks
real Agile
Data + Context = Information
Information + Action = Knowledge
Knowledge++ = Experience
- cheaper
- better
- smarter
- caputre & collect
- clean & prepare
- $ - capitalize
- EIP
- C4
- C4 model
- 97 things every architect should know
- value proposition template
- 12 factors app
- system design descriptions
- design patterns
- Quality control ( intentionally in russian due to lack of information in other languages )
семь инструментов контроля качества
- диаграмма ishikawa
- контрольная карта
- диаграмма Парето
- гистограмма
- контрольный лист
- расслоение
- диаграмма рассеяния
- дополнительные 7 инструментов контроля качества
- диаграмма сродства
- диаграмма зависимостей ( связей )
- системная (древовидная) диаграмма
- матричная диаграмма
- стрелочная диаграмма
- диаграмма планирования оценки процесса
- анализ матричных данных
- схема потока
- books collection
- books collection
- System Design Interview – An insider's guide ( Alex Xu )
- Software Architecture in Practice ( Len Bass )
- The Software Architect Elevator ( Grehor Hohpe )
- Clean Architecture ( Robet C. Martin )
- Domain-Driven Design: Tackling Complexity in the Heart of Software
- Software Architecture in Practice ( Len Bass )
- The Software Architect Elevator ( Grehor Hohpe )
- 97 Things Every Software Architect Should Know ( Richard Monson )
- 37 Things One Architect Knows ( Gregor Hohpe )