Should Developers Come Only from Mars but Project Managers from Venus?

Once upon a time was the “software crisis” that persuaded people to “engineer” software in a 1968 NATO conference. Methods were created to structure the requirements and the software development process. They use models to define more precisely the requirements and the target system. They had a top-down approach that was aimed at increasing management control on projects. The object oriented revolution changed the perspective of the models with the subsequent creation of the UML, but not the industrial vision of the software development process. In 2001, 17 people signed an agile manifesto that tried to push back the balance more on the “people” side. Two of the main value preferences of the manifesto (“Individuals and interactions over processes and tools” and “Customer collaboration over contract negotiation”) are explicitly focused on people and their relationships.

This long introduction is there because in the Summer 2009 issue of Methods & Tools, I have three articles about Agile… and they are all written by women. As Methods & Tools had already received contributions from Agile women, I was wondering if, even if the manifesto first signatories are all men, Agile values were more on the “woman” side of the human being? I noticed also that you can find 6 women out of 13 members on the Agile Alliance Board. Women are a minority in software development. Checking if the relative importance of women was linked to Agile, I saw that the Project Management Institute board has also 6 women out of 15 members. This situation could then be more related to the project management aspect of software development than to Agile. Trying to find evidences of this difference of women/men proportion between project management and development, I checked the speakers’ list of major developer conferences like Jazoon or RailsConf. There I found a situation that was more inline with my experience in software development organizations: a lot of men and (very) few women.

The situation of women in software development organizations is not an easy one. They are a minority, have different values than their male colleagues and give more importance to their family life, this last point being in opposition with the overtime often required in badly managed software development project. The lack of women is also observed in the domain of open source development. Cultural bias could change in countries “new to IT”. A Swiss IT company with an outsourcing office in Vietnam reported that a majority of its employees there were women. The ratio of women in IT seems also higher in India. I know that men/women comparison is a “touchy” subject as gender behavior is a cultural topic with a lot of differences around the world. I am also not convinced that the Mars/Venus approach brings an answer to every question. It is generally accepted that men are more individualist and, especially in the IT field, introvert. Women are more caring and extravert, thus they should be more at ease with interactions and collaboration.

I don’t think however that the Agile approach has a “woman” side only for its coaching part. Agile has also practices that encourage open work context (pair programming, retrospectives) and individual responsibility for quality (test driven development). These activities require the capacity of being able to call itself into question, which is a women quality that men will call “lack of confidence”. Have you never omitted to test some code, thinking: “this is only a small change and I don’t need to run tests again”, just to discover later that maybe the apparent simplicity could have lead to a lack of concentration? ;o)

By putting back the focus on people in the software development process, Agile can bring a different perspective on the human qualities of project participants. Whether you are a developer, a tester or a project manager, you can however not be just defined by your preference for Mars, Snickers or Bounty. It is important to know yourself, accept your own limits and work with your team to build better software.