Meetings (real or virtual) are conducted and attended by both software engineers and other stakeholders.
Rules for preparation and participation are established
Agenda is suggested that is formal enough to cover all important points but informal enough to encourage the free flow of ideas
A “facilitator” (customer, developer, or outsider) controls the meeting
A “definition mechanism” (worksheets, flip charts, wall stickers, or virtual forum) is used.
Goal is to identify the problem, propose solution elements, and negotiate different approaches.