Szydło's three-part definition of context needed to evaluate any software design: (1) business context — goals, vision, stakeholder requirements, functional requirements; (2) project context — budget, timeline, available materials/frameworks, team knowledge and experience; (3) quality attributes — the '-ilities' like availability, security, reliability, extensibility (wiki lists 50–60). Without context, 'good' vs 'bad' design is undecidable — analogous to judging a mug only after knowing who will use it for what.