Last month, I was going through Lean software development by the lean software gurus Mary and Tom Poppendieck and I could easily associate most, if not all of its principles with our day to day working in Xebia. It really gets interesting and fun to read about something when you are already practicing it. In the process, it reinforces your beliefs on the principles. Although the book was easy to follow and examples easy to associate with, I could not get a clear idea of the term 'right people' mentioned at many places in the book. I always wondered about the definition of 'right' the lean-principles talks about.
I understand recognizing and hiring the right people is an organizational level decision, so Agile principles may not talk about it. Moreover, it's not only Agile based organizations who look for the right people. It's equally true for any other non-agile organizations also. In a situation where there is a scarcity of good people in the job market, sometimes companies go for an extra-mile to get good candidate. Although the need of recruiting right people is universal, the definition of it generally varies from organization to organization and from one role to another.
The behavioral traits for a 'right' person for other 'type' of industries are mostly well defined and well known. For instance, I know what kind of people NDA (National Defense Academy - India) looks for, or what attitude is desired from a person selected for Hotel Management service industry. But talking about Agile, it's still vague what attitude in a person makes him a good fit or a bad fit for an Agile team. In his article 'The Shiny New Agile Architect' the author described the characteristics of an Agile Architect. On a similar line, I believe some characteristics can be identified for an Agile developer too.
So, having spent around a year working in agile projects let me try to compile the list of behavioral traits which I find makes a good (potential) agile developer. Here are some of them:
I agree that the above list is not an exhaustive one and I believe there would be many others behavioral traits which can be identified for an ideal agile developer. I look forward to have inputs from anyone of you who has recognized any other 'must have' behavioral traits.
Filed under Agile, General, Scrum | 3 Comments »
Dear Ran,
thanks for this overview. A very useful list for coaching and assessing teammembers.
One of the first good-agile-developer-traits that comes to my mind is: teamplayer. In my opinion a teamplayer has some characteristics which are key for a succesful agile way of working.
First of all, working in agile team means to have an eye on the competencies of your colleagues when filling in your role. Sometimes this means doing things you would not prefer to do, but improve team performance a lot. Another thing is to be able to accept critism or ’suggestions for improvement’. A team can only improve if they identify impedements and tackle them. The last thing I recognize in a teamplayer is his responsibility for the teamspirit. A happy team performances better.
I realise one can argue that this teamplayer trait is already covered in your set of traits, but I think it relevant enough to make a trait on his own.
Hi Ran,
What I’ve learned in speaking to customers that are practicing Agile is that developers are problem solving at a much higher level, they’re solving business problems. Agile seems to provide a much higher level of job responsibility and job satisfaction. They’re talking to the person who is going to be using the feature. They understand what they have from a real-world business need, and figuring out how to solve their problem. For any body who is expecting to be handed a spec, an already designed system, and told just to “code it,” those developers don’t usually work out as well. According to customers, the developers doing Agile are smart, motivated, driven people and don’t want to just be handed a spec. They seem to get a lot more productivity out of that and they believe their company goes further. Their boss would rather be working for smart, driven people who are looking up and out vs down and in. They typically work in dynamic and open environments, where there’s a lot of collaboration, and a lot of “I need you to fix this problem,” it’s not that the manager “needs something that looks like this,” it’s “I need you to figure it out and fix it.” The people working in that kind of environment tend to be creative, problem solving people that are great to work with, enjoy their job, and are never bored.
The biggest problem in going Agile for many is taking developers who are in that “Give me a spec and I’ll code it,” box, and either breaking them out of their shell because they have the ability, but were just not used to the Agile way of thinking.
Hello!
Very Interesting post! Thank you for such interesting resource!
PS: Sorry for my bad english, I’v just started to learn this language
See you!
Your, Raiul Baztepo