Technical Agile Coach
Specializing in leading and coaching software engineering teams to achieve high performance and effectiveness.
Mission
My personal mission is to help make teams awesome. I want everyone to be proud of what they build, to be courageous enough to learn together, and to never stop improving.
I accomplish this by:
Coaching teams to use modern software engineering practices, founded in Extreme Programming values, principles, and practices.
Encouraging teams to create psychologically safe environments in order to experiment and learn rapidly.
Engaging teams to find their own solutions to problems they recognize to promote self-management.
Leading teams in healthy, respectful debate in order to plan and design more effectively.
Implementing Scrum and Kanban as foundational frameworks upon which to build a team’s domain-specific processes.
Experience
16 years of software engineering experience
11 years of Extreme Programming practice
7 years experience on Scrum and XP teams
9 years experience technical consulting
Career Highlights
Integral Tech, LLC
Ford Motor Company - E-Commerce
Hands-on technical coaching with five teams responsible for the delivery of a new online vehicle purchasing experience. Teams were able to baseline DORA metrics and make categorical improvements in their throughput and delivery according to the industry standard measures. Coached teams in the following technical skills:
Contract Testing
Acceptance Testing
Test-Driven Development
Continuous Integration - Reduction of average lifetime of feature branches from weeks to days. In some cases, introduced Trunk-Based Development
Product coaching with product managers and other leadership to introduce Behavior-Driven Development and Domain-Driven Design, solving key problems in communication, documentation, and product iteration resulting in reduction in rework and coordination costs
Individually mentored Tech Anchors and other engineers to spread craftsmanship practices across teams
Contributed to development of Delivery Pipeline automation to showcase how to reduce the risk of individual deployments
Ford Motor Company - GPRS
Hands-on technical coaching with two teams responsible for vehicle configuration platforms used across the company.
CPrime, Inc
Kroger - Product Led Journey Engagement
Worked as Technical Coach paired with Product Coaches to lead Kroger technical teams through the “Dojo Challenge”, a 4-week immersive learning where teams practice new discovery and technical skills and tools to find ways to improve performance and efficacy
Collaborated with other Technical and Product Coaches to create and experiment with other immersive learning offerings for teams of all types
Explored different ways of both qualitatively and quantitatively measuring the value of the Dojo and other immersive experiences to drive improvement in their delivery
Resultant
Agile Software Engineering Training Series
Collaborated across departments with SAFe-certified coach, Scrum Masters, and project managers to build process and practice documentation and training
Software Engineering Agile Playbook - A team structure and process guide for new teams
Leading Practices Guides - A department-wide explanation of practices and the contexts in which they work best
Team Training Materials - Curriculum, slide decks, and other interactive aides to execute team training
Small Projects Team
Skills
Team technical coaching (Dojo, Samman)
Team facilitation
Classroom teaching & presentation
One-on-one mentoring
Extreme Programming (XP) practices for modern Agile engineering:
Energized Work
Pair/Mob Programming
Continuous Integration
Test-Driven Development
Incremental Design
Continuous Delivery (Cloud infrastructure & DevOps pipelines)
Refactoring
Test automation & Shift-left testing
Web application architecture
Microsoft .NET Framework/Core
JavaScript/TypeScript
Relational Databases (MSSQL, MySQL, Oracle)
Wordpress/PHP (wpengine.com)
Created team to organize around small- and medium-sized projects
Facilitated team chartering to create a vision, mission, objectives, and team boundaries
Used Kanban to define workflow, classes of service, work-in-progress (WIP) limits, and maximize flow
Facilitated daily planning meeting
Facilitated Retrospectives to improve relationships, processes, and tools
CoRE Software Suite (HHS Unifi, Indiana MPH ERE)
Established new standards of CI/CD for many ongoing projects
Brought Quality Assurance engineering into the current sprint instead of trailing to improve flow
Introduced and taught unit tests (microtesting) techniques for middleware engineers
Introduced business layer of application architecture
Taught SOLID principles and demonstrated inversion of control to team
Scrum Team Improvements
Led team in healthy debate to improve designs and processes
Taught team to create user-focused work items
Taught team to more narrowly and vertically slice functionality so deliverables are small, discrete, and complete (Minimum Marketable Feature - MMF)
Coached organization in the value and execution of team self-selection
Coached team to include entire Scrum Team in backlog refinement meetings, which improved the team's understanding of their estimates
Coached team to experiment with more ways to get planning value out of Daily Scrum: work-focused updates instead of individual updates
Coached team leadership in ways to improve team self-organization
Seven Corners, Inc.
Served as a mentor to many junior level engineers
Coached the software team to use Agile engineering practices such as pair and mob programming, test-driven development, unit testing, and automated acceptance testing
Advocated for Quality Assurance automation tester positions to be added, and included them on the Scrum Team as members
Led book clubs on “Working Effectively With Legacy Code”, “Head First Design Patterns”, and “Clean Code”
Led the team to a healthy culture of respectful debate
In less than two years, my direct influence:
Reduced the bug/defect rate from over 20 per sprint to 2
Reduced the production hotfix rate from 5 per month to 1 per quarter
Increased unit tests from about 1,000 to over 13,000
Added all automated tests to the CI/CD pipeline
Refactored a 128 project solution down to 85 with 15+ NuGet packages and 10+ microservices
Eleven Fifty Academy
Executive Board Member (2023 - Current)
Advising on educational and business direction, focused on Software Engineering curriculum
Senior Curriculum Mentor, Instructor
Advised learning objectives such as pair and group work, using test harnesses as a learning tool, and coached full-time instructors in their own skill advancement
Taught week-long classes of 20 or more people in basic and intermediate level web and mobile app design and programming skills