Refactoring in Paris

Tuesday, December 23rd, 2008

In other news today:

Emmanuel Gaillot just blogged about our upcoming French Refactoring Training.

January 28 and 29 at the office of Octo Technology in Paris. This training will be in French. We ran it together in-house (also in Paris) and it worked quite well :) . The training was good fun, we did even more things dojo-style (including demos) than I normally would, and we made time for hands-on systems thinking. I think with the experiments we’ve done this year, that we’ve finally found a good way to do systems thinking with programmers. It seems to be a bit more intuitive for managers and coaches,  but presented in the right way, it turns out developers find it eXtremely valuable. Surprisingly (not ;) ) the topic the developers chose for their diagram was not entirely technical: how too much labour turnover was hindering their productivity and maintenance.

In other other news: the QWAN newsletter is out. It has some instruction on how to do your own temperature reading, conference reports and the public courses agenda. Enjoy!

Now it is time to relax after a  busy and period. Maybe I’ll finally get around to posting photos from all the conferences we’ve been to since october…

A QWAN year :)

Friday, December 19th, 2008

I wrote a teaser post about iterative and incremental rebranding of eXperience Agile in September… It’s been four months and almost as many newsletters since then :) . So time to de-tease the blog…

Marc suggested to do part of the upcoming newsletter as a Temperature Reading, so besides getting some information, our readers also learn a technique, and it helps us structuring our own reflection over the past year. It’s been about a year since Marc, Rob and yours truly sat together after xp days london to discuss closer collaboration with courses and coaching (but still as loosely coupled as possible, because we like our independence).

A Temperature Reading has five questions, the order of which you can vary, depending on the context (see Temperature Reading for explanation and the default order, I’m going to do something different here).


Cap the conference :)

Friday, May 9th, 2008

Marc Evers and I were a bit buzzed… We hoped, this year, to start announcing agile open earlier (and, unlike last year, not keep repeating ‘we should get started’). Well, unlike last year, we didn’t keep repeating it. We just didn’t get round tuit…

So last week, we finally got together around a whiteboard, decided that we did want to hold it in June (like last year, and as we planned), but we didn’t have a location etc. and didn’t want to spend as much time as last year in sending out invoices, dealing with exceptions etc.

So, we decided to go with an affordable conference location and leave things like hotel, dinner out of the basic package. That means we can send out just one type of invoice – you come two days, or you don’t, and  beside diet preferences there are no options. Well, you can of course volunteer (we got spontaneous offers for that. ) or sponsor.  We also decided to cap the conference at just thirty participants, so we could go with the venue. One of the reasons being, we thought we can’t get that many participants in a month anyway… Surprise, surprise, sending out the invite to a couple of mailinglists, and we’ve already passed the twenty participants mark. And we have some sponsors as well (we didn’t expect many in this timeframe, so we’re pleasantly surprised. Now we have to make sponsor packages :) and facilitate the other volunteers so we can self-organize )

So, without much further ado, I’m proud to announce the next

Agile Open Europe 2008

will take place in Utrecht, NL on June 5th and 6th. A vibrant place to push the envelope and do business together. And yes, we will find Belgian Beer – one participant listed that as a dietary requirement ;)   Looks like its’ going to be good fun again. See you there!

And if you ‘still’ haven’t registered – there’s a handful of places left…

Beyond Agile?

Friday, March 14th, 2008

Have you been involved in an ‘agile transition’ (or some other form of process improvement)?
Have your co-workers complained there was not enough process?
Have your co-workers complained there was too much process?

Promise is Debt paper translated to english

Wednesday, February 6th, 2008

Marc and I finished translating Belofte maakt schuld to English, we proudly present: Promise is Debt.  In this case study, based on our own stories, we apply systems thinking to a common destructive behaviour pattern in IT organisations: overpromise when you underdeliver, and then overpromise some more…

So far we had a good response on  Belofte maakt schuld, overpromising and underdelivering seems to be even more common than we thought.

Writing papers in two languages is an experiment for me, usually I write in English, and I used to write in Dutch when I was writing articles for Dutch IT magazines. Writing and editing a translation gives me a fresh perspective on the text, and in the meantime I’ve had some more discussions on the topic. In the end, I came to the conclusion that if you really want accurate estimates, and stop overpromising, you have to foster a culture where saying no is ok.

One highly ineffective habit of software development teams

Thursday, January 17th, 2008

And that habit is: ‘overpromise and underdeliver’ Marc Evers and I just pubished a new article on this topic in Dutch, Belofte maakt schuld (‘promise is debt’). It is a case study, in which we apply systems thinking to this highly destructive habit. We plan to make an english translation available later on.

