Microsoft Campus in the Covid-19 era

Not in software development, not anywhere

My early years at the startup Innox were the ones with the most learnings, I constantly find myself repeating the mantras or phrases I learned back then. I owe many of those learnings to the peculiar management style of Juan Carlos González, which I may share on another occasion. One of the phrases I was told every time I suggested to do an extra effort to achieve something: in this company we do not want heroes.

Yesterday I saw a video that 15 years ago would have shocked and filled me with pride. The images of the armed forces together with an army of medical personnel raising the flag of Mexico ready to fight the Covid-19 epidemic, in the background, the Mexican National Anthem appeal to my caveman. In the Mexican collective imagination, we have always liked to forge heroes who will solve save any adversity that, on paper, and in the absence of resources, seems impossible.

At Innox, Juan Carlos did not want heroes because heroic acts are not sustainable. The fact that a project has to be delivered in less than a week (or one day) and that there is 50% progress requires a hero who spends the whole night coding in order to deliver it. The one venture that needs to correct twenty errors in production, (when the bug-fix rate is normally 1 per day) is waiting for someone who decides to spit code willy-nilly. Or the Covid-19 problem, where a government that has not put its health or research system as a priority for years needs medical personnel that performs miracles with few resources and a face mask per day. But we must remember that the heroes are human, that despite their will they get tired and that we cannot live working overtime for prolonged periods of time to deliver overdue projects. That is what makes it unsustainable.

Eventually, we learned that instead of waiting to see if we could deliver a project at the last minute, we postpone it one week before on the moment the burndown chart was not diving, even when there was a possibility of heroically achieving it. That is why, in your next sprint, it is better to take 3 tasks and complete them, than 6 and only complete 3. It is perhaps more boring because my great memories are of the projects where we heroically managed to complete them than those that were delivered on time for good planning, but physically and mentally the boring the better.

Heroes are revered, as people and individuals who have extraordinary abilities and / or wills. The x10 developer is one of those characters, who can with productivity tricks do what ten other developers do at the same time. The problem with heroes is that their mere existence denotes one or more problems. That overtime needs to be worked, or that a hero saves the project implies that either you do not have enough human resources, or you do not have the necessary capacity/training or that the workload is not sufficiently planned. Also, we cannot depend on heroes that tomorrow could not be in our team.

It does not mean that eventually there are cases in which extraordinary situations require extraordinary solutions, however, their eventuality must be categorical and sporadic. That is why we should not be impressed by the engineers who are the first to arrive and the last to leave constantly, in the end, they denote a deficiency in time management. Heroes need a breeding ground for deficiencies, individual or company, either due to lack of resources or mismanagement, we must aim not to need heroes but finely calibrated teamwork.