Archive for March, 2007

Why Business Acumen

Lots of people (including me) keep saying you need to understand the fundamentals of Agile before tinkering with it. We keep saying working in iterations, doing stand-ups, doing TDD, sitting altogether in a room is not enough to claim you are “doing Agile”.

This is true for any approach, Agile or not: you have to understand how, when and why it works before starting to customise it.

IMHO this is the main reason why you are supposed to apply an approach sort of “by the book” before starting to change it (through retrospectives, of course! ;-)). This is also why people talk about Shu Ha Ri as a way to approach Agile.

A common advice is to always change things once you got the core values behind them. Even better once you got the principles who fill the gap between values and practices. The real problem, as usual, is the complexity surrounding these aspects and the far-from-the-books reality of the day to day troubles.

To help organising ideas and possibly cut through this complexity many interesting and useful perspectives have been proposed both on the Agile side of the pond and the other. For example, David J. Anderson’s Recipe for Success:

“Focus on Quality, Reduce Work-in-Progress, Balance Capacity against Demand, Prioritize”

Nonetheless people keep having problems with the complexity that often prevents us from seeing the bigger picture. We have problems in cutting through this complexity and go back to the building blocks.Most of the people I meet though don’t even consider these building block, their focus is on the process/approach/method/methodology itself.

This is limiting, this is not why we have (and discuss) methodologies in the first place. This is what I was referring to at the end of my “From Technicality to Business Awareness: now what?”.

Everyone agrees that not all the processes should be managed the same way. Processes differs in particular depending on the four Vs:

  • volume - high volume ones can exploit economies of scale and be systematized
  • variety - high variety ones require enough built-in flexibility to cope with the wide variety of activities expected of them
  • variation - high variation ones must be able to change their output levels to cope with highly variable and/or unpredictable levels of demand
  • visibility - high visibility ones add value while the customer is present in some way and therefore must able to manage customers’ perceptions of their activities

Generally speaking high volume with low variety, variation and visibility make it simpler to have low cost processes while low volume with high variety, variation and visibility all increase process cost.

Nonetheless all these situations have common building blocks and to make them very clear and easy to understand and remember I’ll borrow some definitions from the business world:

- cash generation
- return on investment (as combination of margin and velocity)
- growth
- consumers

That’s it! Everything else emanates from these core ones. These are what any process/method/methodology/approach/whatever should ultimately enable. If they don’t they are getting in the way of the fundamental building blocks. If they don’t it doesn’t matter whether your are doing all the good Agile stuff or not: you are not doing the right thing.

These building blocks exist, with the appropriate adaptations, at every level of the supply network of any organisation. From the strategic level down to the operational level and that’s why any process MUST address them.

In the next few posts I’m going to write a bit more about these building blocks, why they are relevant and I’d like to introduce the three levels which constitute any business operations: the operation itself, the supply network and the single processes. This way I hope that by the end it will be clear why I’m putting together all these things.

Comments

From Technicality to Business Awareness: now what?

The single most important benefit Agile approaches brought to the IT industry is neither technical, nor process related, nor organizational. Let me explain.

From what I can remember, before the Agile movement emerged, the software engineering crowd rarely moved away from the technical argumentation. I think the only time it moved a little was at the beginning of the pattern movement which, by the way, was blamed by many to contain a romantic element like the research of the “quality without a name” clearly at odds with the mainstream technical soul.

Issues like what values and principles stand behind an approach and what beliefs are considered true were almost always lacking while others like in what contexts those values, principles and beliefs are meaningful were usually present in a latent form (aka: you needed to look hard to find them scattered as they were among all the technicalities).

Agile approaches, on the other hand, start from the values and the principles. The beliefs are a little more explicit than before even though still not fully uncovered or better, not everyone yet is ready to accept even the possibility that there might be beliefs behind them which might not be true for every single reality.

Yet again this is not what I consider the single most important benefit brought by the Agile movement to the industry: the single most important benefit is a sort of Business Awareness.

I finally see and hear people, regardless of their official role, talking about business value and how they can help delivering it. Not just theoretical discussions about it but actual actions, contributions, body of knowledge, experience sharing. I see technical people interested in return on investment, opportunity cost, GDP and sometimes cash flow.

I’ll go so far as to say that nowadays if a team is doing all the good Agile/XP stuff like TDD, refactoring, continuous integration, etc, etc but I don’t hear people talking about delivery of business value I’m usually worried because more often than not it means some fundamentals are missing and people are in a sort of “agile Assimilation mode”.

As the title of this post says: now what? Well, this is the first step! The second actually. Often business value is repeated so many times it becomes an empty mantra and even I cannot stand it anymore. To make a parallel is like repeating ad nauseam OOP or TDD or pick_up_the_thing_you_prefer: it’s not gonna make it happen! Now we are aware of it but we still don’t know how to affect it, what it exactly means, why it works the way it works and what we can do about it.

For the same reason we keep saying that we need to understand values, principles and beliefs behind Agile in order to fully understand it and be able to adopt it and adapt it to our reality we need to understand the fundamental building blocks of any business in order to understand why we do what we do, regardless of the chosen approach.

The next step is developing Business Acumen and I hope to find the time to write more about it in the near future.

Comments (6)