Agile culture

One thing that interests me a lot is something I have referred to as software architecture in my webloggings (see here for Google’s results for the word architecture on my site). But it isn’t only architecture that I have been thinking about; architecture sure is part of it, but the thing is much bigger than that.

Rather, it’s about that whole set of shared principles, culture, vision, ideals, practices, etc, that emerges in the interaction between members of a team. Architecture sure comes out of this shared thing, but it’s more of a result than the actual thing. But I don’t know what to call it. XP calls it the system metaphor, but even though that’s a very fuzzy part of XP, it is still too specific a term to describe this.

Alistair Cockburn wrote about this in his paper On the Interaction of Social Issues and Software Architecture (see here for my thoughts about this). He showed how architectural choices derived from principles that in turn derived from social issues in the team. Say that a team has a certain mixture of skills: then the principle “Subsystem By Skill” might be worth honoring (at least if the problem domain is large and very complex). This principle in turn affects architectural choices, in the form of generating a system that is partitioned into subsystems.

The word culture is the best I can think of. In order for an agile team to be able to function as a “swarm”, as peers rather than as a hierarchy, the shared culture is essential – you need a common goal. And the word culture conveys the importance of having a “consistent” culture: otherwise the result will be culture clashes – different ideals regarding architecture and design, the structuring of code, etc, will cause friction in the team. Culture also conveys, I think, the importance of being open to other people, of showing respect for other peoples ideas.

Architecture is important, but it emerges from the principles and values of the team culture. This is yet another hint that the architecture is too precious to be planned, up-front, by one or two individuals. If your project is hierarchical, then fine: you need to make plans and communicate them down the chain; but for an agile project it’s the culture that matters – and culture clearly can’t be planned – and it is from the culture that the architecture emerges.

The above was posted to my personal weblog on October 2, 2002. My name is Peter Lindberg and I am a thirtysomething software developer and dad living in Stockholm, Sweden. Here, you’ll find posts in English and Swedish about whatever happens to interest me for the moment.


Related posts:

Posted around the same time:

The seven most recent posts:

  1. Tesugen Replaced (October 7)
  2. My Year of MacBook Troubles (May 16)
  3. Tesugen Turns Five (March 21)
  4. Gustaf Nordenskiöld om keramik kontra kläddesign (December 10, 2006)
  5. Se till att ha två buffertar för oförutsedda utgifter (October 30, 2006)
  6. Bra tips för den som vill börja fondspara (October 7, 2006)
  7. Light-Hearted Parenting Tips (September 16, 2006)