How the pandemic made us discover better ways of coaching

This pandemic year has transformed the way we work! Thanks to fast git-handover in remote mobs, reusable online workshop boards, internal blogging, TCR, and other serious games, technical agile coaching is now more asynchronous, self-service, gamified, open, and inclusive! | Continue reading


@philippe.bourgau.net | 2 years ago

How the Samman Method helps to sell technical coaching internally?

Emily Bache wrote an accessible book for technical agile coaches. Part 1 of this post is a review of her book. She advises freelance coaches about how to sell their coaching services. Part 2 of this post is an addendum to her book: How to start technical coaching with my current … | Continue reading


@philippe.bourgau.net | 3 years ago

Tricks to influence a team resisting to change

There are many ways to manage team resistance to change habits and practices. Here are 7 of the technical agile coach’s tricks that influence: Gemba, Patience, Experiments, Training mindset, testimonies, creative brainstorming, finding another coach. Try them before quitting! | Continue reading


@philippe.bourgau.net | 3 years ago

How to deliver a remote training with code-katas and randori in pairs

Randori-in-pairs code-katas maximize learning thanks to hands-on coding and close interaction. How to deliver remote training using randori-in-pairs? 1st: use the git-handover technique to share code. 2nd: create breakout rooms in your screen-sharing app for close interaction and … | Continue reading


@philippe.bourgau.net | 3 years ago

How to make your team learn TDD for Legacy Code

Legacy code is where TDD is the trickiest. A great technique is to add an extension point in the legacy code to inject new (and tested) features. Start practicing this with the gilded rose kata with your team today! Your teammates will soon feel safe to apply TDD for legacy code. | Continue reading


@philippe.bourgau.net | 3 years ago

How to make your learn TDD for Legacy Code, and love it

Legacy code is where TDD is the trickiest. A great technique is to add an extension point in the legacy code to inject new (and tested) features. Start practicing this with the gilded rose kata with your team today! Your teammates will soon feel safe to apply TDD for legacy code. | Continue reading


@philippe.bourgau.net | 3 years ago

Long-term benefits of mob programming that make it cost-effective

Mob programming requires time to get used to it. With practice, though, you’ll leverage on unexpected benefits like less work, better continuous improvement, and higher-level discussions. These benefits even compound, which makes mob programming very cost-effective in the long ru … | Continue reading


@philippe.bourgau.net | 3 years ago

Feature Teams vs. Component Teams? Decide with Event Storming and DDD

The feature team vs component team question is tough and can often slip into dogma. Unfortunately, there is no one-size fits all. Event Storming and DDD build enough shared knowledge and architecture vision for all-in team re-organization workshops to succeed | Continue reading


@philippe.bourgau.net | 4 years ago

The story about how we do Agile Technical Coaching

You will not find an Agile Technical Coach Job Description. This job is more invented than found. Here is the story of how we came to practice it with mob programming and coding dojos at Murex. You’ll preview our project of growing technical leaders with team agile technical coac … | Continue reading


@philippe.bourgau.net | 4 years ago

Refuse to develop what you don’t understand

Understanding is key to building quality software. In this guest post, fluentcpp blogger Jonathan Boccara presents 3 levels of understanding we should go through before we start coding. #1 Why something doesn’t work. #2 Why something works. #3 Why you do this project of feature. | Continue reading


@philippe.bourgau.net | 4 years ago

More Event Storming Tips – Part 3 – Anti and Meta Patterns

Even more Event Storming tips! The first 3: “no special post-its”, “no-remote”, and “no big-design-up-front” will save you from the mistakes we did. The last 2: “community of practice” and “ask Alberto” are the recipe to learn more tips by yourself! | Continue reading


@philippe.bourgau.net | 4 years ago

More Event Storming Tips – Part 2 – Facilitation and Existing Code

Here are 7 more Event Storming tips! 4 facilitation tips to make sure attendees want more Event Storming. 3 tips about how to adapt Event Storming to existing code: how to twist the agenda, but also how to deal with developers’ stress! | Continue reading


