John has over twenty years of experience in software development in numerous technical roles. As a technical lead, John mentored developers, designed scalable applications, managed releases, and defined standards. He spent seven years as an agile developer leading Scrum teams, mentoring others in the Agile processes, and in XP techniques around TDD, Emergent Design, Refactoring, and more.
Most recently John has worked as a senior coach/consultant utilizing multiple methodologies, languages and operating systems, primarily with large enterprises on multi-level Agile Transformations. He coaches enterprise leaders on Business Agility and aligning value streams and accompany clients in their journey to adapt Agile methodologies as their new way of working. He also provides guidance to the enterprise in the implementation of Agile and Lean practices in the context of Business Agility, Software Engineering, and Extreme Programming (XP) such as DevOps, Pair programming, Test Driven Design (TDD), Continuous Integration (CI), Continuous Delivery (CD), Test Automation, and Refactoring.