Over the years, I’ve spent a significant amount of time helping teams gain control over large code bases in C, C++, C#, Java, and Ruby. I was involved in the early Agile movement and one of my passions is helping organizations recognize the impact of their internal organization and communication on the long term viability of their software products – putting interactions in place to prevent the accumulation of technical debt and lost business opportunities.
Currently, I’m helping teams and pursuing research in business / development communication, preventing errors through design practice and array-functional programming languages. My goal is to make software development more effective and integrated with business concerns.
I’m also the author of the book ‘Working Effectively with Legacy Code’
Specialties: Software Development Practices, TDD, Refactoring, Legacy Code Revitalization, Team Dynamics,