Archives

2018

How Immutable Value Objects fight Mocks

3 minute read

Excessive use of mocks makes tests very painful to maintain. If we stick painful mocks for too long, we’ll end up abandoning unit testing. Eventually, the sy...

Coding Dojo Troubleshooting

3 minute read

In my last 2 blog posts, I’ve detailed why and how to start a team Randori Coding Dojo. That’s the easy part. As soon as you start your first dojo, you’ll fa...

Back to Top ↑

2017

How to run your first improvement kata

3 minute read

The improvement kata can solve problems that typical retrospectives fail to address. Although there is a halo of mystery around it, it’s actually not that di...

13 Tricks for Successful Side Projects

8 minute read

As I said last week, I released the v0.1 of Philou’s Planning Poker, my latest side project. Although I have a day job, a wife, a family and a mortgage to pa...

Side Projects Matter

6 minute read

As a manager, you could benefit a lot from helping your developers with their side projects.

Most Scrum teams are not agile

7 minute read

Being agile is about adapting to change and continuously improving. I’ve seen (and been) in too many teams blindly following Scrum (Scrum Zombies) without fi...

How to get your team to do code reviews

6 minute read

As software developers, we very always often get to work in code bases that are not perfect. In this situation we have 3 choices : leave, grumble, or make so...

Almost 15 years of using Design By Contract

6 minute read

I first read about Design By Contract in 2002, in Object Oriented Software Construction 2. As soon as I read it, I was convinced, today, I still believe it’s...

My Ultimate Jira Personal Kanban

5 minute read

A few years ago, I wrote about how I started to use Jira as my personal Kanban board at work. A lot of things have changed since then, which brought me to up...

Developer ! Are you losing your rat race ?

4 minute read

A rat race is an endless, self-defeating, or pointless pursuit. It conjures up the image of the futile efforts of a lab rat trying to escape while running...

Back to Top ↑

2016

Overclocking a Scrum Team to 12

4 minute read

From Wikipedia : Overclocking is configuration of computer hardware components to operate faster than certified by the original manufacturer …

How to kill Scrum Zombies ?

3 minute read

First of all, what is that ? Usually, Scrum zombies go in groups, and quite often, you’ll find a full team of them :

ReXP : Remote eXtreme Programming

1 minute read

My colleague Ahmad from Beirut gave a talk at Agile Tour Beirut on Saturday about how we adopted XP to a distributed team at work. I gave him a hand and play...

Flavors of TDD

3 minute read

During the years doing some coding dojos with the same circle of people, I came up with my own style of practicing TDD. Lately, I had the chance to do a pair...

How NOT to use mocks, my talk at Paris.rb

less than 1 minute read

As I already wrote about, mocks can be trecherous … I gave a talk about how to avoid them last tuesday at Paris.rb meetup. Here are the slides.

Kudo Boxes for Kids

1 minute read

How do you get your kids to participate with housekeeping ? I guess that’s the dream of all parents. As so, we’ve tried quite a lot of tactics throughout the...

5 Years of Blogging About Software

3 minute read

5 years ago, I started blogging. I started really casually, my posts were personal reminders and notes rather than real well thought of articles. Nevertheles...

The Size Of Code

2 minute read

The CFO’s debt is visible in his balance sheet. The CTO’s technical debt is invisible. What about making it visible ?

Anti Ugly-Code Glasses

less than 1 minute read

I think I found a way to fix the dirty code problem once and for all …

How To Keep Up With Software Technologies

3 minute read

Since I started to program professionally 15 years ago, a lot of things have changes. A lot of technologies appeared and became mainstream while others fell ...

Real Developers Ship

1 minute read

If you are a developer and you are not shipping, you’re in the danger zone. I believe it’s mostly your fault, and it’s time to act.

A Lego Office Experiment

1 minute read

Rome wasn’t built in a day, neither will be your Lego Office … This week is Devoxx in Paris, for the occasion, we decided to stream a Lego office experiment ...

Make hiring everyone’s business

3 minute read

Let me tell you a typical hiring story. A bit more than 10 years ago, I was contractor at a bank on a C++ front office application. The system had initially ...

Scrum teams do not need A Scrum Master

1 minute read

We don’t have an official scrum master in our team anymore. We now have 7 ! A different team member assumes the full scrum master role at every sprint.

Recipes For An Agile Workspace

4 minute read

Nowadays, start-ups and tech companies seem to be competing for the most beautiful offices in order to attract top talents.

How To Write Good Performance Stories

2 minute read

If you’re having difficulties writing good performance related stories for your project, that’s no surprise ! We’ve been through the same troubles and we fou...

Back to Top ↑

2015

Great Developers Are Free

4 minute read

For many reasons. But mostly because they are key to efficiently growing a software organization.

Binary Hand Planning Poker

less than 1 minute read

At work, we are using as we all have Android phones, we are using the Scrum Poker Cards app to do our planning poker.

Silosis

less than 1 minute read

I just invented the word, I found it funny :

Setting up Octopress with Vagrant and rbenv

3 minute read

I recently got hands on an abandonned laptop that was better than the one I was currently using for my personnal hackings, so I decided to switch to this one...

Can agile teams commit?

3 minute read

Making commitments to deliver software is always difficult. Whatever the margin you might take, it invariably seems wrong afterward …

Performance is a feature

1 minute read

Now that is a widespread title for blog articles ! Just search Google, and you’ll find “Performance is a feature” in Coding Horror and others.

Back to Top ↑

2014

The Holy Code Antipattern

2 minute read

