Our services revolve around agile methods, technical skills and human behaviour. Although we call them out separately here, a typical engagement will involve a little bit of everything on this page. Some coaching, some facilitation and some training.
Example: An engagement involving less than a dozen teams might look like this:
- A few days of meeting with the teams in order to understand their current context.
- Some structured training classes, targeting specific skills as identified in the first step
- Two days of facilitated mob programming for each team
- A longer period of ongoing coaching and mentoring
Effective facilitation is an important skill for your people. We can either teach your people how to facilitate or we can do the facilitation ourselves to model the behaviour you’d like to see.
The expertise that a facilitator brings to an activity or meeting can often make or break the effectivness of that activity. There are certain skills that are generally applicable for any facilitation and then there are specialized skills to facilitate specific kinds of activities such as mob programming or open spaces.
Mob programming, in particular, is one activity that we are often asked to help with. We’ve facilitated mobbing sessions with well over a hundred different teams and can bring that expertise to your company.
Coaching / Mentoring
While coaching and mentoring are very distinct disciplines, in the context of “agile coaching”, they tend to flow fluidly from one to the other. Despite the misleading name, what is often referred to as “agile coaching” is usually more on the mentoring side, helping people understand and adopt specific practices.
We are experienced with both which allows us to use whichever is more appropriate in the moment.
Our trainings tend to be deeply experiential, focusing on those approaches that science has shown to be most effective in helping people learn. Our attendees will learn through doing, not just by listening.
While we do have some standard classes that we are always offering, most of the trainings we do are customized for our clients. Do you need two days of technical training or a one day introduction to Kanban? We can accomodate your needs.
While most courses are customized, there are certain things that are very frequently covered in our classes.
If you would rather take one of our publicly offered classes then refer to the main page for upcoming ones.
Typical content for an Agile introduction
- Agile history - where did this all come from?
- The values and principles.
- Understanding the context - where Agile is the right fit and where it isn’t.
- The different methods and where they make sense (ie Scrum, Kanban, others).
- Understanding scaling of agile - what problem is scaling trying to solve and how does it do that?
- Understanding where management fits in the agile picture and how they can best support the effort.
Typical content for a Kanban introduction
- Flow basics. Understanding effectivess vs utilization and basic queueing theory.
- The core practices.
- Board and policy definitions. In a shorter class, we may only cover how this would be done, while in a longer workshop, we will actually define all of these with the group.
- Metrics (i.e. lead time, cycle time) and charts (i.e. cumulative flow diagram, lead time distribution).
Typical content for a Scrum introduction
- Understanding the timebox and the product increment.
- The various meetings and the intent behind each.
- The three roles that Scrum defines and the one that it ignores.
- The artifacts.
- The sprint and product goals.
- Metrics: Velocity, burndown charts, etc.
Typical content on stories and work breakdown
- Personas and story mapping
- Writing and slicing stories effectively.
- User stories and job stories - how they’re different and when you might want to use each.
- Prioritization techniques such as the Kano model and Cost of Delay.
- Estimation techniques.
- Acceptance criteria and the gherkin notation.
Typical content for Agile technical skills training
- Test Driven Development (TDD).
- Pair and Mob Programming - techniques for increased collaboration.
- Simple Design.
- Technical Debt.
- Continuous Integration and Continuous Delivery (CI/CD)
- Behaviour Driven Development (BDD) / Acceptance Test Driven Development (ATDD).
A sampling of testimonials from courses we’ve taught.
“I really enjoy learning from Mike. He’s flexible and willing to listen for feedback to adapt his course/agenda to fit our groups needs. I’ve learned a number of topics relevant to what we do in our company and will definitely try them out.”
“I like the time I spent here. It was useful for myself as a software developer. I’ve learned several new techniques and technologies.”
“Opened a new window for doing my job.”
“The course was really interesting and helpful. Some of the topics were eye openers. The material was presented in very organized way and at the same time fun to learn. Would recommend to any Scrum team member (developer or tester).”
“I feel reinvigorated to take my job and team performance to a higher level”
“Mike inspires you to want to improve your craft as an individual and as a team. You will learn skills to improve your development instantly, and skills that will allow you to continue improving every day.”
“This is one of the best trainings I have ever had. Learned everything in real-time in much fun way rather than total theory. When taught with live examples, that create more impact. Mike is just so awesome in his teaching style.”
“The course is very useful and it is relevant to our daily work. Exercises we did in the course helped to understand the agile/scrum process a lot.”