によって morten udnæs 15年前.
437
Lean Architecture and DCI concepts
Map of concepts, principles related to lean, architecture and DCI
Lean Architecture and DCI concepts
Creating code that follows users mental modelavoids having to make uses cases for every possible variation
First phase
Use case, to organize the timing of responsible decisions
Input to domain model to scope the domain
Screen design to ensure a usable system
Define the problem: The difference betwen current state and the desired state
Documentation is for communication AND to remember perspectives and decisions
Waiting is waste
The hard part of design is the partitioning of a systeminto modules and collections of related APIs
Agile is about doing. Lean is about thinking before doing (to reduce waste)
Rework in design saves costly rework in production
Rework during production is waste
Lean Principles
Software architecture should support the enterprisevalue stream
Continues flow
Code just in time
Everyone has to participate
Focus on long term results
What the system is vs. what the system does
Does relates to functionality
Is relates to form/architecture
We go to the code for what and how, but only the authors or theirdocumentation tell us why
Use case scenarios are implementedas traits/rolemethods/mixins
Lightweigh use cases capturessystem functionality
Domain model can be build in a coupleof weeks using abstract base classes
Design-by-contract gets us closer torunning code even faster
Enage all stakeholders to get a cross-functional team from the start to get insight and be able to defer decisions to the (last) responsible moment
Source code and architecture should reflect the end user mental model of the world