Over the years, Michael has spent a significant amount of time helping teams gain control over large code bases in C, C++, C#, Java, and Ruby. He 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, Michael is 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.
He is also the author of the book ‘Working Effectively with Legacy Code’.