Christophe Thibaut-A Hundred Times....
Gently make haste, of Labour not afraid; A hundred times consider what you've said: Polish, repolish, every Colour lay, And sometimes add; but oft'ner take away. Boileau - Art Poétique
It's mainstream nowadays: everyone is Agile. But what does it mean to be Agile? It means opting for direct communication and collaboration, embracing change, striving for simplicity.. It also means fostering technical excellence, lest agile become fragile.
Now, to cultivate excellence, and respond in a better way to the customer's constraints and requests, we must learn. Learn about what? About that which schools -- engineering and other schools -- do not teach: we must learn our developer craft. This is where the fashion of the day disappears, and the old habits reappear. At work, one learns very slowly, and lessons, inasmuch as one is ready to listen to them, are expensive. Besides, the goal is not to learn, but to make.
And yet, where else could we be learning? Not in school, not in one's room, but on our project, with our team, everyday. Why is it difficult? There's no shortage of information. After all, do you know any development practice that isn't fully described on the internet?
But in the workplace the mental models -- not to mention prejudices -- die hard: specialization, individual performance, process: IT work is a factory!
The fact that our projects, agile or not, invariably end up being rushed and dashed, thus stopping us from taking the time to learn and get better at our craft, is undoubtedly the most remarkable irony of this industry. It's the same old story of the developers not having time to test their code, having all those bugs to fix!
Learning to progress in a continuous way with our team is both simple and difficult. Simple, because agreed-upon standard practices have been there ever since there were development teams. These practices are easy to put in place. And the difficult thing is that you have to decide to so first. And why is that hard? Because a change of models is necessary: these practices are not focused on process, tasks, roles, but on feedback, on the diffusion of know-how, and cultivating social skills. Farewell software factory!
In this keynote, I will throw flares on the path of excellence, sharing about what I have been observing in the developer trade for more than two decades.