Architecture, Design Patterns, Testing: What a Mess!