Presented by David Bernstein
Five development practices are core to Extreme Programming (XP): automating the build for continuously integrating software as it is written, collaborating with team members through pair programming, practicing agile design skills that enable testability, using test first development to drive design, and refactoring code to reduce technical debt. Together, these five technical practices are proving to be essential for sustained success with agile development. However, many teams haven't been exposed to the benefits of these practices or understand how to use them effectively. David Bernstein explores these engineering practices and their use in reducing risk and building quality in at every level of the development process. He makes the business case for these practices by showing how they address the inherent risks and challenges of building software. David then examines how XP practices address the core issues of software development by helping us "build the right thing" and "build the thing right."
Gain a deeper understanding of XP practices and why they are not what they seem
Use continuous integration to reduce risk in building software
Employ pair programming to propagate knowledge throughout the team
Recognize five code qualities at the core of all good developer practices
Adopt test driven development to rapidly build higher quality code
See how refactoring is used to help you work faster by reducing technical debt
David Bernstein is the author of Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software. It's an insider's view of the software industry drawn from his decades of hands-on experience as a software developer, trainer, and consultant to some of the biggest players in the business. David's continuing passion for software design and construction has led him to train more than 8,000 developers since 1990 at hundreds of companies worldwide including Amazon, Yahoo, and Microsoft. His consulting firm, To Be Agile, helps developers adopt Extreme Programming practices such as test-driven development, continuous integration, and refactoring.