Terminology Mismatch Repair Made Plain - John Connolly - NDC Porto 2023

Learn how to identify, resolve, and rectify terminology mismatch issues between developers and business stakeholders for successful software development.

Key takeaways
  • Terminology mismatch: Conflicts between technical terms used by developers and business terms used by the business can lead to misunderstandings, miscommunication, and errors. It’s essential to identify, resolve, and rectify these mismatches.
  • Domain-driven design: Understanding the business domain and its terminology is crucial in software development. Domain experts and business stakeholders should be involved in the development process.
  • Communication: Effective communication between developers, business stakeholders, and end-users is vital in resolving terminology mismatch issues.
  • Collaboration: All parties involved should collaborate to ensure mutual understanding and agreement on terminology. R3 process (Recognize, Resolve, Rectify) can be used to resolve these mismatches.
  • Domain modeling: Domain modeling can help to identify, define, and refine the terminology and meanings used in the business domain.
  • Terms and definitions: Terms and definitions should be agreed upon and documented. The domain experts should define the business terms, and the technical team should refine and clarify them.
  • Domain knowledge: Domain knowledge is necessary to understand the business domain and its terminology.
  • Terminology mapping: A mapping between technical terms and business terms can be useful in resolving terminology mismatch issues.
  • Assumptions: Assumptions made by developers or business stakeholders can lead to misunderstandings and errors. It’s essential to identify and challenge these assumptions.
  • Context: Context is critical in understanding the meaning of terms and definitions. Stakeholders should be aware of the context and relevance of the terms.
  • Emotions: Emotions and personal beliefs can influence the way people perceive and communicate terms and definitions.
  • Collaborative effort: Resolving terminology mismatch issues requires a collaborative effort from all stakeholders involved.
  • Domain-driven architecture: Domain-driven architecture can help to organize and structure the software development process based on the business domain and its terminology.
  • Software entropy: Software entropy is a natural process that occurs due to the complexity and evolution of software. Managing software entropy requires a deep understanding of the business domain and its terminology.
  • Emotional intelligence: Emotional intelligence is crucial in understanding and managing the emotions and personal beliefs of stakeholders involved in the software development process.