Posts Tagged ‘cultural-patterns’

Cultural Patterns go round

Monday, March 24th, 2008

Literally and metaphorically. Tomorrow Marc Evers and I will be presenting the next iteration of Beyond Agile / People versus Process at a meeting of the dutch DSDM Consortium in Houten, Netherlands. Today is a public holiday in the Netherlands, and it is snowing (! not normal late March)… So what better opportunity to stay inside, leave the phone and the mail off and muse a bit more on going round in circles :).

Tomorrow we plan to present the material in much the same way as at Qcon London, and spend the extra time we have on doing exercises with the participants, much like we did at XP Days Benelux and London last year, now with new and improved exercises :) . We’re getting better at presenting the patterns in a non-linear fashion and getting the idea across that one pattern is better than the other, but that they each have a context where they fit best.

After Beyond Agile in France, we took up the nice task of re-ordering most of the presentations, and drawing some of the choreographies you could see in the notes, so that we could tell stories more effectively, show the patterns in a context where they fit and explain why some choreographies are easier than others.

We start off with asking the audience questions about too much or too little process and whether they have been involved in some way in an agile transformation. At qcon, surprisingly little hands went in the air for any of the questions - so that might mean that agile is not that mainstream yet… We expect most people to have worked in either routine and/or variable cultures. Several people raised their hands on all questions :) . So that means it is a decent starting point - it is easy for most of the audience to picture what these cultures feel like from their own experience. Some of the others require a bit more explanation, as they are more uncommon or less easy to spot.

 

 

 

variable versus routine

Routine and Variable can also help explain an endless source of conflicts within an organization. At Agile Open France there was a session on “Dev vs Prod” (Development versus Production - most of the participants worked in some kind of IT organisation where the Developers - people who program the programs - are not responsible for keeping the programs they make up and running - that is the responsibility of Production). Developers often prefer a variable way of working - being flexible, trying out new stuff and making the customer happy. When they hand their stuff over to Production, they are faced with forms and procedures - indicative of a Routine Culture.

hand over from Development to Production

Now, why would Production have these procedures?

Because (amongst other things), they have past experiences with Development handing in code that ‘Works On My Machine’, and even if the code does work, most software they have to use is Legacy Code. As Gildas noted at Agile Open France, most production software (e.g. mail servers, databases, some web servers) don’t give feedback until you restart it and go live. Some do some syntax checking (e.g. the apache web server), but even that is uncommon.

So any change to a production environment has a good chance of breaking it, which leads to the Production people getting complaints and working nights to get the whole thing back up and running. Wait, did I say working nights? That doesn’t sound very Routine, now does it…

 

 

heroic fixing

Often when something goes wrong, a routine organization will temporarily go into a Variable state, in the hope that order will return soon. In the case of Production, going Variable is more unpleasant, because if you’ve been doing this for a while (I have, as a side project), you can feel in your gut that something might go wrong again, requiring even more heroic fixing… And this always happens when you least expect or want it (say, the day before you go on holiday…).

The two pictures with arrows already show two uses of the patterns:

  • Predict and explain conflicts between parts of an organization
  • Transitions from one pattern to another (and back) and why they happen.

And that ‘fixes’ one of the ‘defects’ we had in our presentation last year: explain early on in the presentation what we use these patterns for - we usually needed the Q&A round to explain the ‘why’… I hope to follow up with another post on another ‘why / how to’ : guide transitions from one cultural pattern to another, and explain why some transitions feel easier to me than others.

A startup should work twice as smart…

Sunday, March 23rd, 2008

I’m still planning to procrastinating on writing more about cultural patterns. How better to procrastinate than with some light sunday reading:

“[...]a small startup, should be working twice as hard as the bigger companies [...]“

Taken from tales from the WTF company, part II . If you work smart, read part I first…

Excercise for the reader: which cultural pattern does the WTF company exhibit? You get bonus points for identifying coping stances from the story as well :) ).

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?
(more…)

Beyond Agile in France

Monday, March 10th, 2008

Raphaël Pierquin just put the rough version of the agile open france proceedings online - to enable ‘us bloggers’ to start using the proceedings he uploaded scanned images with an index. A more polished version will follow later. This ‘reduce cycle time’ version already provides lots of value to me. For instance, I can now show you the beautiful notes Antoine Contal made of ‘Beyond Agile’:

beyond agile proceedings from agile open france 2008

Notes of Beyond Agile. Click the image for the full-size scan.

