Agile Project Management

One thing that can be said about the success of Agile practices, in software development, is they have created many discussions on how to manage Agile teams. This has caused some companies to question what roles need to be filled in organizations to ensure project are as successful as they can be. Agile processes are a product of their time, there has been a growing trend in other management disciplines, like Supply Line management and production. Studies of organizations, in recent years, increasingly look to natural systems and self-organizing structures.


Collaborating at Pixar: Randy Nelson on using improvisation skills when collaborating

Randy Nelson talks about how collaboration in Pixar draws on to principles of improvisation:

  1. Accept any offer: when given a new idea try and work with it. Dismissing it causes the idea to be lost.
  2. Make your partner look good: don't extend work on the basis of making it better, think of it of adding value.

Cola: A new form of pair programming

Mustafa Isik has produced a system where two people can edit the same file in a chat like way. Conflict are resolved in real time. This, Real-Time Shared Editing, allows people to work together over the network, this could be a really good technology for when teams work from different sites on the same project. Technologies like these might allow teams to be worldwide, making the most of talent globally on the same software.

Industrial XP: a take on scaling XP

One of the criticisms XP which is often questioned is its ability to be used in large groups and projects. Many have suggested ways to overcome this, from system architecture through to communities of practice. A particularly interesting take on though is Industrial XP, some thought has been given into making this a complete practice.
The approach taken is to have multuple XP teams providing some new practices for managing these teams:


Wiki Patterns

I've worked in a number of places that use wikis to store project information. Often they can work well, at other times they seem to break and be completely useless. I notice there is now a Wikipatterns site documenting some of the patterns in wiki use. Most of these patterns originate or are documented in a form on but having this site helps establish a best practice. Looking at the history the site is less than a month old, hopefully it will turn into a useful resource for mentors who want


Pair Programming and the Attention Deficit Trait

Of all the practices of eXtreme Programming perhaps the most contentious is pair programming. Partly because not everyone likes pair programming, but also to some managers it is counter-intuitive: how can doubling up resources on a task be more efficient?

There is evidence to suggest that not only pair programming more
productive , but the system has more longevity. Through collaborative learning the design improves. My experience with pair programming is that although it is harder work it is more rewarding.


Forming Knowledge Communities

Sometimes, not matter how good the people are in a team, they don't seem to be effective. One reason for this is communication. In software information is needed to get systems working, and rarely is a specification good enough. In the last few years in Agile practices more has been made about forming Communities of Practice. This is the growing tread of recognising the in-formal communication that occurs in effective organisations. Recognising Communities or creating communities within organisation not only promotes good knowledge transfer, but encourages inter-departmental cooperation/colaboration. This improves the working environment. One sign of of a dysfunctional organistaions is inter-departmental feuds.


Ideas and metaphor

The The Word-Nerds have an interesting pod-cast explaining a well used metaphor in politics: The Ship of State. This dates back to Plato's republic. I've heard this metaphor reused in different ways by different authors recently. They point out that governor has its roots in the Roman word for Helmsman.

It shows how a good metaphor can be very powerful. It provides ways of talking about areas of the problem that everyone understands. It allows you to quickly express complex ideas and emotions. For example if you're sailing close to the wind then it implies more work, rougher sea and a narrower margin of error. Rocking the boat can be easily understood as something like sabotage; although in calm seas could be a joke. There are many.

Agile Soundbite

I came across a good definition of Agile on Greg Vaughn's blog. Which sums up Agile Methods:

Agile methods are a response to Waterfall methods so that verification of decisions can happen sooner.

It's useful when you have to explain Agile, which I recently had to do with an Agent.



All set for April the 1st and the Waterfall 2006 Conference?

There are many gems on this site for those who've worked in a waterfall environment including:

From a testing workshop: