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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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