Thursday, 7 February 2008

The flaw in the Agile manifesto

Most programmers are introverts, and that's why the Manifesto for Agile Software Development tells you to think like an extrovert. What about extrovert programmers? They actually need the manifesto reversed...


Anonymous said...

If this is a joke, I don't get it. If it's not, then I don't understand it. Care to elaborate?

Lars D said...

If you present a choice to a person, the introvert will most likely prefer the solution that doesn't involve people, and the extrovert will most likely prefer the solution that involves people. These choices also define their experience with making choices. An extrovert usually knows a lot about people, and introverts usually know a lot about things that don't involve people. This is all well described in many psychological books.

There is a wikipedia article about introversion and extroversion, but it's really bad, as you can see on the discussion page. A better source of information is

Introverts tend to focus on tools, technology, source code, documentation, contracts etc. No matter how hard they try to behave like an extrovert, they usually are very good at non-personal stuff.

Extroverts tend to focus on people things. I have seen many extroverts who ask a lawyer to write a contract, but they forget to tell the lawyer what the contract should contain - so they get a bad contract. I have also seen extroverts override processes a lot of times, because they consider certain individuals more important.

Introverts tend to neglect individuals, interactions, customer collaboration and external change requests because they like working with processes, tools, documentation etc. And in case of a problem, they will get back to the contract/deal/specs.

Extroverts tend to neglect the importance of written documents, including specs - they just want it to work with the customer. The main issue for the extrovert is that the customer gets what he wants.

This is, of course, generalized.

The Agile Manifesto is very good at making introverts understand the importance of extroverted issues. However, how do you get an extrovert to understand, that the plan had a purpose, that documentation is needed for future maintenance, that the right choice of tools can make a difference, and that a good contract or spec is sometimes vital?

My suggestion to this problem is to make extroverts understand the importance of the introverted side of the agile manifesto.

Salvador Gomez Retamoza said...

that is basic understanding about managing programmers, I think a whole methodology can be written right over those principles.

Of course, the comment says everything while the post says nothing by itself :)

Lars D said...

Actually, the only new information here is in the post - my comment only explains what is common knowledge with psychologists, personality testers, teambuilding experts and some managers.