validate change? – Have we built something to specifica.on? – Have we built something free from defects? – Have we built something which is relevant to our users? Agile techniques reduce feedback cycles from months and weeks to days, hours and minutes
fractured. Domain experts use their jargon while technical team members have their own language tuned for discussing the domain in terms of design... Across this linguis?c divide, the domain experts vaguely describe what they want. Developers, struggling to understand a domain new to them, vaguely understand." -‐ Domain Driven Design [2003], Eric Evans A Further Complica.on: Language
v Typically wriWen from the point of view of the user v OBen interact with the applica.on through UI v Usually include external dependencies v Weak correla.on failure / cause v Generally slow to run
feedback so we can validate change quickly, but UI based acceptance tests are slow • Solu.on: Minimize logic in the UI and expose applica.on logic via loosely coupled services. Use faster running Service Level Tests to get the fast feedback we need
Dev I know the specifics of the business problem we’re trying to solve. I know how to use abstrac.ons to produce working soBware that models our domain. I know how to ask clarifying ques.ons to establish standard terms for a domain. I also like exploring corner cases.