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.
agile
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.
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 c2.com 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.









