David Bernstein, To Be Agile
This session is based on content from my new book Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software. The session focuses on the five development practices that comprise the core Extreme Programming (XP) practices. These five practices include 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 areas are proving to be essential for sustained success with Agile development. But many teams have not been exposed to the benefits of these practices or how to use them effectively. In this session, we explore these engineering practices and how to use them to reduce risk and build quality in at every level of the development process. We make the business case for these technical practices by showing how the practices of Scrum and XP address the inherent risks and challenges in building software. We look at the success rate in the software industry and why traditional waterfall development may work for civil engineering but not for software engineering, which is more about inventing than constructing. We then look at how practices from XP addresses the core issues of software development by helping us “build the right thing” and “build the thing right.”
2016 Technical Paper, David Bernstein, Abstract