Archive for the 'people & systems' Category

Is Agile Software Development reaching the tipping point?

Friday, July 23rd, 2004

Recently, I’ve participated in many discussions about the current state of market acceptance of Extreme Programming and Agile Software Development. I’ve spoken to people from various European countries doing (covert or overt) various flavours Agile (SCRUM, Lean Software Develoment, Extreme Programming) in Banks, Insurance companies, even a very non-agile national postal service and a big moloch like Logica/CMG . So it is no longer a few small projects in small pockets. It seems XP and Agile might be crossing the chasm into the mainstream, and become synomous with ‘software development’ within a couple of years. Other signs I see:

  • Ponderings about ‘what is the definition of…’ Extreme Programming (on the XP mailing list) , Project, Agile, Leadership etcetera.

  • DSDM and RUP have now adopted Extreme Programming, so there seems to grow consensus on what constitutes sound agile programming practices, as well as a growing chance of wider adoption of these practices. In many places SCRUM and XP are also combined.
  • The number of conferences on agile is growing rapidly, besides XP2004, OT2004, Agile Universe, there is now also the agile development conference, xp days in the UK, Germany and the Benelux.
  • Other conferences are adopting agile, as well as agile session formats. Yesterday I stumbled across Software Development Expo, they have experientials (highly interactive workshops) and an open space conference, as well as a track on People, Projects and Teams.
  • The agile community in europe is both starting to face more outward (organising Agile Special Interest Groups to inform managers and software customers) and pulling together (keeping each other up to date on various events).

I’ll continue collecting some more signs, If you see some, let me know yours!

The beauty of cascading stylesheets

Wednesday, July 21st, 2004

I’m working with Marc Evers on a simple stylesheet for the xp day benlux website and a new site for systemsthinking.net. Marc found the CSS Zen Garden. As it says over there: There is clearly a need for CSS to be taken seriously by graphic artists. The Zen Garden aims to excite, inspire, and encourage participation.. The site is very simple, containing one page of text, which you can see in dozens of wildly varying styles, many graphically very pleasing.

Agile Planet

Wednesday, July 21st, 2004

Adewald Oshineye pointed me to agileplanet.org/, an aggregator for blogs on agile software development. Some of my favourite bloggers are on there, so If you’re interested in agile software development, I recommend you try it out.

Work harder, not smarter.

Tuesday, July 20th, 2004

Johanna Rothman writes in this blog entry A trap that too many execs (women and men) seem to fall into is: work more hours and get more done. People don’t work more hours and get more done. They work stupider and make more work for other people..

Recently there has been an urge by the dutch government for people to work longer hours, based on the assumption that the Dutch don’t work enough. Last week I read, that on average people work more than thirty years ago – so the assumption is flawed. Working hours are spread out over more people. Compared to thirty years ago more women participate in the workforce, and more many more people (men and women) are working part-time.

Who’s dropped the ball? Understanding team dynamics

Monday, July 19th, 2004

This is the title of a session Marc Evers and I submitted to XP Day benelux 2004. It got accepted! You might expect that, as we are also organisers of this conference. But I didn’t – we strive to create an independent review process, where a number of criteria are pre-defined, and outside reviewers are invited. Some of the organisers had their session rejected, so I guess this process works. The preliminary program is looking like a lot of fun and learning will be going on in interactive sessions. We’ll put the program on-line as soon as presenters confirm their appearance.