As an aside, I’m inspired to use the word habit today, after stumbling across this interview with Ivar Jacobson in our local industry magazine Bits & Chips (in Dutch), in which he explains to use ‘habits’ over ‘process’, because process has become such a loaded term.

This was registering with me, because Marc mentioned a couple of days ago, that he was looking for an alternative to the word process. After some mulling about, we came up with this:

A process is what happens (as the total of actions by the people), a habit is what people do normally. You want people to change their habits, if you want a more effective process…

A popular way of doing that is by ‘installing new procedures’. Procedure is an even more loaded or dreaded word, that means a process in the narrow sense, what people are expected to do. But basically, if you follow a methodology by the book, that is what you are doing: following, or trying to follow new procedures.

But, old habits die hard. Belofte maakt schuld (‘Promise is debt’) is yet another example of how to let people fall back: ignore the reasons for an initial success, and let the team fall back on its’ old habits by increasing the pressure to deliver… “I already promised this to the customer, you could produce as much earlier (under the false promise of time to make up for any corners cut during a crunch), so stop whining, stop testing, stop pairing, just deliver…”.

And then when the teams’ velocity drops even more, promise even more to the customer. ‘Just’ rely on the teams aim to please…


Thursday, November 1st, 2007

Yesterday saw the trial run of People vs Process: Cultural Patterns of Software Organisations. We had a lively session with eleven active and critical (in a good sense) participants. We got useful feedback for the next rounds, and a solution for a puzzle we couldn’t solve before: an example organization with a congruent culture.

congruent? by daden

congruent? by Alexander Aden

As Nynke Fokma puts it:

“Congruent culture: starship enterprise -> when going somewhere, we can go where no one has gone before, we can carry anything and we can beam ourselves anywhere, but this is all science fiction, or is it”

As Jerry Weinberg describes it:

“Everyone is involved in improving everything all the time.”

So far we had come up with Toyota as a possibility. However, I’m a bit wary of using Toyota as an example – the risk of a Toyota cargo cult in IT is slightly too big to use it all the time. Searching around, you can find gems like Two Faced Toyota :

“Meanwhile, Toyota’s playing footsie with federal regulations. Their Texas-built pickup hits dealer showrooms in February– at the same time other manufacturers are beginning to introduce some of their 2008 models. But Toyota is adamant the new Tundra is an ’07. That’s because the U.S. government is changing the way they calculate the fuel mileage ratings for ‘08 model year pickups. [..]

As you can imagine, Toyota’s heavy emphasis on their new gas-guzzling leviathan hasn’t gone unnoticed by auto-oriented environmentalists. In fact, environmental groups are finally facing reality: their automotive eco-darling is (gasp!) nothing more than a business. A business that conforms to all CAFE regulations, of course, but will do whatever it takes to make a profit. “

Porsche came up as a possible alternative, now the most profitable car maker. I read about it in the financial times, and should have kept a clipping. They say so themselves in the Porsche Principle, and this:

“On the labour market, because to secure our long-term success we don’t eliminate jobs, we secure and create them. On the business base issue, because we are committed to Germany and are a constant reminder to others that one can succeed here too. “

Sounds good, but whenever I see one of their gaz-guzzling high speed SUV’s pass by, I don’t know. Not bad for a car maker, and very effective and efficient. But still a car maker.

A participant suggested Semco. Marc and I went… Duh! We knew about that one, but somehow it didn’t come up during the preparation. Semco is a federated business, operating out of Brasil. It’s ceo Ricardo Semler wrote about it in the Seven Day Weekend :

“At the risk of offering a description, Semco is a federation of businesses with a minimum common denominator. What I mean is we are not monolithic, yet there are common themes and threads uniting us. All our business units are highly engineered, premium providers and market leaders in their niches. We haven’t ventured into any of them by chance.”

From their values page:

10 – Have the humility to recognize our errors and understanding that we can always improve.

Sounds close enough.

So, now we’re still looking for examples of a congruent culture example in IT or electronics. Or something to dispell our happy feeling about Semco. Anyone?

Stability is boring… – spiral upwards instead!

Tuesday, October 30th, 2007

Preparations for the trial run of People vs Process: Cultural Patterns of Software Organisations this Wednesday are starting to wind down. The presentation, exercises and stories we want to do are virtually done. Marc uses cultural patterns to describe some common failure modes when starting with an agile way of working : Agile choreographies in the culture space:

Most of the time, transitioning to an agile approach means going from a Variable or Routine culture to a Steering culture.

Practices like daily stand-up meetings, short iterations, frequent releases, iteration retrospectives, test driven development, continuous integration, big visible charts, stop the production line mentality all help improve the visibility and stability of the software development system.

These are all indicators for a steering culture.