@philippe.bourgau.net | 4 years ago

First rule of DDD is: let's not talk about DDD

DDD jargon is a domain expert repellent! Let’s not talk about DDD, but instead, start engaging domain experts in doing DDD workshops! Here is an infographic that explains why doing DDD works better than arguing for DDD. | Continue reading


@philippe.bourgau.net | 4 years ago

Organization refactoring: Event Storming and DDD injection – part 2

The key to successfully inject DDD (Domain Driven Design) and Event Storming practices is to be ready and wait for the perfect business challenge. Otherwise, we’ll have no choice but to hack the organization! | Continue reading


@philippe.bourgau.net | 4 years ago

Organization refactoring: Event Storming and DDD injection – part 1

Injecting DDD or Event Storming in your organization can be tricky. Here are some techniques to onboard your domain experts, one step at a time! 1st: practice on your side. 2nd: build trust with the cheaper example mapping. | Continue reading


@philippe.bourgau.net | 4 years ago

How to Fight Priority Paralysis with Event Storming and DDD

How to eat the elephant? It’s easy to fall into priority paralysis as you envision an ambitious product. Let’s use Event Storming and DDD to scope your next step! Equipped with post-its and stickers, Event Storming creates the perfect conditions for an effective negotiation betwe … | Continue reading


@philippe.bourgau.net | 4 years ago

Sustain Collective Intelligence with Event Storming

Event Storming is an iterative process. It alternates phases of collaborative design with phases of real world experimentation or construction. Event Storming also builds collective intelligence. We can keep it alive if we continue to work closely together, doing mob programming … | Continue reading


@philippe.bourgau.net | 4 years ago

Tactics that will make your DDD Design-Level Event Storming pay-off

Running a DDD Design-Level Event Storming is easy. Running a great one is hard! This post is here to help you. It contains facilitation tricks to maximize the return on invested time. It also details workshop-closing activities to decide what to do next. | Continue reading


@philippe.bourgau.net | 4 years ago

Detailed Agenda for a DDD Design-Level Event Storming – Part 2

The most valuable activities in a DDD Design-Level Event Storming are UX and Aggregates explorations. Here is a step by step agenda that will lead us there. The chain of events helps us to define good UX. Discussing business rules, then grouping them leads us to good Aggregate Na … | Continue reading


@philippe.bourgau.net | 4 years ago

Detailed Agenda for a DDD Design-Level Event Storming – Part 1

Running a DDD Design-Level Event Storming is not rocket science! It remains crucial to start the right way. First, generate domain events either from a Big Picture Event Storming or from your current system design. Second, present the Picture that explains Everything! Third, off … | Continue reading


@philippe.bourgau.net | 4 years ago

Why Should We Use Design Level Event Storming for DDD?

Design-Level Event Storming is a collaborative design workshop. We can use it to build and share the design of critical parts of a system, in only a few hours! It relies on Event Sourcing and Tactical Domain-Driven Design (DDD). It’s the perfect first step to building a walking s … | Continue reading


@philippe.bourgau.net | 4 years ago

How to Run a Remote-First Open-Space Technology Un-Conference

Open-space technology un-conference is a powerful self-organized workshop. Here is a guide to making it remote-first. What principles does it rely on? What tools does it require? How to configure them? What is the preparation required? What are the different roles that emerge dur … | Continue reading


@philippe.bourgau.net | 4 years ago

Let’s Give Remote-First Open-Space Technology Un-Conferences a Try

Open-space technology un-conference is a powerful self-organized workshop. Here is the story of how we made it remote-first to grow our refactoring community of practice. Modern video chat software make this work surprisingly well. The remote-first format even demonstrated specia … | Continue reading


@philippe.bourgau.net | 4 years ago

Why Machine Learning in Software Engineering #3: The Future

There are many opportunities for Machine Learning in Software Engineering. Testers already use it to generate test data, analyze test results, identify the best tests… New tools use it to identify improvement points. Will we use it for product management and setting a sustainable … | Continue reading


