Summary:
Dedicated Agile coach since 2013, and Agile practitioner since 2003, with deep expertise in implementing Scrum, Kanban, and Lean in software-intensive and non-software contexts. Software engineer with over 25 years of practice as a Scrum Master, architect, and developer in government auto insurance, telecommunications, oil & gas, SCADA, and equity trading. Experienced team leader, engineering mentor, and valuable team player; skilled trainer, communicator, and facilitator.
Highlights:
-
Agile coach with expertise in initiating impactful changes across organizational boundaries.
-
Trained 300 people on Agile and DevOps at Shaw as part of an enterprise Agile transformation.
-
Guest lecturer on Agile and Scrum, Information Design - Mount Royal University.
-
Coached adoption of BDD to decrease lead time while reducing defects on a system of over 900k set-top boxes.
-
Responsible Member – Software Engineering on Shaw’s Permit to Practice Engineering from 2014 to 2021.
-
APEGA Professional Engineer (P.Eng.) since 1997 and EngGeoMB P.Eng. since 2021.
Experience:
President and Owner, Hacken Agile Software Engineering Inc. (May 2021 – present)
- Repairing the world of work by providing remote Agile coaching.
Scrum Master (contract), Manitoba Public Insurance (May 2021 – January 2023)
-
Coached teams working in HR, finance, payroll, IT (Microsoft 365, Remedy, desktop support), and modernization.
-
Introduced flow metrics (cycle and lead time, WIP limits, item ageing) and enterprise-wide prioritization of work.
-
Developed high-trust relationships within and between teams.
-
Mentored Product Owners and Scrum Masters in Communities of Practice to maximize their understanding of Agile.
-
Pragmatically applied Scrum and Kanban practices in a SAFe organization.
Senior Agile Coach, Freedom Mobile (Shaw Communications) (July 2020 – May 2021)
-
Coached senior leaders across the enterprise by understanding their goals and obstacles and offering context-specific guidance for their Agile transformation.
-
Developed Agile transformation plan and playbook for Shaw.
-
Guided the outsourcing of professional work products provided by APEGA-licensed firms.
Principal Consultant Engineer, Shaw Communications (March 2019 – June 2020)
-
Facilitated the creation of self-sustaining, self-organizing teams that maximized the benefit of what they produced.
-
Coached teams for effectiveness in the face of disruptive change.
-
Provided Agile and Scrum consulting expertise to teams throughout Shaw.
-
Acted as a trusted advisor, collaborating with teams and individuals to discover ways they could continuously improve.
Principal Software Engineer, Shaw Communications (November 2013 – March 2019)
-
Developed and provided a 9-hour introduction to Agile and DevOps for 300 people throughout Shaw.
-
Provided Agile coaching for multiple Scrum teams.
-
Introduced acceptance criteria, unit testing, and peer code reviews.
-
Developed Behaviour Driven Development framework for embedded JavaScript running on cable set-tops.
-
Scaled development to two cross-functional Scrum teams.
Senior Software Engineer, Shaw Communications (December 2009 – October 2013)
-
Developed an Agile software engineering practice worth following based on a hybrid of Scrum and XP.
-
Introduced unit and integration testing, tooling for visual work tracking and peer code reviews.
-
Practical application of Agile in embedded software.
-
Arranged CSM and TDD training with Ron Jeffries and Chet Hendrickson.
Senior Software Architect, Shaw Communications (July 2009 – December 2009)
-
Transitioned the team from an ad-hoc process to Scrum.
-
Introduced weekly regression testing.
-
Mentored Engineers in Training.
Software Engineering Architect, Pason Systems (January 2007 – March 2009)
-
Designed inter-site communication standards using JMS and HTTPS.
-
Expert in Linux, Perl, Regular Expressions, cfengine, and autonomics.
-
Performed design reviews, and code reviews.
-
Created and chaired weekly team meetings to improve collaboration.
-
Created branch management policies for parallel development, and release management.
-
Encouraged feature-based Agile releases based on user stories, emergent design, TDD, and refactoring.
-
Met weekly with other architects to share innovations and improve knowledge transfer.
-
Encouraged developers to continuously improve, and continuous improvement of the development process.
-
Created high-level designs for software update mechanism; system life cycle management; centralized management of a distributed fleet of Linux systems on land-based drilling rigs; 802.1x network using PPP over Ethernet.
-
Researched and selected CentOS 5 as a replacement for legacy Red Hat 7.2 installations.
Senior Software Engineer, Pason Systems (May 2001 – January 2007)
-
Designed and developed a method for automated and unattended remote system upgrades over a VSAT network; a method for performing unattended transformations of 8GB MySQL databases; application for mass imaging Linux hard drives.
-
Designed back-end software components for backups, management of removable hard drives, and system upgrades.
-
Converted application deployment system from tar files to auto-generated RPMs.
-
Created coding and unit testing standards.
-
Key developer in conversion from DOS/QNX-based product to Linux servers with Windows 2000 clients.
-
Firmware programming for an Intel 8051 microcontroller in a hook load sensor.
-
Configured and administered a new CVS server, replacing Visual Source Safe.
-
Provided after-hours technical support for applications on drilling rigs.
Senior Programmer Analyst, EFA Software Services Ltd. (November 2000 – May 2001)
-
C development (object-oriented), unit testing, QA, and maintenance for a high-performance equity trading engine.
-
Responsible for peer code reviews and technical documentation.
-
Created Perl productivity tools for developers.
Senior Systems Engineer, Neles Automation (now Schneider Electric) (October 1999 – November 2000)
-
Designed and developed a real-time multithreaded Publish/Subscribe network layer in C++.
-
Co-engineered middleware interface for Colorado Springs Utilities.
-
Enhanced Chevron Pipeline’s leak detection application, to minimize false alarms.
-
On-site support of Colonial Pipelines' batch tracking and metering applications.
-
Project Leader for Marathon SCADA upgrade. Responsible for estimates, scope, and developer supervision.
Systems Engineer, Neles Automation (now Schneider Electric) (December 1996 – October 1999)
-
Designed and implemented engineering calculations in C for hydraulic profiling application.
-
On-time delivery of temperature and pressure correction calculations for Kenya Pipeline Company.
-
Successful upgrade of an 18GB Sybase database, and Y2K remediation for Chevron Pipeline.
-
Coordinated monthly software releases of Liquid Management System applications.
Design Engineer, Engineered Air (October 1994 – November 1996)
- Designed finned-tube heat exchangers for HVAC equipment, and certified steam heating coils.
Education, Certification, and Memberships:
-
Applying Professional Kanban I (2022), Professional Scrum Master I (2021), and Certified Scrum Master (2010-2023).
-
Bachelor of Science, Mechanical Engineering, University of Manitoba (1989-1993).
-
APEGA – Professional Engineer since 1997.
-
Calgary Agile Methods User Group (CAMUG).