Sandi Metz on how OOD (objected-oriented design) and agile development simplify design requirements, promote communication and lead to better, faster, more cost-effective software.