A colleague in Europe recently recommended this excellent overview of modern software engineering practices and we are throughly enjoying it. David Farley gives solid, actionable advice on bringing the discipline of software engineering into the types of software development that have traditionally been more of a craft. He also shows scalable techniques for bringing that mindset to larger software development projects. Highly recommended.