Landscape of Sustainable Engineering Practices

Landscape of Sustainable Engineering Practices

I want to share an infographic and related narrative that has really helped people emotionally connect with the importance and challenges of sustainable software development practices. I usually show the landscape in a quick introduction to Agile; in two day trainings, I go through an in-depth narrative and discussion. Sustainable Engineering Practices The diagram shows [...] Continue reading »
Sustaining Agility Game

Sustaining Agility Game

Have you been on a software project where each release gets harder and harder? Many projects fall into the tar pit of the Design Dead Core. Why do nearly all software projects fail to balance short term choices with long term consequences? Through game-play you will experience how hard it is to make effective choices. [...] Continue reading »
Software Craftsmanship promotes Competence Culture

Software Craftsmanship promotes Competence Culture

The rise of anemic Scrum was noted to dismay among the Agile community and in particular by "Uncle Bob" Martin who coined the fifth Agile manifesto value of Craftsmanship over Crap(Execution). This gave rise to the much needed community of Software Craftsmanship. Looking at an earlier post - Agile is about Collaboration and Cultivation Culture - [...] Continue reading »
Rapid reliable releases

Rapid reliable releases

I recently attended a ThoughtWorks QTB - Rapid, Reliable Releases (AKA It's not making money until its in production) by Rolf Russell and Andy Duncan. It was a solid presentation around the importance of managing environments effectively. I will walk through the diagram below starting with ... a reliable continuous integration system creates a foundation [...] Continue reading »
Strategies for Effectively Managing Legacy Systems

Strategies for Effectively Managing Legacy Systems

Derek Longmuir presented ThoughtWorks QTB on working with legacy systems. You can see the video and slides on InfoQ. I like the definition given by Michael Feathers: Legacy code is simply code without tests. Legacy Systems have Value. They are usually business critical and feature rich. They may even be stable and reliable (YMMV). Hint: [...] Continue reading »