Lean Software Architecture for Developers