smoking, nose picking and driving by mike klineThe transitioning process itself often escapes the attention of the unwary. That can result in an oblivious or variable transformation process, which in turn can result in one of the failure modes Marc mentions. A heroic (variable) or unconscious transformation can result in reduced performance, that you often won’t be able to notice… Or you’ll get lots of ‘resistance’ and think ‘how did that happen?’

The process of transformation itself can be done in a steering way, for instance by using a change backlog. It helps if one knows, for instance by experience, where to look. Because we don’t have a stable process yet, we have to rely on observation. To know what to observe, we can rely on experience. Either our own, as we go along, or re-using past experiences, e.g. from an experienced mentor/coach who knows where to look.

Using past experiences in various contexts to choose practices that apply in a new context, and doing risk analysis combined with scenario planning (elaborate, or back-of-the-envelope, depending on the complexity of the environment) already gives the change effort itself some characteristics of an anticipating culture.

Pink Swirl, by tanakawhoFor risk analysis, some of the failure modes Marc mentions are valuable input. Up-front identification and analysis of risks, their likelihood and mitigation strategies can be done in a simple ‘agile’ fashion as well – get the people involved in a room around a flip chart and brainstorm away for an hour or so. Then keep the flip chart on the wall, and re-visit it every iteration or two. As in all things ‘agile’ we do an ongoing assessment – of risks materializing, as well as potential new risks…

Otherwise, the result of an oblivious or variable transformation process might be, ‘that agile method does not work, let’s try to surf to the next wave…’

Photo Credits:

  1. Smoking, Picking Nose and Driving by Mike “Dakinewavamon” Kline
  2. Pink Swirl by tanakawho

Systemsthinking for every day use – a tale of web site traffic

Monday, October 29th, 2007

I read in several places that systems thinkers tend to keep their work to themselves, and that stories work best to get more people to do it.

So, here is a story with a diagram of effects – want more traffic? .

Context: Last week, Marc Evers and I were working on a quote for a community website, based on a request for proposal we got. We made the diagram to clarify our interpretations about the clients ‘business’ – a not for profit foundation supporting a community of practice.

I’m involved in a number of websites, e.g. to support my business, conferences and as of recently wyrd web – a budding company to support more of that. The diagram helped me understand this client, and some of my other contexts involving a community and its’ website(s) – e.g. systems administrators don’t always see why uptime and responsiveness provides business value to a community of practice (which if done well supports a thriving eco-system).

We decided to send the diagram to the client, and then I posted it. The diagram itself is isomorphic with part of its message: quality content drives traffic, which in turn drives quality content. The post attracted a nice comment, which helps me to write more about this topic :) .

We’ll see in the coming weeks whether this diagram helped the clients’ contact person in sharing our understanding of an effective website’s value with the not-for profit’s board.

It’s just a script

Monday, October 22nd, 2007

As a programmer told me:

One programmer is fanatical about code quality, he is especially strong against duplication. He is also the one who maintains an install program for our servers, and one for development workstations. They should be quite similar in operation – however they are two different scripts, one was once a copy from the other, but they have now diverged. This means defects have to be repaired twice, and the scripts are a complicated mess that only that programmer can maintain, with a lot of effort.

When I asked him “why did you duplicate these scripts” he said: “The what? oh yes, that is not a program. That is something I just put together so we can install our program. It’s not a program, it’s just a script… “

Oblivious, by James CraigFor some reason this second programmer sees the install script as a
non-program, so the same routine that applies to programs, does not apply to ‘scripts’, therefore duplication is not a ‘problem’ – he can not see it as a problem, even when the first programmer asks him about it.

The second Programmer has an oblivious pattern for one part of the project where he may apply a routine or steering pattern to other parts.
The first Programmer seems to be aiming for a congruent culture (albeit, so far a culture of one person only, a micro-culture so to say):

Congruent culture – everyone is involved in improving everything all the time; it is a culture of ongoing reflection and improvement.

So in that view

Scripts are programs too

And if there is a problem (defects caused by duplication in this case), you stop, work on the problem, find out what caused it and what we can do to prevent it from happening again. And, last but not least, we do this with the whole team, so everybody can step away from their micro-culture.

In a way, a congruent pattern makes it irrelevant whether something is a program or not…. if something gets in the way, we do something about it.

(This post is part of a series on cultural patterns of organisations. Marc Evers and I are hosting a trial workshop next week, so we’ll be posting some more stories and pattern descriptions as we are working on our introductory presentation this week).


(photos under a creative commons 2.0 ‘by’ license)

“Oblivious” by James Craig (picture of a standing duck oblivious of a waterfall, because it faces the other way)

“Oblivious” by Emily Nieves (picture of a lady in the water with her eyes closed)