Showing posts from 2006

What does an XP Coach/Mentor actually do?

One of the things I do is XP coaching and mentoring. But a question that keeps cropping up (bizarrely, often after I have been hired!) is "What does an XP coach/mentor actually do?".

Interesting question. And is there a difference between a Coach and Mentor?

In my opinion there is a slight difference, but first the common ground.

What both do is to guide a given team through the learning process of implementing XP. It is the responsibility of the Coach/Mentor to gently guide the team around the pitfalls by encouraging the good agile behaviours - communication, testing, team self review etc. Equally, destructive behaviours - slipping into mini-waterfall process, not talking to (or not having!!) customers etc - are discouraged.

Often the best way of doing this will be from inside the team, demonstrating by example the power of the techniques. IMO this is the "Coach" part of the job description.

As the team begins to understand and becomes truly self-organising, the Coach …

Change code? Be afraid. Be very afraid....

In my role as a software developer I have come across many strange attitudes to coding, but none so strange as the fear of changing code.

A good example - I was working with a team trying to use XP techniques. I was hired as a XP developer to strengthen the team and get them over a busy patch - not as coach, but simply as someone who had developed Java code in an extreme agile environment. No problem there.

The product we were working on required new functionality added to it. Since the current software structure did not easily accommodate the new stuff I mentioned in the stand-up that I would be restructuring the internals to make it fit more elegantly. This kind of refactoring is normal practice in any agile team, and is necessary to evolve the design with emerging requirements, keeping it coherent and stopping it from descending into a meaningless Ball Of Mud antipattern. I thought nothing of it. But one of the senior engineers threw his hands up in horror at the thought. "You…

It's finally happened....

Well, it's finally happened. After ages of deliberation, soul searching mixed in with good measures of apathy and procrastination I have started a Blog. So what finally gave me the boot up the proverbial backside to do this? Primarily an excellent blog entry from Steve Yegge explaining why everyone should start a Blog.

What will be in here? Good question. But I suspect it is going to be my thoughts, experiences and opinions in the field of software development, especially in agile processes. In addition it gives me somewhere to document all those irritating two-days-to-solve-a-simple-problem solutions for the amusement of others that knew the answer all along (and hopefully help at least one other person struggling to solve the same problem...).

So bear with me while I work out how this blog-thing will work in the Real World - always the hardest thing for an engineer.