I decided to propose a run of “beyond agile”, so I could try a different way of presenting the cultural patterns before qcon London this wednesday. The runs at xp days last year (then dubbed ‘people vs process’) were well received, and gave us ideas for improvement:

  • we needed the question and answer time to get across why we believe these patterns are useful in our work (they help us determine where we are, and decide on a strategy on where / how to go next),
  • attendees got the idea that one goes from one pattern to the next in a linear fashion. We then presented it in a linear fashion then, so surprise,surprise…

In this instance, I ditched the slides and presented from flipchart. After presenting the ‘why’, the participants did a round of experiences on the questions:

  • ‘did you ever experience people telling you that your mix of ‘agile’ practices is too much process? ‘
  • ‘did you ever experience people telling you that your mix of ‘agile’ practices is too little process? ‘

We then gradually constructed the circle, starting with the cultural pattern (’routine’) suggested in the story told by the last participant. Meanwhile, I explained some common choreographies (the arrows), each with their advantages and difficulties through stories:

cultural patterns in a circle

We discussed more choreographies than could sensibly make the notes, and further discussions over dinner gave me some more inspiration. Even this ‘circular’ drawing follows the same linearity as in Gerald Weinbergs’ books. In wednesdays’ presentation we’re also going to talk about some other choreographies (e.g. going from routine, or routine to oblivious).

As you might guess from the notes, we ran the entire session in french. I needed to ask for some words, and probably my grammar is not up to par, but overall it went much smoother than I expected. The other participants were extremely helpful in letting me and Barry Evans speak as much french as we could, providing us with words when needed, and allowing us to switch back to english when we couldn’t manage in french - less and less frequently needed as the days passed :) .

So now it’s time to re-order the slides in a quasi-random order - some order that allows us to string stories together in a way that makes sense to the audience, add choreography slides and practice a bit more. I hope to see you at qcon on wednesday.

Make more money, get not certified…

Monday, November 5th, 2007

Joaquim Bonet i Chambó 14-2-1817I’m not a big fan of certification, for various reasons. And now I’ve added another reason:

Mark Gallagher posted Noncertified IT pros earn more than those with certified skills, report shows

The report Mark Gallagher mentions seems to focus on linux skills. I hope it indicates a wider trend - companies looking for creative, inventive people who know how to do research, over people who wave a certificate.

From Marks post:

“A new report from industry research firm Foote Partners LLC finds that the average pay for noncertified IT skills topped that for certified professionals while compensation for IT jobs increased again in the third quarter of 2007. [...]

In May, Foote Partners reported a 9.1% increase in average salary among 149 noncertified IT skills over the last year, according to their IT skills pay survey.

[...]Foote Partners has been reporting that pay for noncertified IT professionals has been steadily increasing, while compensation for certified IT skills has been steadily declining for more than a year.”

Further Reading: Nynke Fokma lists possible advantages in favour of ‘certified agile professionals’ in Certifiblation:

“Command recognition from customers, clients, executives, managers, coaches, consultants, and other developers.”

I recognize people who wave a certificate. Probably not in the way they would like ;) It seems employers are doing the same….

In a follow-up post, Marc Gallagher quotes Bernard Golden:

Golden points out that certification is only good for demonstrating ability in established, commodified skills. The job market has shifted away from “standard issue stuff” in the industry, which demanded basic skills from large numbers of employees and Golden said those days are long gone. Drawn to certified credentials are organizations that still require professionals who can perform basic skills (cost centers, for example).

I value creativity and the ability to overcome obstacles over certification. What do you value?

Credits:Joaquim Bonet i Chambó 14-2-1817 (birth certificate) by art_es_anna

Congruent?

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

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).

Credits:

(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)

If panic then change routine

Tuesday, October 16th, 2007

While procrastinating on the next post, Nynke jumped ahead with scenario planning and Marc continues with his routine on routines - we follow our routines (except when we panic) on what happens when a routine culture breaks down because of a foreign element. I could have anticipated that…

So this episode was supposed to be on how cultural patterns work on different levels, sort of like fractals, with stories. The first story already got quite more elaborate then I planned (and I wanted at least two in for the first story…), and I have no pictures for it! I’ll panic (following Marc’s lead ;) ) and leave the stories for (maybe) tomorrow.

About my routine (when in panic, why not make a blog entry about blogging and me, which is what blogs are supposed to be about, no? ;) )

My current process for posting a blog entry, is that I collect fieldstones, and when I feel one is strong enough, I go out and hunt for pictures. Because the feedback (steering…) on some posts suggested that posts with pictures and/or posts that are well prepared attract more readers as well as more comments (hint: I like comments)… So adding pictures became a routine… And in that routine, I have to follow the rules: post only with pictures…