@philippe.bourgau.net | 4 years ago

An experiment to use Machine Learning to select the most critical tests to run

Slow tests are painful. This is the story of how a Machine Learning in Software Engineering intern, identified the most critical tests to run. By using Gradient Boosting, an interpretable model, he also confirmed that the open-closed principle, modular code, and small-commits app … | Continue reading


@philippe.bourgau.net | 4 years ago

Why Machine Learning in Software Engineering #1: A World of Experts

It’s the opinions of experts that drive Software Engineering! Models, like Big O, would lead to more fact-based discussions and better decisions. This is the first part of a 3 posts story about how we tried to apply machine learning to software engineering. | Continue reading


@philippe.bourgau.net | 4 years ago

To Do List or Mind Map for Programming

Maintaining a TO DO list for programming creates a higher-level view of the work, improves our decision making and show what’s left to do. A Mind Map for programming helps with refactoring and improves collaboration when pair or mob programming. Online collaborative tools make th … | Continue reading


@philippe.bourgau.net | 4 years ago

Does Programming Equal Refactoring?

TDD is 1/3 failing the test, 1/3 passing the test and 1/3 refactoring. TCR looks more like 1% failing, 4% passing, and 94% refactoring. It turns out that refactoring is already most of our daily work! Plus doing it well creates a sustainable pace and makes our lives more easy. Le … | Continue reading


@philippe.bourgau.net | 4 years ago

How to play planning poker Badass Mode

Planning poker often turns into a power struggle where everyone loses. There are 2 strategies for how to play planning poker when, as dev teams, our estimates are challenged. The 1st is to simply but firmly refuse. The 2nd is to concede, but warn that you won’t make it, and stick … | Continue reading


@philippe.bourgau.net | 4 years ago

Scrum with component teams leads to Waterfall Agile

Infographic showing how Scrum with component teams is not sustainable. Interdependent component teams + Scrum => Painful integration => Request for better specifications => More time specifying => Later Delivery & More Big Design Up Front => Waterfall Agile => Painful integration … | Continue reading


@philippe.bourgau.net | 4 years ago

Too Busy to Prioritize?

An infographic of a vicious circle triggered by the lack of prioritization: Lack of prioritization => Too much to do => Grow teams & hierarchies => Overhead & waste => Late deliveries => Fire fighting & non-sustainable pace => No time for prioritization => Lack of prioritization … | Continue reading


@philippe.bourgau.net | 4 years ago

Books About Data Driven Software Engineering

Software is mostly built according to experts opinions. These 7 data driven software engineering books show us another way to a productive and sustainable pace. Ex: measuring the impact of a feature on the bottom line, forecasting the impact of a refactoring on the bottom line, e … | Continue reading


@philippe.bourgau.net | 4 years ago

How to Use Mob Programming at the Rescue of Pair Programming Burnout

Full-time pair programming is awesome, except that it burns introverts out. Part-time mob programming yields the same benefits but is sustainable. Plus, it is easier to sell to management, works great for remote teams and supports diversity! How to start mob programming? Try a fe … | Continue reading


@philippe.bourgau.net | 4 years ago

Remote pair programming best practices Q&A – Part 2

Tired of coding in your cubicle? Code in your garden with remote pair programming! Here are 5 more remote pairing best practices. Learn how to deal with a painful headphone or a time difference. Discover other tricks like an online todo list, the importance of eye contact and con … | Continue reading


@philippe.bourgau.net | 4 years ago

Remote pair programming best practices Q&A – Part 1

Remote pair programming brings surprising benefits to a team! Daunting at first, it is quite manageable with the good practices. Learn how to workaround the connection lag with the pomodoro technique. Remote pair programming is also tiring, here are a few habits to stick to a sus … | Continue reading


@philippe.bourgau.net | 4 years ago

We scripted everyone to code review in the team

