WEEK 15- 2nd LECTURE Test-Driven Development and Refactoring. Architectural Analysis