Knowledge Crunching

Problem

Understanding requirements entails understanding domain terminology, concepts, and relationships. Domains can be complicated, requiring years to master. How does a developer gain sufficient knowledge about an application domain?

Solution

Hold knowledge crunching sessions with domain experts, ask questions, listen to their answers, draw diagrams, take notes.

Start from use cases. Look beyond requirements. Understand the intent of a use case. Explore scenarios.

Do your homework. Read text books, search the web, look for existing domain models, read company documentation, look at domain standards.