Friday, 11 May 2012

It's just the tip of the iceberg.

An organisation is in the middle of Agile transformation process. Some Agile methodology is implemented, but something is not right. Teams are lazily having their retros, some of them are dropping the daily stand ups. All cool practices are not really taken into use. The organisation feels like teflon, nothing really sticks and some off the stuff is falling off.  Does this sound familiar? If so please go on.

Introducing Agile software methodology (eg. Scrum) to the organisation is fairly easy, most easiest way is just to use old Command and Control mechanics and just push it in. The process is pretty simple, only three roles, handful of artifacts and meetings and that's it. But does it really stick? I would say no. I see the whole thing as an iceberg.

By Created by Uwe Kils (iceberg) and User:Wiska Bodo (sky). [GFDL or CC-BY-SA-3.0], via Wikimedia Commons

TIP

This is where all processes, practices and methodologies are. If this part starts to show symptoms it's really painfully visible for everyone. In my experience, this is also what people are trying to fix. Usually this is just pushing more those processes, methodologies and practices in and what I have seen, this rarely do the trick. The reason for this is that there is really no soil to grow, soil is in the rest of the iceberg.

REST OF THE ICEBERG

Here is the organisation culture, if this is not right, nothing magnificent really happens. When I'm talking about organisation, I mean everybody included from the coding grunt to the highest manager (and whatever roles you have in your organisation). Do you have trust in place? Are the different roles of your organisation blaming one another? Are people really taking responsibility? Is it really a great place to work? Do your people collaboratively seek better ways to satisfy the customer?

If you get this part working, I claim that magic really starts to happen. People are seeking better ways to work and they are learning and discovering new things.

LAST WORDS

It is always easier to work with the tip of the iceberg, the rest of the iceberg is really much harder and also more fuzzy. But hey the question is: do we really want to change the world? Or at least our organisations? Please, if any ideas, post a comment.

Friday, 13 April 2012

Given Empowerment

The company goes Agile. In one night teams are in self-organization and -management mode. The management announces empowerment to the teams and stands aside. Time goes and it seems that teams are not performing as expected. The blaming starts: "even with the empowerment you are not delivering".
Sculpture "Empowerment", Lincoln (PAUL FARMER) / CC BY-SA 2.0
Empowerment is something what leaders should foster. Leaders should create an environment which really supports people's and team's self-management. In an environment with no blame but trust, people can truly choose how they are working and learn new things. Also a clear vision why and what we are doing, including constant constructive feedback must be in. These things are not coming automatically when empowerment is given.

It is about focusing what you can do for your people, not what they can do for you, or how they should act / behave. As a work it's difficult, much more difficult than giving commands.

Monday, 26 March 2012

Catching the big one.

The release date is approaching and some important features are still missing. It might be that we are losing a customer because of that. There are basically two paths to take. First one is to start cut corners, do some hacking, maybe not test that thoroughly etc. In other words we take technical debt to try to reach our goal. For the short term point of view, this sounds attractive.

The second choice is not to take technical dept and leave some functionality out from the release and negotiate with the customer(s). For the long term this is usually the better choice. If the product is something for which the life time is long, even decades, we are doing less work, because we don't need to pay back technical debt and intresses. This is might be because we are not catching one particular customer, put there is plenty of fish in the sea and competitive benefits comes in t
he long run.   

Wednesday, 21 March 2012

Where the heck are we?


Your nightly build is red. There are some test cases failing and you know that this should be the moment when you need to stop and investigate. Your Product Owner runs in the team room and start to rant about features which must be in before the release at the end of the week. He is questioning are those faults so bad that we really need to consume time to fix them, because we have promised some cool stuff to our customer.

Roadsign to Lost farm near Bellabeg. (Stanley Howe) / CC BY-SA 2.0
What to do? Every time we have failing test case(s) in our build(s) it means that our location is unknown, failing test case says that behavior of our product is not what we have expected it to be and before those case(s) are green again, everything what you create are just hypothesis.

Abnormal situation is work need to be done, and it's work that does not get any better with age, actually quite the opposite. It's work which generates more work. On the other hand, if we use stop the belt and fix the problem immediately it causes idling to the rest of system and the bigger the system is, the bigger the effect of idling is. So what do? I think that abnormality should always be removed as soon as it is noticed. We should always have the best understanding where we are and get back on the map quickly.

Friday, 10 February 2012

Learning from your peers

Long time no see. :)

Scrum Masters and Agile Coaches are often promoting pair coding and collaboration. The reason for that is very simple, the best way to learn is to learn from you colleague, that drives both of you into the new path of learning.

 But how about the SMs and Coaches themselves? One of my mottos is practice what you preach. Which means in this case, that you should also do pair working yourself. One of the great opportunities, if you are in a corporate environment like I am, is to work together with one of your colleagues. If you find this hard, it's again a good opportunity for learning. If it's hard for you, it's probably hard for other people as well. My case hardness comes from exposing myself, as good as also in bad. Very sensible thing I must say.

BTW. We as Coaches and Scrum Masters must grab all the possibilities.

Tuesday, 12 July 2011

How to create un-cheatable Software metrics?

This is the question, what I hear from time to time and of course, metrics are our data from our life supporting system, which makes this question interesting.

Unfortunately I think, the whole question stinks. Let's assume that you are a patient in a hospital after a really bad car accident. Your condition is that bad that you need a hospital life supporting system to survive. If doctors and technicians, who are maintaining it, goal is just get this data look good and if their bonuses were depending on it, then the target would not be your overall welbeing. How would you feel if you start to doubt that they are trying to cheating with this data?

If people are cheating with data from Software Metrics we are getting false information and it always leads to wrong decisions (usually Business kind of). Software Metrics like Running Tested Features, # of Defects, Velocity, Lead Time, Test Coverage, data from static code analyzers... you name it. It should give valuable information to the whole organization, how we are doing and the possibility to react when something starts to go wrong. Metrics should be for every stakeholder (developers, managers, business) and they have to be everybody's concern to keep our product alive and in good condition.

Usually when I have experienced such cheating, there is mostly a reward or punishment involved. If you are a Manager and still seeking to create a waterproof metric, I must remind you, that you have the most vicious opponents, Engineers, they will always find a way to cheat... if they want to.

Thursday, 18 November 2010

Organizations expecting Agile Coaches with Silver Bullets

I wrote a little bit provocative blog entry about the Cowboy coaches. In the of name of fairness I'll write now a blog-entry about Organizations which have unfair picture of what the Coach can bring.

I'm talking about my context, which is a big product, huge amount of people involved in multiple sites (I know, not recommended, but hey this is reality). These kind of organizations are generating a good stinking pile of waste, impediments etc, which causes pain. When you are feeling too much pain, you are calling Doctor(s), which is in our case are Agile Coaches. Now the organization is expecting a quick cure for the symptoms, but reality is something different. The organization should start to walk a path of self inspection and proper Root Cause Analysis to find true problems and fix them. On that path a good Agile Coach is more valuable than gold, because he is going to be your guide through, sometimes even very black moments.

Still a Coach cannot solve you problems, you must solve them by yourselves!