Passion Required

The baseline assumption in Scrum is that everyone involved is willing and keen to do a good job with the work in front of them to the best of their ability.  In the organisations that I’ve worked this is mostly true.  But I don’t think it is enough for an awesome team.  Passion is still required.

Passion is required to be awesome
I’ve worked with several different teams and people doing agile types of things in the last couple of years.  The benefit of moving jobs is increased exposure to the diverse ideas and interpretations of Scrum and agility in general.  With that exposure I’ve seen that many teams are completely happy with what they are doing.  They appear to believe they are good enough for the situation they are in.  Others think they are already doing awesome things.  Or they think that it is impossible to do more awesome things based on their special circumstances.

The significantly better teams are those that contain people who are truly passionate about making a difference in the way they work.  They engage and don’t just shrug things off as the way they are.

Too many teams lack passion.  Too many teams fall short of the awesome they could be.

Sometimes awesome isn’t required
Some teams appear to believe they are good enough for the situation they are in.  Sometimes this could be true.  When mediocre is good enough – for the team members, the PO, the customers paying for the software – then it becomes hard to drive improvement as there is no pressure to change or get better.  They are good enough.

Sometimes passion isn’t desired
When awesome isn’t required – passion can be a disruptive influence.  The passionate ones can be the disrupters, breaking the status quo.  They push for things they believe will make the processes and delivery of software and business value better.  But these aren’t necessarily exposed by the pressures of the environment.  They aren’t being acknowledged by the team jointly.  They are just exposed by the desire to get better at what you do.  And it is possible that in the scenario they are now in – they might not work the same.  In these scenarios group buy in is hard to attain – particularly from those who like the status quo.  You need to pick the battles for the things that that majority will buy in to – where the team will actually acknowledge the pain.  And slowly grow the knowledge that there are other ways to do things.

Perhaps the people who are passionate about being awesome will naturally either change their organisation or change their organisation – hopefully for one that does need passionate people whose drive is to be awesome at what they do.

But what if awesome is desired?
What if there isn’t much passion? How do you enable a team to be passionate?

I expect that an organisation can provide a space for motivation – through things like autonomy, mastery and purpose.  These seem to be things that will drive and unlock passion.  But it will always be an individual action.  The individual has to take the step to want to learn more, want to get better – and can see that there are other ways of doing things that are worth trying.  I do imagine being surrounded by a team of passionate people could help ignite passion in others.  But it still will always be an individual choice to engage.

Passionate about agile?
At the agile coaching retreat (http://sugsa.org.za/agile-coach-retreat/) in November I proposed an open space on developer skills in agile software development.  The end result of that conversation was – go and find the passionate people and harness them to grow a critical mass – at least in the environment you are in.  As without the passion and desire you will often be wasting your time.  Passion is key to trying hard to learn and get better at something.

And me?
What I’d really love to do is start a team where a key hiring / entry requirement for everyone was the passion to do agile software development right.  I think that would be a recipe for true awesomeness.

Advertisements

Interesting Times – A Positive Story

In June 2010 I took over a project with a reasonable amount of trepidation.  There were a couple of reasons for my reservations.  Not the least of which was my search for what I wanted to be doing and taking this on would be a commitment that I wasn’t sure I wanted to make.  I made the commitment and over a year later I’m incredibly happy with what we have achieved.

When I took over the project several other project managers with far more experience had not succeeded in making a real success of the project.  Technically it wasn’t beautiful. After having taken on a large client performance issues had arisen which had taken several months to fully bed down.  I was taking it over at the tail end of this.  And there were other issues that had led to the client being at a low point in the trust of the team.  Though they had great faith in certain individuals but that was part of the problem.

The first thing we started doing was introducing Scrum.  This exposed a couple of problems:

  1. The team “knew how to do it all” already.  (They didn’t)
  2. Some individuals couldn’t break anything down beyond 3 days – and objected to questions around this.
  3. It was almost impossible to lock down scope for a week – let alone 2 weeks so sprints were difficult.  There was a lot of smoke but few real fires to put out.
  4. It wasn’t clear what exactly needed doing to deliver a quality release.
  5. We couldn’t deliver a quality release due to lingering quality issues from an earlier period.
  6. We had no PO.
  7. The client had experienced working with me on another Scrum project and initially assumed that it was me that was important – not the process.  They were impatient for success.

Our first big release after the performance issues were fixed was a disaster.  1 month of work to “finish” the last parts of a module generated 2 months of work to get it really done.  This was largely due to those who in theory knew what needed to be done didn’t actually know what needed to be done – both in the team and at the client.

Jump forward 6 months. Some things changed.  Some people changed.  I took on the role of SM and PO in order to force the backlog generation and to get a handle on the chaos.  We made a quality release.  The team was much more enthusiastic and fired up.  And for the rest of the year we’ve gone from strength to strength.

How was this possible?

a. My management supported me.  I beat the PO drum over and over and over again.  We needed one.  I would do it in order to achieve a manageable backlog, but we needed one from the client.  In February – after this first quality release – we had our PO and this has taken us from strength to strength and proven the value of having a known backlog to groom and work on.

b. We focused on what we knew we had to do and made sure the client knew what we had to do.  We embraced change, but made sure that the client understood change wasn’t free, dates or other scope could be affected.  We were completely transparent with this.

c. The new team became a real team and the team started to deliver greater than the sum of the individuals.

d. We removed the ambiguity.  Initially this was by going a bit more big design up front in order to force the client to stop randomly changing direction and blaming the lack of delivery on the team.  This is something we’re now looking at changing in order to remove some of the waste around this.

e. The team had quality issues that they worked hard at resolving – through bug analysis and retrospecting every time there was a problem.

Moving forward we started unit testing properly.  We haven’t conquered everything in the system to be unit testable, but we’ve made a good start and keep on opening up new things to try or fix.  But the team is positive.  They have tackled quality in deployments and come up with solutions to ensure we don’t miss things.  They have been proactive and keen to get better.  The team takes pride in solving the issues that are raised up in retrospectives.

We have been able to move to 2 week sprints.  We have been able to manage support in an effective way and reduce it to a minimum as much as possible.  We have a full time PO and we can plan reliable deliverables with known scope given enough detail and time.  We have become solidly predictable with high quality.

Fast forward to last week. I’ve just come out of a client visit. They are keen to keep pushing the envelope – to become better, faster, more agile, more productive.  They are keen to try more frequent deployments and to force the team to think about how to achieve that.  They want the flexibility and the ability to get software live faster safely if needed.  They are keen for the problems with deploying more often to rise up so that we can confront them.  They trust that we want to do better.  And they want to not limit us from getting better.  And they know that if we get better we’ll get faster, once we’ve learnt how do to some of these things – like being able to deploy every month.  Hence maybe needing a full test suite and investing in that.  That trade-off will be interesting to see how it comes to a head.

We’re also looking at making ourselves more effective by embracing change more – not worrying as much about specs and sign off which were all needed to rebuild the trust – but to start being more agile in requirements generation together as a team with the PO.  Of course with embracing more ambiguity comes less rigid date based plans but deploying often will help us not need that at all.

This is all quite a step from where we started over a year ago.  We now have a client encouraging and supporting the team to look at how better to be agile – to solve some of their real world problems that they are seeing.  They trust that we can achieve more than we’ve already achieved.

There are interesting times ahead for this team.  It is a pity I won’t be around to see this next year.  But I’ll be watching from the side-lines cheering them on to be more agile and to push the envelope of their capabilities.