Glossary Flashcards
Bounded Context
A unit for partitioning a larger domain or system model into smaller parts, each of which represents an internally consistent business domain area.
Cognitive Load
The amount of working memory being used.
Collaboration Mode
Teams working closely together with another team.
Complicated Subsystem Team
Responsible for building and maintaining a part of the system that depends heavily on specialist knowledge.
Conway’s Law
Law coined by Mel Conway that states that system design will copy the communication structures of an organization which designs it.
Dunbar’s Number
Coined by anthropologist Robin Dunbar, which states that fifteen is the limit of people one person can trust; of those, only around 5 can be known and trusted closely.
Enabling Team
Teams comprised of specialists in a given technical or product domain; they help bridge the capability gap.
Facilitation Mode
Teams helping or being helped by another team to clear impediments
Fracture Plane
A natural seam in the software system that allows it to be easily split into two or more parts.
Platform Team
Enables Stream Aligned teams to deliver work with substantial autonomy
Stream Aligned Team
A team aligned to a single valuable stream of work.
Thinnest Viable Platform
A careful balance between keeping the platform small and ensuring that the platform is helping to accelerate and simplify software delivery for teams building on the platform.
Z-as-a-Service
Consuming or providing something with minimal collaboration.
Types of Cognitive Load
Extraneous Cognitive Load: Relates to the environment in which the task is being done (e.g. How do I deploy this component again?)
Eliminate this load altogether.
Germane Cognitive Load: Relates to the task that need special attention for learning or high performance (e.g. How should this service interact with the ABC Service?)
Greatest space is reserved for this load (“value add” thinking).
Intrinsic Cognitive Load: Relates to aspects of the task fundamental to the problem space (e.g. What is the structure of a Java class?)
Minimize through training, good tech choices, hiring, pair programming)
Further example:
Intrinsic cognitive load for a web application developer could be the knowledge of the computer language being used, the extraneous load might be details of the commands needed to instantiate a dynamic testing environment, and the germane cognitive load could be the specific aspects of the business domain that the application developer is programming.