To keep up with Marc and Nynke, I have broken that routine ;)

Routine, Variable - or would you rather stay oblivious?

Monday, September 24th, 2007

To me (agile) software development is about delivering business value to the customer (by as little software as possible), and doing what works in practice. Today I’m writing a bit about routine versus variable cultures in organisations.

A current project, recent writings by Marc Evers and Nynke Fokma and upcoming sessions on organizational cultural patterns (based on Gerald Weinberg’s work) inspire me to write a little about… routine :) , so I can explain what the session is about, and evolve my understanding beyond what’s in the book. I’ve been using variations of this model for quite a while now, so it is about time to write about it :)

My mentoring/coaching clients fall roughly in two categories: those doing some form of chaos development, and those who supposedly have a bureaucratic, routine based process.

Digging deeper, my clients fall into one category: those who have some form of chaos development…

I’ll explain my digging along two lines:

  1. Routine processes are uninteresting strategically
  2. Routine processes are not focused on results. They only (seem to) work, because result-oriented people find a way to work around it and don’t tell anybody…
  3. Routine is boring

Routine software development culture :
“We are developing software - follow The Rules”

Routine processes are uninteresting strategically

As Marc Evers writes in Keep on failing (in the small…):

“Predictable projects are not interesting, not in a strategic sense. If it’s predictable, there’s probably someone who has already done it or even created a product or service for it. Most interesting, strategic IT projects are in the complex space, where cause and effect are only coherent in retrospect and do not repeat. Best practices, recipes and step-by-step methods don’t work here. You need to steer based on feedback instead, through a cycle of probe, sense, respond”

the beat of life

So, if you want to create an entirely new market, you have to work based on feedback, if you want to go somewhere with an innovative product, you have to dance to the beat of life, and create your own beats :)

Routine processes are not focused on results

Because, to get anything done in a routine environment, you have to bend the rules. “The Rules” are usually made to prevent change of any kind, and “The Rules” have a tendency to grow in volume. As they grow in volume, they inevitably start to contradict themselves. Therefore, my clients only fall into one category ;)

Now, as an investor or product owner, if you start a new project, you might feel tempted by the false idol of “The Rules”. It is easy to find IT suppliers who happily work with “The Rules”, making big, fixed-price contracts and maybe even using some form of Model Driven Architecture / Design, which is a translation of working by “The Rules” in software development terms. . .

As Nynke Fokma writes in Great innovations that help the world

“The intention of MDD, model and routine driven developments, is to make software work routine. It is a focus on the tool rather than on people”

So, why do routine-oriented people get scared when you mention agile. They hear a transformation from:

“We are developing software - follow The Rules”
to:
“We are developing software”,

which would be a Variable culture.

The mental image of a Variable culture for someone in a Routine culture looks like this:

variable expansion, by Andreas Kolleger

“Variable Expansion”

If you remove “Follow the Rules”, Routine people can’t see the safety net. A Variable culture doesn’t have a safety net, so we don’t want to go there from routine.

However, as a mentor, a Variable culture is a much more pleasant state to start than a Routine culture - there are no “The Rules” to unlearn…

People in a variable organisation know that they are developing software, which makes them more aware than people in an oblivious culture:
“Are we developing software, really?”
“Oh, no, this is not software, It’s just some macro’s I made in Excel and Access” (never mind that these macro’s are the only things that are keeping track of millions of euros worth of business, as I saw in a moderately large manufacturer).

Clients in the variable space are usually a lot of fun for me. They are results oriented, and often have delivered software recently. They know they are developing software, they hire me to do better.

Usually, when they get to the point to hire a mentor or go for training, they know they have a bit too much chaos development. They already have some areas for improvement in mind, maybe some practices too, and with some creative questions, maybe a small retrospective, we collectively find some more.

We keep the results focus and the fun people are having at work, and add just enough process to make the team(s) more productive (deliver less defects, more business value).

What that looks like? I’ll leave that for an upcoming post…. There are loose ends here, some intentionally…

I’m not saying you don’t need any _routines_, which is differently from having a routine culture. Appropriate routines create a stable basis on which you can build and experiment. On the other hand, as nynke says: if you are in control, you are not going fast enough…

Credits:

The beat of life photo by ♥ Cherie ♥

“Variable Expansion” photo by Andreas Kollegger.

Gerald Weinberg, for his work on organisational cultural patterns

Nynke Fokma and Marc Evers for blog entries and discussions.