I had this thought: most of the “Agile” methodologies and tools are invented by extroverts. Perhaps this is also why, although they are popular, they are still not a standard for designing software. Why do I think so?
Let’s start with a confession; I am an introvert. It might not be visible at first glance. I am often outspoken, and I am not afraid to state my opinion. As you might know, I’m a public speaker at conferences, and I write on this blog. However, that doesn’t make me an extrovert. Introverts are not necessarily timid people, robbed of interpersonal abilities or avoiding others. Of course, for some people, this may be the case. However, it usually means that our energy reserves for interacting with others run out very quickly. We drain much faster than regular people. After such a period, we need to be alone. Lock ourselves in our cave and recharge batteries. Without such a break, we get burned out and irritated. If you are also an introvert, you must know all too well what I am talking about.
It seems to me that there are more introverts in our industry than statistically in other places. It is, of course, unsupported by evidence, but the stereotype about IT people is not accidental. Despite this, the agile approach to management has received applause broadly in recent years. It has even become fashionable, especially among “influencers”.
I am a big fan of the agile approach and close cooperation between the business and programmers. I wrote about that on my blog numerous times, for example:
- Bring me problems, not solutions!,
- Sociological aspects of Microservices,
- How using events helps in a teams’ autonomy.
However, I also see problems with the agile approach. I wrote about them:
In my “bubble”, I see statements that if you don’t do Event Storming (or other similar practices) or you don’t do pair programming, mob programming, then you don’t do “real agile”. These techniques are excellent tools; I’ve used them in my past projects. Yet, as with everything, they’re not silver bullets. They work well as long as they are used wisely and without dogmatism.
As an introvert, I do not feel well when I have to spend a few days as an active participant in the workshops and I am forced to do pair or group programming. I see the significant advantages of these solutions: they emphasize cooperation and relationships between people. Still, I do not like when they are presented as “the only right way”. Agile comes from being flexible and adapting the process to the people. Extroverts like action; they love it when something happens, and a work emerges from chaotic explorations and working together. Introverts? Not necessarily. Of course, they can take and be an active participant in such events, but after a day of this type, they feel washed out. I am physically and mentally exhausted after a day at work meetings or workshops or after a lecture at an evening webinar. I need to regenerate. I have the impression that most of these methodologies do not consider this.
They lack breath, write down conclusions, think ahead and upfront thinking. We often hear an anecdote/urban legend from the facilitator that “there was a guy at my training, who did not speak during the entire training. And after a few hours of workshop, when we couldn’t solve the serious problem, he spoke up and provide the insight that solved the case.”_ It is a lovely fairy tale. It could have happened sometimes, but… It would be better if these methodologies also considered introverts’ needs, for instance, giving them a moment to rest or rethink the approach in a calm environment.
Perhaps all of that is one of the reasons for unsuccessful workshops. Sometimes they’re like a comet. They happen, come and go and leave no significant changes, as it evokes a defensive attitude in the silent majority. It seems to me that if these methodologies were mixed with async practices such as:
- preparing for a meeting by writing down what is to be done,
- writing the proposal in the form of Architecture Decision Record or Change Request,
- more upfront design
or a sandwich of workshop and time to reconsider it peacefully, it would not only be more effective.
It could be even more… Agile.
p.s. Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation. You may also consider joining Tech for Ukraine initiative.