Any resemblance to existing or past persons is purely coincidental.

Let’s imagine Cinthia, a recent graduate, who is launching her professional life. She is a .Net developer and two great companies have responded positively to her application. In the first one, they tout the merits of CMMi, which the company implements up to level 4 (which is excellent); in the second one they tell her she will be “agile” with XP & Scrum.

I will try not to be negative at all in order to bring out only the good sides of each approach. I trust you to imagine everything that might not go this way in reality.

Let’s imagine she opts for the first one. The very obvious advantage she will gain from a CMMi company is the methodological framework she will be able to rely on, the guardrails they will offer her. They will verify that she has taken note of all the elements of the project she will be working on. She will clearly see the tasks assigned to her (with very precise specs), as well as the workload that will be estimated (with her if possible). She will clearly trace in her code which part of the project she is working on, and which request, which project requirement she is thus responding to. Her code will be submitted from time to time to reviews by experts, they will ensure that she is well aware of the project configuration (dev server, staging, prod, code tree structure, etc etc.) and its schedule. Better yet, they point out to her that the anomaly rate she identified doesn’t match the averages for this type of project in this context and that she should do another pass to validate that everything is really ok. Bingo, she discovers a nice series of anomalies that had escaped her.

For her it’s perfect, the messy and scatterbrained side that she carefully hid during the job interview is smoothed over by the methodological framework they offer her. God is the project manager or the project manager is God. In any case, the project manager is the interface with the rest of the world: the client, management, the quality manager, etc. She is peaceful in her corner, with her headphones on her ears through which she listens at full volume to Neil Young singing “Heart Of Gold” and she’s jubilant, because, finally, she’s “pumping out” code.

Let’s imagine she opts for the second one. Here she arrives. She meets François, Martial & Yves. They don’t look like much but they seem nice. It’s the team, they tell her. Her team. And here’s Pierrot the ScrumMaster, he makes sure she feels comfortable and ensures everything runs smoothly. Tomorrow the project starts, she will spend a day with the team, her team, and the client, they’re going to talk about the project, about what the client wants, about what’s possible to do. There it is, the project has started. Every day they talk: what’s working, what’s not working, so she hears and understands everything, and doesn’t hesitate to ask questions if something escapes her. She learns quickly and if she has a problem, Martial comes to develop with her. Anyway, she’s asked to do automated tests all the time, so that reassures her: she knows she’s not breaking anything, she knows her code works. phew. Her messy and scatterbrained side that she hid during the job interview isn’t very problematic because the scope is ultimately very precise, and limited in time with relatively short iterations. She doesn’t have the opportunity to lose herself in sterile digressions. Everything is there, in mind, clear. Moreover, they regularly present the work results to the client and the client guides the team or specifies what’s not right. Incredible, the client appreciated one of her proposals and her idea will be deployed in the final product. The project is going well and they celebrate at lunch by sharing a megapizza together and yelling like crazy “T N T, I’m dynamite!!!”.

In the next post, I’ll talk about Caroline, a project manager freshly arrived from a company without any method who gets hired at the same two companies and I’ll try to summarize my thinking (a bit messy and scatterbrained).