So what is our session about? It introduces systems thinking using causal loop diagrams (also known as diagrams of effects, Systems thinking is a methodology independent tool for understanding team and project dynamics and for finding effective interventions. We will use an experiential approach through playing a ball game (“group juggle”). All participants will be involved, either as a ‘player’ or an observer. We ran this game as part of a larger session at XP2004. The image below shows participants at xp2004 playing a second round of group juggle.
group juggle at xp2004

This game is derived from The Systems Thinking Playbook by Dennis Meadows and Linda Booth Sweeney, and I highly recommend this one. At a systems thinking meeting last week, we played another ball game, warped juggle. It struck us, that these games are very versatile and can be used for many purposes, e.g. showing group interaction, mental models, experience organisational change in the small, and explain causal loop diagrams as we’ll do at xp day.

Taking time for conversation

Friday, July 16th, 2004

I’m starting to take more time for reflection and conversation, yesterday for instance, we had another systems thinking meeting, followed by some interesting dinner conversations. Marc Evers pointed me to this quote above Dina Mehta’s weblog “Conversation. What is it? A Mystery! It’s the art of never seeming bored, of touching everything with interest, of pleasing with trifles, of being fascinating with nothing at all. How do we define this lively darting about with words, of hitting them back and forth, this sort of brief smile of ideas which should be conversation?” ~ Guy de Maupassant

Understanding your system starts at check

Friday, July 2nd, 2004

Last week at the lean service summit, there was an interesting presentation by John Seddon from Vanguard consulting about combining a systems thinking approach with lean principles. One of the things he brought up was the approach some improvement schemes approach change. Processes such as Six Sigma (and in IT, the Capability Maturity Model) start with planning, and analyse the current situation only after planning. Six Sigma for instance calls its steps DMAIC (Design, Measure, Analyze, Improve, Control). Looking at where we are (Measure and Analyze) comes after the map has already been made (Design). This is a bit strange – how can you plan the road ahead, if you don’t know where you are?

Managing change is better done by starting at check, so John Seddon suggests a change cycle that consists of only three steps: Check Plan Do. I can relate to this, because I have experienced the power of this cycle in various activities:

  • Weekly planning games work like this Check what has been done last week and how that affects the customers’ situation, Plan what to Do in the next week. Very simple, but also very powerful, as the software evolves together with the customers’ situation.

  • Retrospectives fulfill the same role: Check the current state of your process by looking back on the past project (or iteration), Plan new ways to add value and eliminate waste, by looking at what we can do better next time and Do by having the retrospective right in between your current and next project, and using the results directly in the next project.
  • A systems thinking techique, that of creating a causal loop diagram (also known as Diagram of Effects) also follows this pattern. Check being telling a story and drawing observable values and the effects they have on each other, Plan finding intervention points within the effects or changing the system by introducing other observable values and Do enacting the interventions or changing the system.

It is important not to forget the Do step. I heard someone criticize Systems Thinking last week, he said he prefers Systems Doing. I think it is crucial to take immediate action after the planning has been done and go through the check-plan-do cycle in short iterations, that way up-to-date information is used in steering your system, so the goal can be achieved with less errors.

Playing the blindfold game at the last xp-nl proved this again – if you steer every 20 seconds, you won’t get the blindfolded person anywhere near the target. With 5 second iterations, this is much more doable.

Rehashing…

Thursday, July 1st, 2004

Today, Marc Evers pointed me to Rehashing: Finale to Start-Up Life Lessons a long blog entry by Evelyn Rodriguez. It contains some interesting lessons on start-ups. I quote: Headlong into a free fall. Anxiety, worry, fear. And if you are an entrepreneur it would be invaluable to learn the skill of staying centered in the midst of seeming chaos and the unknown before your venture starts. That would be great. As I’m changing relations within an existing venture, and starting participation in a new one, I’m trying to avoid the rebound effect – I’m going to take some of the exact same risks I took the first time, for instance.

I’ve been rehashing a lot lately. I know it is not very useful, but it takes some effort to start “pre-hashing” so to say, thinking and acting towards the future. What helps me right now is writing (here or in my notebook), reading, talking to friends and going to conferences. Day by day, I’m experiencing and enjoying more about how the future wants to unfold ;-)

Having said that, I’m taking off for a an open space conference with fellow consultants in the French Alps, I’m curious what that will bring!

Stopping the production line in your development team

Thursday, July 1st, 2004

William Wake explains a simple protocol for getting unstuck in a development team: The Humble Yo. In the explanation is a nice story and some graphs showing why it is better to interrupt the whole team for a moment, than to remain stuck on your own (or with a pair-programmer).

Using an agreed-upon protocol has the effect that People don’t resent interruptions as much; they already gave permission for it. Another effect of agreeing on the protocol beforehand in my experience is that everyone on the team is aware that it is alright to admit you are stuck or don’t know the answer. This lowers the barrier to ask for help a lot. Asking for help takes courage, but works much better in the long run – I see it as an opportunity to invite the whole team to work together on a problem, which usually creates solutions none of the individuals could have invented themselves.

A simple game about rapid feedback

Monday, June 28th, 2004

In the Extreme Programming mailing list, Dale Emery points to a simple and interesting game that emerged during the agile development conference. You can read details on The Blindfold Game in Brian Maricks’ blog. I like this game, maybe I’ll try it out at our XP users’ group meeting

Brian relates problems the players are having with steering a car, roleplayed by another person, with voice commands every twenty, five or one seconds to iteration length in an agile software development process. He notes, that many people have problems with one-week iterations (which are then similar to one-second feedback in the game), although they can often be taught to deal with them.

I’ve experienced a situation where a one week iteration was too long. At the end of a four week project, the customers had difficulty of thinking of enough new functionality for a full week, yet there was still work to be done. On the other hand, I also experienced one week iterations being to short, especially in the case a large refactoring has to be made to existing software.

Over the years, I’ve worked on projects with one week, two week, three week iterations, and before that in projects without iterations… Iterations are necessary in my book, to get feedback from the project and steer it, so it stays on course (or changes course if the context requires that). The relation to me between the game and the real-world is, that in real-world projects I find it worthwile to look at the effect the iteration length is having on the project (as Brian does in his reflections on the effect the number of seconds has on the time it takes to get the role-played car to the target). If you think iterations are too long or too short, change the iteration length for a few iterations, and evaluate (e.g. with an iteration retrospective) what difference it makes to your project. After the experiment it will be easy to decide if you want to keep the new length or not.