What you will learn in Collaborative Software Design: How to facilitate domain modeling decisions
How to facilitate domain modeling decisions
Chapter by chapter
Concepts explained in this book
- social rankImplicit rank is a person's perceived status within a group that is attributed to characteristics such as knowledge, experience, age, education, gender, or social status rather than formally assigned.
- collaborative discovery and modelingA collaborative modeling session is a facilitated activity in which participants jointly create or discuss models to reach shared understanding.
- polarityA polarity is a tension between two opposing but interdependent positions, values, or forces that must be managed over time rather than permanently resolved by choosing one side.
- sense-making taskA sensemaking exercise is a structured activity for developing a shared interpretation of complex information or situations.
- metaheuristicA guiding heuristic, or meta-heuristic, is a higher-level heuristic that guides the selection or application of other heuristics.
- shared understandingA shared understanding is a common interpretation of relevant context, assumptions, concerns, and decisions among participating people.
- facilitatorA facilitator is a person who guides participants through a collaborative activity so that communication, participation, and decision-making are effective.
- heuristicA mental shortcut is a rapid cognitive strategy that reduces the effort required to interpret situations and make decisions.
- active listeningActive listening is a communication technique that verifies and clarifies a speaker’s meaning through attentive interpretation, questioning, and verbal or nonverbal acknowledgment.
- edge behaviorEdge behavior is seemingly illogical or contradictory behavior that signals an individual or group is avoiding an uncomfortable conflict near the boundary of conscious awareness.
- climate reportA climate report is a report of observed group behavior and interaction patterns that helps participants recognize and improve their collaborative climate.
- conflictA conflict is a state of disagreement or opposition between people or positions within a group.
- interviewAn interview is a structured conversation in which one person elicits information, experiences, or perspectives from another person.
- neutralityNeutrality is a facilitation stance of remaining open and nonjudgmental so that information and perspectives can emerge without premature alignment.
- software design EventStormingSoftware Design EventStorming is an EventStorming format for designing and implementing software around specific business scenarios.
- autocratic leadership styleAn autocratic decision is a decision made unilaterally by an authority rather than through group agreement.
- hotspotA hotspot is a marked area of difficulty, interpersonal conflict, missing knowledge, or branching in an explored timeline.
- cognitive biasA cognitive bias is a systematic tendency in human judgment or reasoning that can distort perception and decision-making.
- check-inA check-in is an opening activity for establishing participants’ initial status, context, or readiness in a collaborative session.
- polarity mapA polarity map is a visual model that represents two interdependent opposing poles, their positive and negative aspects, signals, and possible actions for managing them.
- role fluidityRole fluidity is the ability of people in a group to recognize and identify with multiple roles rather than reducing a person to a single fixed role.
- check-outA check-out is a closing activity that helps participants reflect on a session, express unresolved concerns, and make necessary agreements before leaving.
- safe spaceA safe space is an interaction environment in which participants can express views without fear of hostility or penalty.
- safety ruleA safety rule is a collectively agreed constraint on behavior intended to protect open and respectful participation in a group activity.
- resistance to changeResistance is a reluctance or opposition to change, participation, or confronting a problem within a group.
- shadowA shadow is an unobserved or insufficiently acknowledged social dynamic that hinders a group's collaboration and decisions.
- symbol of powerA culturally meaningful behavior, characteristic, practice, or artifact that signals status, authority, or influence within a group.
- social hierarchyAn ordered social structure in which people or groups occupy positions with differing status, influence, or authority.
- uncertaintyUncertainty is the lack of knowledge or trust in the information available when making a decision.
- impromptu networkingImpromptu networking is a structured conversation format in which participants discuss questions in pairs or small groups and then share insights with a larger group.
- nudgeA nudge is an intervention that alters how choices are presented or how a decision environment is structured without removing the available choices.
- ubiquitous languageA ubiquitous language is an unambiguous vocabulary shared by domain stakeholders and software developers for expressing domain concepts and design decisions.
- problem spaceA problem space is the portion of a domain containing the business problems, concepts, and complexity that a software solution addresses.
- participant observationA research method in which an investigator observes a culture or group while participating in its activities and social setting.
- preparationPreparation is the stage of organizing a collaborative modeling session, including its goal, participants, agenda, materials, exercises, outcome, and space.
- unanimous voteA unanimous vote is a decision procedure in which every participating voter supports the selected option.
- shared mental modelA shared mental model is a jointly held internal representation of a domain, situation, or system among members of a group.
- symbolic violenceSymbolic violence is the attribution and reinforcement of power through symbols, meanings, or social representations that cause people to accept diminished status or contribution.
- domain eventA domain event is a record of a significant occurrence in a business domain that may be relevant to subsequent behavior or decisions.
- modeA majority vote is a decision procedure in which the option receiving more than half of the votes is selected.
- ethnographic field noteEthnographic fieldnotes are detailed records of observations, interactions, and contextual interpretations produced during ethnographic research.
- karaoke player patternThe karaoke player pattern is a group behavior in which one person dominates conversation and dictates the group's direction.
- hot check-inA hot check-in is a session-opening activity that immediately addresses an active conflict or contentious design question.
- scapegoating fallacyThe scapegoating fallacy is a reasoning and communication error in which responsibility for a problem is shifted onto other people.
- alternativeAn alternative design is one of multiple candidate structures or approaches proposed to solve a software problem.
- observationAn observation is a deliberately noted behavior, interaction, event, or verbal or nonverbal cue that provides evidence about a situation.
- emic perspectiveAn emic perspective is an insider's account of a culture based on the lived experience of its members.
- ethnographic writingEthnographic writing is the practice of documenting cultural observations and participant experiences while distinguishing observation from interpretation.
- unstructured conversationAn unstructured interview is an open-ended conversation guided by observations and participant interests rather than a fixed question sequence.
- business model canvasA visual strategic management template for describing and analyzing a business model.
- architecture decision recordA structured document that records an architectural decision, its context, and its consequences.
- perspectiveA perspective is a particular viewpoint from which a problem, subject, or set of information is considered.
- design decisionA design decision is a chosen resolution to a software design problem or alternative.
- collaboration styleA collaboration style is a structured format for organizing how participants work together during a collaborative session.
- behavioral patternA behavioral pattern is a recurring form of behavior shaped by context or cultural norms that appears across comparable situations.
- customer journeyA customer journey is the sequence of experiences and interactions a customer has while pursuing an outcome with an organization.
- psychological safetyPsychological safety is a shared belief that people can speak openly, take interpersonal risks, and address difficult issues without undue fear of negative consequences.
- dysfunctional conflictConflict arising from interpersonal emotions, behaviors, or relationships rather than from the task itself.
- essential complexityEssential complexity is the irreducible complexity inherent in the problem domain that software design can manage but not eliminate.
- constraintA constraint is a limitation or condition that restricts the available choices or outcomes in a business or software context.
- Example MappingExample Mapping is a collaborative technique for organizing rules, examples, and questions to clarify requirements and discover acceptance criteria.
- continuous improvementA cycle in which information about outcomes or requirements feeds back into subsequent decisions or actions.
- cultureCulture is the shared norms, practices, assumptions, and ways of working that characterize a social group.
- polarized questionA polarized question is a question that explicitly frames two opposing but interdependent positions within a polarity.
- bounded contextA bounded context is an explicit boundary within which a domain model and its language have consistent meanings.
- working agreementA working agreement is a collectively accepted norm that defines how participants will behave and interact during a group activity.
- conversation on four feetA Lewis Deep Democracy exercise in which participants physically position themselves in relation to a statement and explain their perspectives.
- role mappingA technique for identifying, categorizing, and relating the roles present in a group or session to reveal its underlying dynamics and polarities.
- business modelA business model is a representation of how an organization creates, delivers, and captures value through its business activities.
- value propositionA value proposition is a statement of the benefits and value an organization offers to its customers.
- designSoftware design is the activity of determining a software system’s structure, behavior, and implementation decisions from its requirements.
- living documentationDocumentation that is continuously revised to reflect changes in the system, model, design, or decisions it describes.
- pivotal eventA pivotal event is a significant event in a process whose occurrence enables or organizes subsequent events.
- sustainable design decisionA sustainable design decision is a software design choice that a group can maintain and support while remaining aligned with business needs over time.
- remote sessionA remote session is a collaborative activity conducted with participants communicating from separate physical locations through digital technology.
- Socratic questionA question-based technique that prompts a person to clarify, examine, or deepen their reasoning rather than supplying an answer.
- socio-technical systemA sociotechnical system is an interdependent system comprising technical components and the people, social structures, and organizational processes that shape their operation.
- functional fixednessA cognitive bias that restricts a person to seeing an object, method, or representation only according to its familiar function or use.
- decision-making environmentA decision-making environment is the set of contextual features and arrangements in which people evaluate options and make choices.
- vulnerabilityA willingness to expose uncertainty, disagreement, or personal views despite the possibility of discomfort or social risk.
- pro-con-fix listA decision-support list that records the advantages, disadvantages, and possible remedies associated with an option or set of options.
- tradeoffA balance between competing advantages, disadvantages, costs, or consequences among alternative choices.
- debateA debate is a structured exchange in which participants present and examine opposing positions on an issue.
- subject matter expertA subject matter expert is a person with specialized knowledge in a particular field, here software design.
- impact mappingAn impact map is a visual model connecting a goal to actors, impacts, and deliverables that contribute to achieving it.
- fractal patternA fractal pattern is a recurring structure or behavior that appears in similar form at multiple organizational levels.
- symbolic idealA symbolic ideal is a culturally and contextually shaped mental image of traits associated with dominance, strength, or high status.
- symbolic powerSymbolic power is socially recognized influence or authority based on traits such as prestige, status, honor, gender, age, or occupational position.
- facilitationA facilitation process is the sequence of activities through which a facilitator guides a group toward effective communication, participation, or decision-making.
- transparencyTransparency is the degree to which an intervention's purpose, method, and influence are openly disclosed to the people affected by it.
- buy-inBuy-in is acceptance and support for a decision by the people whose cooperation is needed to carry it out.
- whirlpool modelA nonlinear model-exploration approach in which repeated feedback-driven loops challenge and refine models from different perspectives.
- social dynamicsSocial dynamics are patterns of interaction, influence, disagreement, consensus, and relationships among people participating in collaborative work.
- retrospectiveA retrospective is a recurring team meeting for examining recent work and agreeing on improvements to future collaboration or delivery.
- bias blind spotA bias blind spot is the tendency to recognize cognitive biases in other people while overlooking those operating in oneself.
- stressor analysisA resilience analysis technique that identifies disruptive events, their architectural effects, detection signals, and mitigations.
- Wardley MappingWardley Mapping is a visual strategy technique for mapping components according to user needs and their evolution.
- holding spaceHolding space is a facilitation practice of maintaining an accepting, attentive environment in which participants can express themselves and work through issues.
- type 1 nudgeA nudge that operates primarily through automatic, nonreflective thinking and can exploit cognitive biases.
- type 2 nudgeA nudge that directs attention and reflective thinking so people can consider the nudge and their decision.
- enabling constraintAn enabling constraint is a productive limitation that helps a group overcome stagnation and continue collaborative work.
- genius developerA genius developer is an experienced developer whose deep knowledge of an existing software system gives them high perceived authority but can constrain domain-focused design and adaptation.
- new developerA new developer is a recently joined team member who promotes practices from a former workplace to establish credibility or validate their status.
- silent personA silent person is a participant who has difficulty expressing views or concerns and whose contributions are consequently given less consideration by the group.
- Peter principleThe Peter principle is the management pattern in which people are promoted until they occupy a position in which they are incompetent.
- preventable problemA preventable problem is an organizational pattern in which incentives make creating and later fixing problems more rewarding than preventing them.
- rockstar developerA rockstar developer is a developer rewarded for rapidly handling urgent problems and visible incidents rather than preventing systemic problems or preserving code quality.
- decision makingA decision is a conscious choice between two or more alternatives that irrevocably allocates resources such as time, money, or energy.
- owning rankA facilitation practice of explicitly accepting and taking responsibility for the authority granted to the facilitator.
- playing rankA facilitation practice of maintaining recognized authority through communication and behavior that fit a group's power symbols.
- sharing rankA facilitation practice of distributing the facilitator's influence so that other participants can speak and exercise leadership.
- social powerThe capacity to influence other people’s behavior, participation, or decisions within a group.
- competing heuristicA competing heuristic is a valid decision rule that directs action differently from another valid heuristic in the same situation.
- compassionCompassion is concern about another person’s suffering accompanied by a willingness to help if that help is wanted.
- user story mappingUser Story Mapping is a collaborative technique for arranging user stories according to a user's narrative or journey to support prioritization and product planning.
- neutral consequenceA consequence of an alternative that is neither beneficial nor harmful in the relevant context.
- functional conflictA healthy, constructive disagreement that supports progress, innovation, or growth.
- domain-driven designA software design approach that centers development on a model of the business domain and uses that model to guide software structure and implementation.
- confusing communicationConfusing communication is communication containing contradictory statements, behavior, or signals that make a person's position or intent difficult to interpret.
- questions that aren't questionsQuestions that aren't questions are opinion statements expressed as questions and containing implicit judgment, assumptions, or direction.
- conflict avoidanceConflict avoidance is the tendency to evade, suppress, or defer addressing disagreement or opposition.
- indirect communicationIndirectness is communication that expresses an opinion or criticism without openly identifying the speaker's position or its specific target.
- logical fallacyA fallacy is a logically unsound form of reasoning in which an argument's apparent support does not validly establish its conclusion.
- geographical proximityPhysical proximity is the degree to which participants are geographically close enough to share a physical setting and observe one another directly.
- acceptance criteriaAcceptance criteria are business conditions that an implementation must satisfy for a requirement or user story to be accepted.
- System 1The fast, automatic, intuitive mode of human cognition that generates judgments with little conscious effort.
- personal shadowA personal shadow is an unacknowledged facilitator emotion, belief, or prejudice that can influence reactions and judgment.
- premeditatio malorumPremeditatio malorum is a Stoic practice of imagining possible difficulties in advance to prepare one's judgment and response.
- intuition starters kitThe intuition starters kit is a collection of boundary-design heuristics intended to help practitioners develop and apply design intuition.
- price calculation bounded contextThe Price Calculation bounded context is the BigScreen boundary containing pricing behavior and potential future subscription-related behavior.
- polarity managementPolarity mapping is a visual facilitation technique for identifying and managing the benefits and drawbacks of opposing but interdependent alternatives.
- observerAn observer is a facilitator stance focused on noticing participant behavior, interaction, and session dynamics without primarily directing the activity.
- decision-making styleA decision-making style is a characteristic way in which authority, participation, and responsibility are organized when making decisions.
- role theoryRole theory is a framework for understanding individuals and groups through the social, functional, personal, emotional, and conceptual roles they can embody.
- attractorA state or limited set of states in a system's state space toward which the system repeatedly returns.
- component evolutionA position representing the degree to which a capability has evolved from novel creation toward standardized utility.
- aggregateA consistency boundary is a boundary within which related state must satisfy business invariants as a single consistent unit.
- double signalA set of conflicting signals in which spoken words do not align with tone, actions, or other nonverbal cues.
- only criticize the other patternA fractal organizational behavior in which people assign blame to others while failing to reflect on their own behavior.
- incongruence insightA heuristic that identifies a potential underlying issue when a person's words do not align with their actions or nonverbal cues.
- clean languageClean language is a therapeutic communication technique that uses simple, open-ended questions based on a speaker’s exact words while avoiding the questioner’s assumptions, suggestions, metaphors, and interpretations.
- architectural decisionAn architectural decision is a significant choice about the structure or organization of a software system together with its context and consequences.
- mental modelA mental model is an individual’s internal representation of how a domain, business process, or software system works.
- visualizationVisualization is the representation of concepts, relationships, or processes in a visual form to support reasoning and communication.
- power dynamicA power gradient is a difference in power, influence, or authority between people or positions in a social or organizational setting.
- signalA signal is an observable piece of information, activity, behavior, or event that indicates a change affecting a session, outcome, or result.
- business problemA business problem is a need, objective, task, process, constraint, or challenge affecting users, stakeholders, or an organization.
- liminalityLiminality is a transitional state characterized by uncertainty, ambiguity, and the disruption of established concepts or structures.
- model fittingA software design practice of deforming a problem domain by adding or omitting elements so that it conforms to an existing model, metaphor, or architecture.
- framing effectThe framing effect is a cognitive bias in which the presentation of equivalent information changes preferences or judgments.
- shared language architectureShared language architecture is a collaborative technique for discovering and shaping the vocabulary, symbols, and metaphors that participants use to understand a domain.
- deployment unitA deployable unit is a separately deployable software unit whose release boundary can be aligned with components that change together.
- definition of successA definition of success is a set of session-specific guidelines for assessing whether an intended outcome has been reached.
- poleA pole is one of the two opposing but interdependent positions or perspectives within a polarity.
- conflict stageA stage in a progression that represents the behavioral development of a conflict and helps indicate an appropriate intervention.
- stakeholder analysisStakeholder analysis is a technique for identifying stakeholders, their roles, their expertise, and their expected involvement in decisions.
- complex problemA complex problem has high uncertainty, unpredictable outcomes, and no fixed solution that can be identified in advance.
- complicated problemA complicated problem is an ordered problem with predictable outcomes and an existing solution that requires expertise to understand or apply.
- collaborative software designA software design decision shaped through the participation and alignment of relevant stakeholders and team members.
- agile software developmentAgile software development is an iterative approach to software development that emphasizes collaboration, feedback, adaptability, and incremental delivery.
- counselorA person who listens to individuals' problems and supports them in understanding emotions and triggers while recognizing when referral is needed.
- enablerA facilitator stance focused on creating conditions that allow participants to contribute and achieve a session's goals.
- task organizerA person who ensures that collaborative tasks are assigned, tracked, and followed through by individuals or subgroups.
- collaborationCollaboration is the joint performance of design or development work by multiple participants who share knowledge and decisions.
- ruleA rule is a prescribed condition or policy that determines permitted behavior or outcomes in a domain.
- use caseA use case is a description of interactions between an actor and a system that produce an observable outcome.
- visual collaboration toolA visual collaboration tool represents ideas, assumptions, or decisions visually to support collaborative work.
- architecture advice processA decision-making process in which architectural decisions are advised on by people beyond the group that initially makes them.
- diagrams as codeA technique for generating visual diagrams from textual descriptions written in a diagramming language.
- buy-in levelAn idea buy-in level presents a possible direction as an open question that participants may freely influence or reject.
- Domain StorytellingDomain Storytelling is a collaborative modeling technique that captures domain knowledge through illustrated stories of activities and interactions.
- Lewis Deep DemocracyLewis Deep Democracy is a facilitation method for surfacing diverse perspectives, minority viewpoints, and group dynamics in collective decision-making.
- split and mergeSplit and merge is a named collaboration format in which participants work separately and then combine their results.
- business invariantA business invariant is a condition that must remain true for a domain model to represent a valid business state.
- aggregate rootAn aggregate root is the designated domain object through which modifications to an aggregate are managed.
- maturity mappingMaturity Mapping is a Wardley Mapping variant that represents capabilities as practices progressing through stages of maturity.
- breakout sessionA breakout group is a subgroup of meeting participants formed for separate discussion or work during a larger session.
- remote facilitationRemote facilitation is the practice of guiding a collaborative activity when participants communicate from separate physical locations through digital technology.
- gossipGossip is informal discussion about a group decision that can indirectly express a person's opinion or resistance.
- requirementsA requirement is a stated need, constraint, or capability that a software system is expected to satisfy.
- hybrid sessionA hybrid session is a collaborative activity in which some participants attend remotely while others share a physical location.
- weak signalA weak signal is a subtle or difficult-to-detect piece of information, activity, behavior, or event that may indicate an emerging change or pattern.
- value-based heuristicA value-based heuristic is a rule that shapes attitudes and behavior toward design, work, or the surrounding world.
- availability biasA cognitive bias in which information that is easy to recall is judged as more important or valuable than less readily recalled alternatives.
- together, aloneTogether, Alone is a collaboration format in which participants work independently on the same task before comparing their results, combining individual and group work.
- monologue styleMonologue style is a communication format in which participants share individually without interruption while others listen rather than engage in dialogue.
- pre-mortem sessionA premortem is a prospective risk-analysis technique in which participants imagine that a project or plan has failed and identify the causes of failure in advance.
- software architectA software architect is a person responsible for making and communicating significant structural decisions about a software system.
- concealed modelingThe named negative state produced by remaining too long in either detailed modeling or end-to-end modeling.
- Deep versus Wide polarityA book-specific polarity between detailed modeling and end-to-end modeling.
- solution-oriented modelingThe named positive state produced by balancing detailed modeling with end-to-end modeling.
- in-person sessionAn in-person session is a collaborative activity in which participants physically share the same location.
- ADR canvasA visual template for recording the title, status, context, decision, and consequences of an architectural decision.
- cruftPoorly written, redundant, or otherwise unnecessary software code and structure that makes a system harder to change or maintain.
- implicit architectureImplicit architecture is a software architecture whose significant design decisions are unstated, undocumented, or not shared.
- technical debtThe future cost of deliberately choosing a less-than-ideal software design or implementation in order to deliver value sooner.
- autonomyAutonomy is the ability of a team to make decisions and progress independently without requiring continual alignment or approval from other teams.
- centralized decision-makingCentralized decision-making is a decision-making arrangement in which authority for decisions is concentrated in a central person or group.
- shared kernelA shared kernel is a deliberately bounded subset of a domain model, together with relevant code or database design, that multiple teams agree to share.
- poor communication/breakdownPoor communication or breakdown is a resistance behavior involving the stopping or limiting of communication because a person feels unheard.
- resistance lineA resistance line is a model showing common stages of behavior that people exhibit when they feel unheard or undervalued in group decision-making.
- group unconsciousnessThe collectively unrecognized mental and social influences that shape a group's behavior and decision-making.
- iceberg modelA model of the mind that represents conscious, preconscious, and unconscious mental activity as levels with differing visibility and accessibility.
- preconscious mindThe level of mental content that is not immediately conscious but can be accessed through association or recollection.
- subconscious mindThe level of mental processes that are inaccessible to consciousness but influence judgments, feelings, and behavior.
- sunk cost fallacyA reasoning error in which prior investments of time, effort, or money improperly influence continuation of an endeavor despite its current costs and benefits.
- cost of changeCost of change is the effort, expense, risk, or disruption required to modify a software system after a decision has been made.
- resulting biasThe tendency to judge the quality of a decision primarily by the quality of its eventual outcome.
- teamA development team is a group of people responsible for building and evolving software.
- stakeholderA stakeholder is a person or group affected by, interested in, or able to influence the software and its organizational outcomes.
- anchoring biasA cognitive bias in which an initial suggestion or piece of information disproportionately influences subsequent judgments and decisions.
- collaborative modeling coachA collaborative modeling coach is a person who guides, challenges, and encourages individuals or groups to develop effective collaborative modeling practices and skills.
- contractingA technique for establishing explicit expectations, boundaries, permissions, goals, and outcomes within a helping or coaching relationship.
- System 2The slower, deliberate, conscious, and effortful mode of human cognition used for reasoning and complex mental activities.
- minority wisdomMinority wisdom is valuable knowledge or perspective held by a smaller portion of a group.
- strong signalA strong signal is an obvious and readily observable piece of information, activity, behavior, or event indicating a potentially important change.
- empathic concernEmpathic concern is empathy involving distress at another person’s negative emotions together with motivation to help.
- empathic listeningEmpathic listening is an interpersonal practice of helping another person feel understood by connecting with and supporting their emotional experience without necessarily trying to relieve their suffering.
- sociotechnical effectA sociotechnical effect is an outcome of a software design alternative that affects both technical properties and the people, teams, or organizational structures connected to it.
- agile architectureAgile architecture is an iterative approach to architectural design that incorporates collaboration, experimentation, feedback, and emergent decisions.
- agile theaterAgile theater is an organizational pattern in which teams adopt Agile practices while surrounding hierarchy and delivery processes remain largely unchanged.
- overconfidenceExcessive confidence in one's abilities, judgment, or correctness relative to available evidence.
- self-fulfilling prophecyA process in which an expectation influences behavior in ways that cause the expected outcome to occur.
- status quo biasA cognitive bias involving preference for the current state of affairs over changing to an alternative.
- heuristics toolkitA heuristics toolkit is a collection of heuristics that helps a facilitator guide collaborative modeling and design decisions.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.
