Philippe Bourgau

Philippe Bourgau

eXtreme Programming coach and sustainable pace Hacktivist!

Coach eXtreme Programming et Hacktivist du rythme soutenable !

Paris, France

Life is too short for boring stuff!

So I help software engineers to reach a productive and sustainable pace through continuous refactoring of their code and organization.

I have given talks at various international events: Agile Tour, Devoxx Paris, P3X London, Agile France, DDD Europe, XPDays Benelux, and others.

La vie est trop courte pour perdre son temps!

J'aide les développeurs à atteindre un rythme soutenable et une productivité durable grâce au refactoring continu de leur code, mais aussi de leur environnement de travail !

J'ai donné des conférences dans plusieurs événements internationaux : Agile Tour, Devoxx Paris, P3X Londres, Agile France, DDD Europe, XPDays Benelux, et d'autres.

Area of Expertise

  • Information & Communications Technology


  • Continuous Improvement
  • Extreme Programming
  • Test-Driven Development
  • Refactoring
  • Domain Driven Design
  • Legacy Code
  • Technical Coaching
  • agile
  • Pair Programming
  • mob programming
  • DDD
  • Event Storming

Make architecture REALLY collaborative with Liberating Structures!

'Is Kahoot! Quiz your main tool for large-scale collaborative architecture?...

Despite all the efficient modeling techniques, making architecture a collaborative activity is still a challenge! Ivory Tower Architecture remains commonplace. Yet, most architects are looking for ways to collaborate and engage with more people.

As people develop facilitation skills, they transform how they engage in creative design. Liberating Structures, "easy-to-learn microstructures that enhance relational coordination and trust", make this possible!

Come to our hands-on session to learn how to use some of the Liberating Structures to design effective architecture workshops.
- You will learn how to scale architecture workshops to 100ish people!
- You will experiment with new ways to break silos
- You will discover how to make decisions faster, in a few days instead of a few weeks or months!
- You will ensure everyone understands the decisions
- You will enable everyone to contribute equally
- You will tame collective intelligence to tackle complex decisions!

Attend the workshop, and discover a whole new world of software architecture!

Delegated missions at the rescue of Event Storming!

Did you ever facilitate an Event-Storming that felt more like light freezing rain than a tropical storm?

Event Storming is terrific... when it works! How do you ensure that all participants contribute as much as possible and don't lose their time? We have discovered that quickly training the participants to Delegated Missions will prepare them to self-organize and maximize their Return.On.Time.Invested! When using Delegated Missions in Event Storming, participants volunteer to carry out five critical missions for the benefit of the group. These five missions (facilitator, timekeeper, intent keeper, decision pusher, and meta-feedbacker) correspond to 5 key ingredients of the success of any collective event.

Using delegated missions will:
* Help to scale Event Storming to a really large audience by avoiding the 'lecture' anti-pattern.
* Remove a lot of the facilitation workload.
* Can be learned 'on the job.'
* Shine in a remote setting.
* Apply to any collaborative design workshops.
* Apply to any meeting!

Attend this session to try the Delegated Missions for real, and be ready to introduce them to your team tomorrow!

Heroic Fantasy BDD Scaffolding at the Gilded Rose Inn

I guess you've never seen a Goblin, an Elf, and a Dwarf at a software conference!

They have agreed to leave the Gilded Rose for the length of this session. Like many of us, they face the challenge of legacy code with forgotten specs. A wizard taught them a ritual to bring their fragment of memories together and write functional non-regression tests around their legacy code.

During the session, they will walk us through how they use Example Mapping and Cucumber test automation to get Legacy Code under control by building a test harness around the Gilded Rose codebase. On top of that, this ritual:

* Only needs a phone call to get former experts to contribute
* Will let you acquire key allies in the organization
* Will lead to both specs and tests
* Will confront thought-of-specs with actual behavior
* Will let you discover unknown conflicting features causing a lot of bugs
* Is compatible with both rewrite or refactor

Attend the very first play of future comedy stars! 🤥🤥🤥

Test yourself at the TCR workout machine!

What do you do when a workout becomes too easy? You add weights! But how do you do that with programming katas?

Incremental design is stopping to think of design as something set in stone, but instead as a never-ending stream of small baby steps. Fluent coding in baby steps is the key to mastering incremental design. How do you teach coding in baby steps to experienced programmers who manage (mostly) to go through code katas in big steps?

TCR (Test && Commit || Revert) is the baby-step workout machine that you can add to your kata sessions! On top of teaching baby steps:

