Archive for the ‘Business’ category

A new challenge

March 16th, 2009

As I wrote here my professional life boils down to a couple of things: Agile and Open Source. Within these I’ve done almost everything from software development to programme management, from coaching to facilitation, including a couple of ventures as owner and CTO.

I’ve spent the last 3+ years mainly in London working for ThoughtWorks and that has been the most mind-opening experience both professionally and personally. It’s mind-opening to work with people from all over the world (in my first project with ThoughtWorks we had 15 different nationalities) and to realise that there are enlightened people who really care about values and principles and doing the right thing. I learnt so much!

But the time has come for me to move on to new pastures and as of today I’m the managing director of Sourcesense UK, a European Open Source systems integrator providing consultancy, support and services around key Open Source technologies. Go check the website :-)

The sadness for leaving the greatest company I’ve ever crossed path with is today replaced by the excitement for this new opportunity and I honestly hope I’ll be able to bring with me everything I’ve learnt in these past few years.

Open Source, Agile, technology, business and me

February 27th, 2009

Warning: rambling thoughts with loose connection :-)

I’ve recently come to realise something that, in retrospect, is quite obvious. Long before my name got associated with the Agile movement back in 2001/2002, I was known (friends, colleagues and business acquaintances) as an Open Source enthusiast.

My first experience with OSS goes back to 1994 when a software development magazine I used to buy had a Slackware 2.1 CD in boundle. At the time I considered myself a hardcore C and C++ developer (so much so that my first website in 1996 was called C++Warriors, hosted on Geocities) and I couldn’t believe my eyes when such a wealth of interesting, complex and freely available source code got into my hands.

After that enlightening experience my relationship with OSS kept growing so much so that I founded a company called OSWay – The Open Source Way – back in 2000. We did all sorts of things from partnering with SuSe Italy, to develop the world first Kylix enterprise-grade POS application (there used to be our case history on Borland‘s website before the CodeGear split). We sold part of the company to a publicly traded Italian company to raise funds and develop products but this is another story :-)

Over time I got more and more into not only the technical side of OSS but also the approach and reasoning behind it. In fact when I started delving into Agile it struck me how many things in common it had with a typical OSS approach to software development. In particular with what EricRaymond‘s TheCathedralAndTheBazaar described. I also created a page on the c2 wiki titled Open Source As Agile Process back in 2003 highlighting what was IMHO in common.

After that though I kinda stopped talking and writing about OSS. Does it mean I don’t care anymore? Absolutely not! but somehow I stopped making it visible, it just became second nature. And this has already been happing with Agile as well. I guess the only reason why I’m still actively involved day in and day out with the Agile community is because I organise the Italian Agile Day and the Italian Agile Movement and this forces me to be proactive because I care so much about them. And probably that’s why I try hard pushing intermediate members of the community to be more involved for all the good reasons nicely explained by Kathy Sierra in her 2006 post How to Build a User Community.

Now finally both my passions (that is: Open Source and Agile) have or are about to cross the chasm (with all the watering down involved but still!).

The global economic crisis is over!

February 16th, 2009

Well, not quite :-) but according to the latest McKinsey Global Survey 75% of executives surveyed (90% from the Eurozone) feel that, while their national economies are still in trouble and declining:

“economic expectations, though gloomy, don’t appear to have worsened notably over the past six weeks [...] Many respondents say government action has made the economic situation better than it would have been otherwise. Looking ahead, more executives say government help should focus on fostering innovation than on helping existing companies or industries.”

Why Business Acumen

March 24th, 2007

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.

From Technicality to Business Awareness: now what?

March 20th, 2007

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.

Page optimized by WP Minify WordPress Plugin