How to achieve high usability, flexibility, scalability, extensibility, testability and maintainability by applying loosely-coupled system design.
How to tackle communication challenges in Agile distributed software development teams. Key roles and responsibilities within remote engineering teams.