We’re all doing Agile nowadays aren’t we? We’ll all delivering software in an Agile way. But what does that mean? Does it mean sprints and stand-ups, Kanban even? But what about Extreme Programming? If as a development team we’re not using pair programming, test driven development, continuous integration, and other XP practices, then we’re not really doing Agile software development.
With real-world examples from my professional experience, I’d like to look at why the current trend of companies and projects adopting Scrum, calling themselves Agile, but not transitioning their development to XP, is a recipe for disaster. I’d like to cover the main practices of XP as well as other good practices, such as version controlling, automated devops and deployment tooling, emergent design and domain driven design, can really help a team deliver quality software, whether they’re doing two-week sprints, ,Kanban, or even Waterfall.
I am a software engineer with experience of management of IT and software development teams using Agile and Lean methodologies. I have worked with Free Software (aka Open Source Software) since the early nineties and, despite being a Mac user, continue to promote, advocate and employ Free/Libre and Open Source Software (FLOSS) where appropriate.
I graduated with a degree in Computing for Real Time Systems from the University of the West of England in 1993, and have since worked more or less consistently in the IT industry since then. In 1996, I co-founded Psand Limited, a company specialising in GNU/Linux and free software and bespoke content management systems.
I have worked as a programmer, systems administrator, development team technical lead, IT director, and Agile product owner. I am currently working as an Agile/Lean coach and trainer with a focus on the technical as well requirements analysis and project management. I founded HacktionLab and co-organise the bi-annual event BarnCamp.