As I’ve encountered this situation in different disguise in different companies, I now assume it’s a widely applied antipattern.

Refactoring trick to insert a wrapper

1 minute read

Last week at work, we decided that we needed an Anticorruption Layer between our code and another team’s. They have been using our internal data structures a...

Online store scrapping DSL gem

1 minute read

Since I decided to stop Mes Courses to focus on AgileAvatars, I have been extracting open source gems from the code base. The last one is Storexplore : a dec...

Sprints are not sprints

less than 1 minute read

I really don’t know why Scrum Sprints are called sprints ! From my experience, the number one mistake made by team starting with Scrum is to work as quickly ...

Back to Top ↑

2013

Trying to explain monads in java

1 minute read

A few days ago, a colleague currently taking the coursera course about reactive programming in scala, asked me to explain him what monads are. It’s always a ...

Reviews for everyone

1 minute read

We are using Scrum at work. As an eXtreme Programmer to the bones, I wanted more collective code ownsership. We were already doing some pair programming from...

AgileAvatars.com magnets for real

less than 1 minute read

A software team is now using Scrum and AgileAvatars.com magnets in their daily work ! A few days ago, I sold my first lot of agile magnets. These customers w...

I just replaced Feedburner with MailChimp

1 minute read

Until now, I had been using Feedburner to manage the email subscriptions to my blog on mes-courses.fr. It had been working fine I thought it had been working...

RSpec matchers combinators

1 minute read

Rspec matchers are a lot like predicates. Predicates that can talk … The good thing about predicates, as anybody who has done a bit of functional programming...

Ruby regex captures oneliner

1 minute read

Surely this post is nothing new for experienced ruby developpers, but I found it so handy, that I thought it deserved a post of its own though. The problem i...

Jasmine and coffeescript setup for rails

1 minute read

As I started to write more javascript code in my rails app, it became obvious that I should be testing it ! I wanted to use jasmine and coffeescript. I searc...

Ditching autotest for guard

less than 1 minute read

I have been using autotest for 2 years, and it’s been great ! The first time I ran it I thought “This rocks !” and I have always been using it since …

If new cucumber transform breaks everyhing …

less than 1 minute read

After reading The cucumber book I decided to add clever cucumber transforms but steps started to fail all over the place … Even completly unrelated scenarios...

Rubular: a really usefull ruby regex tool

less than 1 minute read

Working with regular expressions is always a try and fail and retry … experience. It really helps to have an interactive tool with which to tune up your expr...

#1 rule for monitoring emails

less than 1 minute read

I just spent a few hours debugging my rails app on Heroku to understand why the hell I did not systematically receive the monitoring emails that my app was s...

The poor man’s memory profiling

1 minute read

While working on www.mes-courses.fr, a background scheduled task that was running fine on heroku started to fail with out of memory errors. After searching a...

Back to Top ↑

2012

Cloning an rbenv version

less than 1 minute read

There is no doc about this, but it turns out to be very simple, just copy the version directory :

Windows licker like with C#

1 minute read

In Growing object-oriented software guided by tests they use a java library called Window Licker to pilot a gui running in test thread. Next time I started a...

Motivation game

1 minute read

At MegaCorp where I am currently working, there is a small team that is dedicated to find solutions to software bugs that regularly happen in production. The...

Rails autoload good practices

1 minute read

I started using rails autoload to load files in my lib folder of http://www.mes-courses.fr. Before that, I had been using hand written require statements, an...

Hackers et peintres

30 minute read

This is a french translation of the famous Hackers and painters essay written by Paul Graham.

Ruby thirdparties best practices

less than 1 minute read

I am just finishing migrating www.mes-courses.fr from rails 2 to rails 3, and I can assure that I learnt these lessons the hard way …

stub_model and mock_model

less than 1 minute read

I decided to stop using stub_model and mock_model. I do not use them enough to get fluent with them. Every time I have to deal with them, something breaks in...

Using stock ruby with rbenv

less than 1 minute read

While migrating to ruby 1.9, I started using rbenv. I was wondering how it would handle my stock ubuntu ruby 1.8. It works out of the box with the rbenv “sys...

Devise, SSL requirements and post data

less than 1 minute read

I am using rails 2.3.8, devise 1.0.11 and ssl_requirements 0.1.0. I am having strange behaviour when mixing devise with ssl_requirements. When a form posts t...

Scaling Agile

2 minute read

I have worked in small agile teams, and it does indeed work a lot better than the classical waterfall & hierarchic environment. When speaking with other ...

A useful link to find free pictures

less than 1 minute read

While I was looking for photos for an article on blog for mes-courses.fr, I found this site : http://www.photo-libre.fr. There are a lot of pictures, both €-...

Order of execution of before blocks in RSpec

less than 1 minute read

I discovered that before blocks in RSpec’s examples are executed in the order they are declared. There is no great deal about it, but it can be useful when u...

Back to Top ↑

2011

external gem rails generator not found

less than 1 minute read

When trying to use devise 1.0.11 with rails 2.3.8 and bundler 1.0.10, I got the error could not find generator ... when running bundle exec script/generate d...

Collecting agile and XP best practices

less than 1 minute read

There is a huge difference between reading about agile software developpment, and being an agile developper or team. There are a lot of practical best practi...

Making C# properties first class objects

1 minute read

Functions and methods have a better status in the .Net world than they had in the Java world … They are now first class. This means that it is possible to as...

Using gems instead of rails plugins on heroku

less than 1 minute read

Heroku is great, you can have a rails app running live in a few minutes ! There are still a few tricky points you’ve got to sort out a little differently. On...

Back to Top ↑