Getting all the team to code review can be a real challenge. Here is the story of how a simple random review assigning tool nudged everyone to code review. It’s also a story of continuous improvement. From painful manual code reviews to shared reviews to eventually synchronous pa … | Continue reading


@philippe.bourgau.net | 4 years ago

The Similarities Between Machine Learning and DDD

During a data science project, we discovered that DDD (Domain Driven Design) concepts are useful for machine learning. The Ubiquitous Language makes communication easier. Identifying Bounded Contexts, Entities and Values help with code evolvability. Event Storming gets things sta … | Continue reading


@philippe.bourgau.net | 4 years ago

Build or Buy Software? Find Core Functional Areas with Event Storming and DDD

Event Storming and DDD are great at identifying functional areas. It’s even more valuable to identify the core areas to focus on, and the generic areas to buy. This activity will help your team to prioritize more valuable work, and to reduce maintenance by choosing the good softw … | Continue reading


@philippe.bourgau.net | 5 years ago

Drafting a Functional Architecture Vision with Event Storming and DDD

We did the 1st phase of DDD Big Picture Event Storming. Let’s build on the shared knowledge to draft a functional architecture vision. In 1 day, we should know the functional areas, find the core ones, and ensure they get our focus. Let’s start by drawing the functional areas bou … | Continue reading


@philippe.bourgau.net | 5 years ago

Detailed Agenda of a DDD Big Picture Event Storming – Part 3

Thanks to massive knowledge sharing, a Domain Driven Design (DDD) Big Picture Event Storming is the 1st step to collaboratively draft a Rough Design Up Front. This post goes over its last phases: storytelling, reverse storytelling and closing. It also contains a list of possible … | Continue reading


@philippe.bourgau.net | 5 years ago

Detailed Agenda of a DDD Big Picture Event Storming – Part 2

The DDD Big Picture Event Storming is a creative game. It sticks to the classic open-explore-close flow. Here is the second part of its detailed agenda. This post goes over the generation of Domain Events, their collective sorting and the addition of actors and external systems t … | Continue reading


@philippe.bourgau.net | 5 years ago

How to Prepare the Room for a DDD Big Picture Event Storming

Running a Domain Driven Design (DDD) Big Picture Event Storming is a great way to kick start a project. Fortunately, it only requires straightforward room preparation. Here is a detailed checklist going from preparing a Visual Agenda to Post-Its to food. | Continue reading


@philippe.bourgau.net | 5 years ago

Misadventures with Big Design Up Front

Here is the story of my own love and disillusionment for Big Design Up Front. BDUF has many problems that I learned the hard way. We should avoid BDUF most of the time. This is the first post in a series explaining how Event Storming and incremental design form a better alternati … | Continue reading


@philippe.bourgau.net | 5 years ago

The best 10 seconds I spent on my Kanban board setup

Inverting your Kanban board columns is a cheap way to reduce multitasking and stress. Eventually, it contributes to a more sustainable pace. By adapting Kanban boards setup to our culture, we can make them highlight what can be finished instead of what can be started! | Continue reading


@philippe.bourgau.net | 5 years ago

How we increased productivity by 25% with a fruit basket at work

As software people, we live in a complex world. To leverage on its non-linear effects, we need to multiply weird experiments. Here is the story of how our hacked-up fruit basket at work brought healthier food, exploratory testing, a #zeroBugs policy and eventually increased produ … | Continue reading


@philippe.bourgau.net | 5 years ago

How to maintain a business partnership about refactoring?

Becoming business partners grants us freedom to refactor. Careful though, We must not over-abuse this trust if we want to keep our privileges. Practices like Kanban-style timeboxing and focus on high return on investment refactorings help us to maintain the business partnership. | Continue reading


@philippe.bourgau.net | 5 years ago

Become a Business Partner and Stop Begging for Refactoring

Continue reading


@philippe.bourgau.net | 5 years ago

Making the Business Case for a Large Scale Refactoring – Part 2

Continue reading


@philippe.bourgau.net | 5 years ago