* It's like a second coach, that constantly reminds participants to take baby steps
* It's only a script, so it's not as annoying as a human coach 😉
* Being an obvious 'practice exercise', it's easier to sell than TDD katas!
* People say they enjoy the dash of 'gamification' it adds
* It teaches you how big a step you can take safely, this learning is actually easier to apply than TDD in legacy code!
* We've got a script, and it's remote-friendly

Join this session, see and experiment TCR, and start coaching incremental design in your team NOW!

Legacy Code Retreat with test data builders and the mikado method

“Remember to add tests before you fix any bugs!” That’s very nice in theory, but a lot more tricky in practice.

We know we need to add tests, but it’s easier said than done. In legacy codebases, just setting up the objects for the test is most often an unjustifiable nightmarish 2 weeks of work. Mocks are a common workaround, but mocking legacy codebases usually makes them more difficult to change, not less!

In this hands-on pair programming code retreat, you will combine the mikado method with test data builders to build a baby-step plan to add your first test to an open-source legacy codebase. We'll draw a graph of nested test data builders so that we can instantiate test data, without mocks.

In more details:

* Test Data Builders simplify and factorize test data initialization
* The Mikado Method is a technique to split a large refactoring in a graph of baby-steps
* These baby steps remain deployable at any time and don’t block other development
* When we combine these 2 techniques together, we get an incremental plan to create test data builders
* At every step, test data is easier to initialize, the overall testability improves, helping everyone to add more tests
* Driven by usage, critical code parts naturally get testable first
* By making reuse and extend the easiest option, these techniques snowball
* Relying on a visual mikado graph, these techniques are collaborative by design

During the session, every pair will choose to experiment with test data builders, the mikado method, or both, thanks to self-service guides. By the end, we will all compare the different techniques to identify the best ways to apply them.

After this session, you will be able to inject these contagious testing techniques into your team!

Let's play the built-in Quality Game!

“Why would we lose time with unit testing when we already have a QA department writing automated tests?”

If this is the kind of answer you get from your colleagues, then this game is made for you!

It can be very hard to get people to invest in built-in quality practices. These practices have an unintuitively greater impact on productivity than downstream quality practices. Instead of torturing your colleagues with a training on the queuing theory, just play the Built-in Quality Game! Players will experience and feel the built-in-quality speed-up.

Key benefits of the game include:
* Unlike other serious games, this one uses a realistic software team setting
* It covers the full value stream, from idea to deployment
* it contains both exploratory (Lean Startup, Walking skeleton) and correctness (BDD, TDD, CI, DevOps, Software Crafting) practices
* All the rules and material are available to get you started quickly
* There is no technical pre-requisite
* It’s short, a game is only 1h15
* It’s fun

Whether you are a team member, scrum master or coach: try it, learn plenty, have a good time and transform the way you work!

* Audience: anyone involved with software creation
* Length: 1h15
* Format: workshop
* Animation: 2 co-animators
* Material: https://philippe.bourgau.net/built-in-quality-game/
* Animated: P3X London 2019
* First delivered: Internally at Murex in 2018

Live Legacy Code Refactoring with the Golden Master and the Mikado Method

“Yesterday, I continued my refactoring. I should be done today...” Have you ever been in this situation of repeating this same message over and over in for days and days?

In a developer’s day to day work, refactoring (untested) legacy code remains one of the most tricky and complicated tasks. “Don’t touch it!” is the most widespread recommendation. Unfortunately, we spend at least 80% of our time in ‘Legacy’. Better be ready!

During this live coding kata, discover, with your own eyes, how to refactor untested legacy code with the golden master and the mikado method techniques. You’ll understand how:
* The Golden Master can help you temporarily ‘snapshot’ the behavior of a piece of code by assertions IOs
* The Mikado Method avoids the tunnel effect by splitting large refactorings in a graph of small deployable steps
* Both techniques reduce risks,
* contribute to a sustainable pace,
* complement each other for maximum effect
* Although I'll use Java, the techniques are adaptable to many language or contexts

Eager to take on Legacy refactoring? It starts here 😃

* Audience: Developers struggling with refactoring legacy code
* Length: 50 minutes
* Format: mostly live coding, a few slides, and a lot of Q&As
* Material: https://docs.google.com/presentation/d/19YodrG0frAbt1WoJfgw0e7_5xi9Nh6Nf794ftfp6u-g/edit?usp=sharing
* Recording (French): https://www.youtube.com/channel/UCJlLdNmBQH9Rg-NxR68RYeQ
* Animated: Agile France 2019, C++ FR Meetup 2019
* First delivered: Internally at Murex in 2019

Domain-Driven Design Europe 2022

June 2022 Amsterdam, Netherlands

Philippe Bourgau

eXtreme Programming coach and sustainable pace Hacktivist!

Paris, France