Agile Forest

Find your path to agility with Renee Troughton

 

With the advent of Scrum.org releasing their new Scrum Guide I wanted to take the opportunity to give it some academic and opinionated discussion. I’m going to start with the notes related to the update. They start by outlining the major change to Guide that has resulted in a good portion of content being removed from it. A nice little analogy is used relating it to a game and how Jeff and Ken wanted the Guide to no longer be a strategy plus a rule book and just focus on the rules.

I am going to probably do one of my few positive reactions to this, in fact I applaud it. Most of the process driven Agile community has known for a very long time that there is a key difference between a process, a practice and a technique. The notes even hint at that a little down by dropping the analogy and specifically referring to practices and techniques.

So, and here begins my major issue, if the Scrum Guide is now no longer a bit of everything and is more closely aligned to a set of rules, then why call it a guide? Guides are something that you can follow but it is not considered mandatory. And yet rules are things that are finite and mandatory. This would have been better called Scrum Rules, or better Scrum Process or Scrum Framework. If you have a look through the actual guide what you may see if you have a strong process background is an overview (model), some key principles that feel a little out of place, roles and responsibilities, activities (sneakily called events) with alternate scenarios, FAQs and artifacts. It is a serious hodge-podge of information that makes me want to beat my head on a wall. It wouldn’t be so bad if it was logically set out in those groupings but it bounces around which would confuse a reader unfamiliar with Scrum. Audience is very important when writing and I don’t believe they have been taken into consideration here.

Anyway, as a general rule of thumb a process will always have an overview, roles and responsibilities, activities, artifacts related to activities and alternate scenarios. FAQs are usually separated out. So as you can see content wise it aligns very strongly with a process document. I suspect Jeff didn’t want to call it a process so as to get around the whole big problem of “Individuals and interactions over processes and tools” debate. If you call Scrum a process then people will feel that they can ignore certain activities due to the manifesto rule and if this guide should be considered a rule then there is a direct conflict of beliefs.

Back to the notes I want to go through some of the major described changes.

The team of people performing the work of creating an Increment is the Development Team. Regardless of the work performed by individual team members, they are known as Developers.

Okay, so what this is saying is continuing the belief that there should be no specialization within the team and everyone delivers working software. This is specifically outlined in the second bullet point of the Development Teams Roles and Responsibilities section of the Guide. More than ten years down the track where for so long Scrum pushed and pushed people into this cross functional mould where Project Managers were obsolete, where Business Analysts were obsolete and then testers were obsolete. Any Agile Coach who has been applying Agile for a very long time now, including pure Scrum implementations would tell you that this single minded focus on generification is just not working, is unrealistic and is starting to get be strongly pushed against by Kanban’s recognition of specialisation. Furthermore, when you apply Scrum to a non Information Technology domain it just doesn’t make sense to call team members Developers.

Development Teams do not commit to completing the work planned during a Sprint Planning Meeting. The Development Team  creates a forecast of work it believes will be done, but that forecast will change as more becomes known throughout the Sprint.

I am not sure how I feel about this one. Basically it is saying the team is never committing to anything. From a customer expectations perspective try and sell that one. And yet, things do crop up that means delivery isn’t to expectations. For me I bring this back to a stable Sprint velocity – sure it won’t be exactly the same from Sprint to Sprint but it should be somewhere in the ballpark to make a commitment.

Scrum does not mandate a burn down chart to monitor progress. Scrum requires only that: Remaining work for a Sprint is summed and known on a daily basis; Trending toward completing the work of the Sprint is maintained throughout the Sprint.

Okay so a mandatory activity is now an optional activity, which is nice because this is one of those activities that I felt added little value and preferred tracking as a burn up of each sprint’s velocity. I know that the point of this is to give a definitive metric regarding where delivery is against expectations within the sprint but really it is a simple feel that you can get looking at the cards visually on the board against flow. You don’t need a chart for this when you can visually see it in front of you and ask the questions based on that.

Release Planning is a valuable thing to do when using Scrum, but isn’t required by Scrum itself.

OMG. Seriously? Deep breath…. seriously? I recall how I cringed in CSM training when Jeff talked about the backlog and never explained how on a greenfield project it magically came into existence. To get a well formed backlog into place is an art form. So the above statement isn’t saying it is not important, just that it isn’t important enough to be a rule officially part of Scrum; so sad.

The Sprint Backlog is the Product Backlog items selected for the Sprint, plus a plan for delivering them. There is no longer a required concept of “Sprint Backlog items” although that technique can make a great plan. A self-organizing Development Team always has a plan.

Err okay. I think the test underlying this change may have been flawed. They way it is described as a test is confusing and misleading (what are those ‘to do’ items – stories? tasks?). This decision is probably what has resulted in the removal of a sprint commitment. No sprint backlog means no commitment. Let’s say you have 53 stories in the backlog – that’s your product backlog. The team plans to deliver the first twelve stories. That twelve is then your sprint backlog; there isn’t any magic or trickery behind it; it seems bloody simple. It almost seems like this is being done to soften the ‘no changes are made that would affect the Sprint goal’ rule.

The Product Backlog is “ordered”, instead of “prioritised” providing flexibility to the Product Owner to optimize value in his or her unique circumstances.

I had to look up the detail behind this one. It reads quite well and you can almost be convinced. And then you take into account some of the more recent graphs coming out of Alistair Cockburn (sorry I tried to find a cite, but the structure of the site is a mess) showing that at the start of the project, whilst you don’t have the building’s framework setup you need to prioritise in accordance with risk rather than value, but the curve changes as some of that risk is mitigated and there is a point where value trumps. The reality is likely that ordering a backlog will take the risk vs value aspects into account and order in accordance with that. So, is the change because of the understanding of this graph or is this change because value isn’t always trumping and so they wanted to create a new paradigm to address it? I guess I shouldn’t care as long as there is an ordered backlog and it is ordered with a balance of risk and value in mind.

Lastly /goodbyewave to “Ham and Eggs” restaurant.

Just do it!Six years ago I was in a fitness craze trying to return to pre-baby body shape. I would go to the gym and do a number of classes, lift weights, cardio etc and probably did about 10 hours of gym work a week.

A friend wanted to give Bootcamp a go and despite me already feeling very fit I somewhat reluctantly agreed to go along at least give it a try. Ca-ching from my purse I set off for my tri-week bloody early sessions. These sessions started at 5 am which in itself was a dedicated committment given how much I love sleeping in. But the thing that got me out of my bed to do it, session after session of absolute agony, was because I was paying a lot of money for it; I had a financial investment that I wasn’t going to waste.

Now despite being able to do several cardio workouts at the gym without too much stress I was amazed at how unfit I felt whilst doing those first few sessions. I remember vividly on the first run that I was constantly on the verge of throwing up. I remember thinking how loopy I was one session for being part of a man made car – two people in the front holding a large Koppers log, two in the back doing the same, connected by rope and holding up three tyres whilst jogging – CRAZY!

I did things I never thought I was capable of. For the first time in my life I was able to jog; and not just jog, but being able to do it without a limit.

Why was I able to go beyond bounds of what I thought I would ever be able to do? Two words – my coaches. When I was tired they pushed me. When I wanted to give up they pushed me. When I wanted to take their skinny little throats and squish them for pushing me they pushed me. They weren’t the in your face type of coaches that are stereotypical when you think of bootcamp and associated it with an army training corps. They were supportive whilst never giving you an inch to give up. They encouraged and they cheered you on when you thought you couldn’t take another step.

So how does this relate to Agile coaching? Many people think that Agile coaches should not be evangelists, they should be pragmatic. The ten year Manifesto re-union had the authors wanting to only change the manifesto to say ‘And we really mean it’.

What can we take and apply from Bootcamp coaches?

  • Never let your team give up, even if they want to
  • Have a driving passion for Agile that invigorates all of those around you. This doesn’t mean you have to be a zealot, it means that your passion is contagious.
  • Encourage, encourage, encourage!
  • Celebrate when your teamies obviously are stepping out of their comfort zones and are being successful at applying your lessons
  • Measure success. Measure where you were and where you are now.
  • If all else fails, drive behavioural change fiscally. If a leader, for example, really wants to change something like ‘Stop finger pointing’ then have them commit to put $5 into a team jar each time they exhibit that behaviour and let the team know of this challenge. They will learn quickly to change when it hits the hip pocket.
  • Let converters tell their stories to others. Did this blog just make you want to get fit again?

What would 17 peeps do in a Jacuzzi you think?Ten years ago some smart guys got together to find what they had in common despite being to some extent competitors to each other. I like to think that whilst at The Lodge at Snowbird ski resort that they jumped into an extra large jacuzzi and sorted their differences to find their passions that aligned.

At the end of their bubble bath they had reached enlightenment and defined the Agile Manifesto and named themselves the Agile Alliance.

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

I was greatly anticipating hearing where the Agile Alliance group would say as part of their 10th anniversary re-union at Agile 2011 Salt Lake City. Admittedly my information was limited to second person discovery or tweets and I didn’t expect anything dramatic, but some contention or even one person standing up and having the courage to say ‘Hey maybe we could have fixed the wording a little to suit audiences other than software developers’ would have been good.

So for a lack of seventeen people taking the stance that there could be an element of imperfection (or dare I say it taking an iterative focus to constantly refine it) then I am going to give it a crack:

Manifesto for Agile Solution Delivery

We are uncovering better ways of delivering solutions and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working solutions over comprehensive documentation and meetings
Customer and team collaboration over SLAs, KPIs and contract negotiation
Responding to change over following a plan

Constantly reflecting and improving the way we work over following a process without understanding why

That is, while there is value in the items on the right, we value the items on the left more.

Why the changes?

  • Agile isn’t just for software development. It’s application has now broadened to include other areas of IT including hardware, services, process improvement and for a large number of people it is being applied outside of IT into other domains. I can appreciate its origins, but some of these origins are in Lean and blending Lean and Agile together has given us a really strong framework.
  • This framework has broadened the practices, techniques and tools that we use to implement Agile. Each month it alters a little and I think that is a great thing. I don’t see Lean broadening itself to take on other approaches. In some way it risks diluting the original purpose of Agile. In some way it can be debated whether this dilution means we are following Agile or something else altogether. For me, it is about bringing the right tools for the problem. I don’t care what it is called, but for the moment let’s stick with Agile being an umbrella term. The new added manifesto item for me is this constant refinement – not just of Agile itself but of how we apply Agile. I know it isn’t worded right, but the concept I am trying to get across is that we are dealing with Complex Systems and thus the only way to improve is through a reflective improvement framework. Alistair Cockburn said it best with his Oath of Non-Allegiance – it’s about finding the best solution for the current situation.
  • Team collaboration is just as important as customer collaboration, but I guess this could be covered off by the Individuals and interactions over processes and tools statement.
  • Only a small portion of the development community have any relationship or reference to a contract, so I expanded it to include SLAs and KPIs/KRAs
  • Change of wording for software -> solutions
  • Change of wording for development -> delivery
  • Addition of something about meetings. All too often I see teams complain about Agile because of the sheer number of meetings with perceived low value. Collaboration is important but not at the risk of reaching consensus perfection. Get your 80% value from the meeting and then shut it down.

Should the Agile Alliance take a step to re-write the Agile Manifesto?

If you are interested in other variants take a parody focus of the Manifesto for Half-Arsed Software Development or Manifesto for Software Craftsmanship.

P.S. Sorry for the delay in a post. Computer failure, followed by a cold, followed by a brief holiday, followed by many podcasts for Agile 2011 are poor excuses but I am using them.

The Borg CollectiveStar Trek’s The Borg have a few things going for themselves.

The first is that they ignore concepts/cultures/planets that are already well understood. They only seek that of which is new or different. I liken this to Alistair Cockburn’s Oath of Non-Allegiance:

I promise not to exclude from consideration any idea based on its source, but to consider ideas across schools and heritages in order to find the ones that best suit the current situation.

We should always be seeking a path of thought that results in value. But we should not be always seeking for a new shiny just because it exists. This is a fine line, consider what is out there that might help us, but don’t forget everything we have already learnt already that works well. Now the Borg’s approach to gathering this information isn’t the best example, especially given that at the point of assimilation all innovation in relation to that practice or technique was halted. When looking at something new as an Agilist don’t forget to potentially innovate the idea further!

The second concept that I love about the Borg is the idea of the hive mind or collective thought. All too often the conflicts that we see within a team is as a result of misunderstandings between people. If we all understood exactly what someone was thinking all of these frustrating dramas would not exist. Alas a collective understanding won’t happen through any means other then bloody hard effort on the part of the Agile team.

Team members need to appreciate that everyone is unique. Everyone thinks differently. We are influenced by our childhood, our basic neurological pathways, our friends, family, core beliefs and our passions. When collaboration is not at its most optimum is the time that we need try and take a step into the other person’s shoes. Take a breath and count to ten and react from logic (like the borg) rather than emotion.

The third concept about the Borg is that they worked well as a team, always focussed on a common goal. Thinking about their motivational factors from Daniel Pink’s Drive work – autonomy, mastery and purpose, those little nanoprobes had their work cut out for them. Autonomy was taken out, their purpose wasn’t very transcendental, but their mastery motive was very strongly in play with a constant search for perfection.

The last concept about the Borg that I like is their perseverance. They believe their approach is right and their passion towards reaching that goal is limitless. Now in natural culture change if someone doesn’t want to go Agile then it is going to be a tough struggle and unlike the borg, sledgehammering an unwanted approach is never a good idea; but despite all efforts of resistance to assimilation the borg never gave up, even coining the catchphrase ‘Resistance is futile’.

Checkout The Agile Revolution Podcast

I know there has been a slump in blog postings from me recently but there has been a reason that I am very excited about. After much blood, sweat and tears (by Tony) I am now proud to present the first few podcasts of  ‘The Agile Revolution’.

Tony, Craig and myself are hoping to get some regular Agile focussed podcasting up for the community. These will have us chatting about cool blogs that we have found, focussed and in depth conversations on Agile related topics, practices, techniques and most importantly questions from you!

We will also try really hard to get some guest presentors in the mix, so let me know if you have an interest and what you have a drive to present on.

The first episode is a bit of a belated look at the June Agile Australia conference, whilst the second episode is a start of a regular format.

What do we need? Questions and feedback from you! So please have a listen to podcast and give us some feedback on what you would to see more and less of. Most importantly we need some questions from you to answer whilst in the podcast so send them through to podcast@theagilerevolution.com or tweet them to ‘TheAgilePodcast’.

The iTunes feeder should also be up and running within the next few days (for the iPhone users out there).

squeeze me

Hugs are free!

I cannot take credit for a sassy title. In a fantastic realisation by a number of Social Neuroscience experts at the National University of Singapore (Annett Schirmer, Keng Soon Teh, Shuo Wang, Ranjith Vijayakumar, April Ching, Darshini Nithianantham, Nicolas Escoffier & Adrian David Cheok) have proof that physical touch influences our ability to empathize with and support the toucher.

You can checkout the detail in their paper, but what I found interesting is that even a mechanical touch triggered this behaviour. A single audio tone has no improvement, but I wonder if certain melodies would?

From an Agile perspective – what can we learn from this? Harassment and discrimination laws discourage the use of inappropriate touching. This has pretty much lead to a social behaviour of fear to touch in case of it being considered inappropriate. But now we know that touching can enhance our ability to both empathize and to support, should we not try to utilise this?

What if we had a team agreement to hold hands whilst doing a daily standup? Or take it back to basics – really do a Scrum ‘huddle’ at our stand up.

What forms of appropriate touching can we introduce in our Agile practices to utilise this further?

I posted recently about my fascination with online role playing games and how some of what intrigues me is around the area of incentives.

This has had a bit of attention in the Agile space with Daniel Pink covering off motivation in his book ‘Drive’ but for the quick versions you can see his TED talk or checkout an animated version.

The general gist of motivation as explained by Daniel is that if you reward people based upon speed of task completion, the stronger the reward the more likely to have an inverse productivity effect. The reason? Work where any element of innovation is required, ie the solution path is unknown, is stifled by rewards.

Now Daniel says that this is due to the fact that a reward or incentive is promised. I wonder what the impact would be if there was just a push from a time perspective – ie rather than encourage a reward, try and get it done faster by saying the last team got the candle test done in ‘x’ seconds and put a big huge clock in the room counting it down.  I think that the same problem would occur, but would this be because the time pressure is stifling innovation or because the challenge itself is creating a human instinctual reward – “If I do it faster than that last group then it shows that I am smarter and if I prove I am smarter than I feel better.”

Daniel says that you are better to remove reward systems and replace them with innovation systems eg FedEx days to create motivated employees.

So how does this fit into online games? What motivates millions of gamers to play? Well naturally it is fun. FedEx days appeal to many because they are fun. Is it purely that simple? Make work fun and you have fully motivated and engaged employees? I’d say fun goes a long way to motivated employees but it isn’t the whole story.

There are many different elements of gaming that is not fun. ‘Levelling up’ being the one that comes foremost to mind. When you start playing the game, as with real life, you are an inexperienced virtual person. Through learning and using your skills you become better. Completing missions or ‘quests’ would earn you experience. Defeating creatures would also earn you experience. Each time you levelled up the experience required to complete the next level would increase.

Back in the ‘ol days of online gaming levelling up pretty much was a majority of the game, taking half a year to get one virtual player to the maximum level possible. There was a lot of push back from players and consequently this has been slimmed down over time to a few weeks to under a month assuming a player focussing 25 hours per week. (Sounds familiar – waterfall to iterative anyone?)

Individual’s rarely cheered or got a thrill when they completed a quest or defeated a creature. But levelling up was a big reward. Other players in the area would congratulate you, your virtual family (guild) would congratulate you, you would also receive a new skill or an improvement on an existing skill. This is likened to getting a very small promotion frequently. In Agile, quests would be like ‘done’ stories, where as levelling up would be more like a release or maybe an iteration showcase.

The second ‘grinding’ element of online games occurs once you reach the maximum level and begin having to save money to buy clothes or other virtual related items, for example, vehicles or mounts. This element reflects a capitalist life all too much where you must complete the same monotonous quest every single night in order to receive money. This sort of re-occurring capitalist related behaviour is already starting to be phased out of online gaming and replaced with ‘weekly quests’ or slightly random regular quests in order to be more engaging.

The last of the less motivating elements of online games is around a concept of ‘raiding’ and ‘downing bosses’. ‘Raiding’ involves getting together with a bunch of other people, usually from your virtual family, and working as a single unit to defeat a complex non player character (boss) that is a few levels above you. This often involves working in teams of 5,10, 20, 25 or 40. Like software development, the larger the team, the greater the complexity required to herd cats. Conceptually you can think of ‘downing bosses’ as a large point Story and completing all bosses in the dungeon as an epic or release. Bosses can take anywhere from a few hours up to sixty hours for the whole team to complete. Whole dungeons of bosses can take a few to several months of work to complete.

I remember fondly one particular boss that required utmost perfection. Not just of defeating him, but defeating those that came before him. The less you failed, the higher the rewards. It was an interesting concept and probably is the key tie to quality. But for this boss we spent around forty hours before he was finally defeated. The way that he was coded meant that each person had a role they had to fulfill and in order to defeat him it required everyone to fulfill their role at the right point in time with 100% perfection. Because getting together as a huge team took quite a lot of logistical effort we probably only spent eight hours a week on this fight and consequently it took five weeks to progress. A five week epic. And what happened when he was defeated? Riotous cheering amongst every team member. It went on for minutes. The high lasted for days. When was the last time you cheered at the end of completing an epic? When was the last time you were on a high for days for doing an iteration?

The complexities are the same. Working together as a whole team to get a particular outcome. So why is the engagement so different between the two? What is the reward in online games for such an effort? It often isn’t about the gear or financial rewards you get, it is about the bragging rights, it is about the sense of achievement. We can’t compare apples with apples here when we deliver a Story. No one else in the world is delivering the same Story to be able to say ‘Hey we delivered As a Call Centre Operator I want to see the all the products that my customer has in a single view, have you done yours yet?’ or even ‘We did it in 8 days, how long did it take you?’. We need to make sure Story completion is regarded as an achievement.

So how can we make work more fun and more rewarding looking at online games:

  1. On demonstrated skill improvements make a big deal. Go out of your way to congratulate those that made it.
  2. Go out of your way to celebrate a release to production and epics being completed. I’ve seen release parties for Waterfall. I don’t think I have ever seen this for Agile, we need to do it more.
  3. Regular, repeatable activities that require no level of innovation are not fun. Effort needs to be expended to switch it up more or vary the activity somewhat to keep an employee engaged and motivated.
  4. In a Kanban like system where we aren’t celebrating at regular timed intervals. This means we need to concentrate harder at celebrating success when an epic is completed.
  5. Challenge has to exist but not so much that a person feels overly stressed. Getting this balance is important, challenge encourages the need for innovation; innovation makes the mental part of ourselves feel rewarded.

Lastly let me leave you with this one thought. What if we weren’t paid an annual or fixed salary. What if we were paid on the Stories that we delivered as a team as a percentage of the Story’s actual returned value? What behaviour would it drive? There would be potentially lots of really bad behaviour out of this, but the one thing I can’t take my mind off thinking is that finally we would focus on real value. The metrics we would have to predict value would be a lot more thorough. Daniel’s findings suggest this would be a dreadful thing as tying a financial element to the work will have a negative effect, but if you have a fixed definition of quality and no time restrictions would it really not empower innovation? To me it would still drive innovation because we would be directly tied to ensuring that our delivery will result in optimal outcome of value for the organisation.

This one is for Mhano. Book 2 of 11 for the PMI Agile PM certification syllabus – Agile Project Management with Scrum by Ken Schwarber, 2004.

Okay well firstly it is obviously about Scrum and doesn’t cover anything XP or ‘A’gile related. Given that it is getting a bit on in age I thought there would be more that I would disagree on but surprisingly little has changed over time.

If you want to know Scrum it is a good start, but really there isn’t a lot of depth to this book with a majority of the book focused on case studies. Ken admits that that is his focus at the start and he leaves the first chapter and first appendix as the process and general rules of Scrum. He wanted the rest of the book to be more about the ‘feel’ of Scrum but really it reads like a number of notable failure modes or Scrum Master correction tips. Whilst some of this information is useful it really is the tip of the iceberg and there is not enough coverage of other information to recommend this for anything past a novice level of information.

Comparing it to the two day Certified Scrum Master (CSM) course, it is probably the same coverage.

Ken openly discusses in the first chapter that Scrum is an empirical process control, meaning software development is hard and consequently the only process we can rely on is visibility, inspection and adaption and then goes on to explain how Scrum fulfills this. It is a valid value proposition and well explained.

The book then goes through the key Scrum roles and a number of other Scrum terms as you proceed through the case studies. As always my main beef is not directly related to this book, but at Scrum itself. I loathe the term Product Owner. I feel it is a poor reflection of a commercial world outside of small software development houses. Rarely do you have someone who is the Project Sponsor, Business Owner and Business Representative in this one role. Merging all three is confusing and not a reflection of standard governance and delegated levels of authority.

Similarly I hate the term Scrum Master, but I also hate what it has done to jumble up the meaning of Agile Coach. They are different, but similar and I don’t know if it is doing us justice having this role. More importantly I fear that the role of Scrum Master is counter-intuitive to the generation of a self empowered managing team.

Nattering on, I also hate the term ‘Product’, specifically when associated with the backlog. This primarily is because it limits the application of Scrum to anything to do with ‘Products’. You can apply Agile and Scrum through so many things other than software development and so the term product for me just doesn’t sit right. Call it a work backlog and be done with it.

Maybe I slept in the CSM class but I can’t remember the strong enforcement of scrums having to be 30 calendar days. I’ve always just used standard lengths of iterations to what suits the circumstances. 30 days seems a little prescriptive. Burn down charts have also advanced away from what is described in the book with Burn Downs generally representing hours and points being burnt inside of the iteration and the release burn done going upwards against scope.

Similar to my major gripe with the CSM course there is no coverage of the art of generating the backlog in the first place, it magically assumes a fairly burped one out. This is an art. It is not simple and for it never to be covered anywhere is just sad. There is a very small reference to doing this in one day…. yeah. I am dubious of the quality of a one day created backlog for a greenfields project. There is definitely something in Feature Driven Development’s domain modelling that is missing in this picture.

The rules at the back are a little outdated but for the most part have their heart in the right place.

I was recently reading a thread on the Agile Alliance group on Linked In where Matthew Weaver was asking for some thoughts about why Waterfall is demeaned by those that follow Agile and Scrum. The thread to me got very interested when Scott Ambler brought some metrics to the argument.

Challenged: A project is considered challenged if a solution was delivered but the team did not fully meet all of the project’s success criteria within acceptable ranges.
Failed: The project team did not deliver a solution.
Ad-hoc: The team does not follow a defined process.

I must admit I was a little shocked by this graph. The variance between methodologies (please note I loosely use the word methodologies) and end results were really not different and a niggle grew in my heart – was Agile really no better than Waterfall? Was the likes of RUP better than Agile, seriously?!? Is the existence of no approach, chaos or chaordism (a sub-orderly version of chaos) really just ten percent less successful?

When you look at results there is only a 15% variation at maximum between all of the methodologies – this is by no means significant. When you take into account that non Agile methodologies are tackling the more challenging project types, is it any wonder that traditional and ad-hoc approaches have a higher failure and challenge rate?

At face value, these metrics are proof that we are fighting an unneccessary battle. These metrics are really suggesting that I should find a new career path tomorrow and stop blogging right now.

… hmmm…

Something is missing, or maybe I’m really more dogmatic then I think.

Let me make a little adjunct and go back to the future. I remember reading in depth the Cutter IT Journal Great Methodologies Debate in 2002 (side note this is a facinating read in retrospect). One article, ‘Agile Versus Traditional: Make Love, Not War!’ by Robert Glass took my fancy. As an ex-Waterfallist seeking mental support I saw this article as thoughtful. Not really for the content that it was but for the concept. Given that Agilists back then were referred to as ‘anarchists’, ‘revolutionists’ or as I heard often ‘cowboys’ an Agile implementation beyond a single team was fraught with great risk. These were the days that PMOs have massive amounts of power and control. These were the days that you had to placate Waterfall to some extent so that your transformation would not be quashed by the mass of old school methodologists. This arcticle was a means to support that. We had to pretend it was love and not war even though deep in our hearts we knew it wasn’t really the truth. People hate change and Agile was without a doubt a big threat on the change-o-meter.

But my Agile brothers and sisters – these days are gone! We don’t have to hide behind the big brother anymore. This is war! And until this strange beast of a methodology that was based upon building construction is purely a myth I will not rest in my war.

I will not take Scott Ambler’s logical, sound metrics and ignore the passion that I know is in my heart! I /spit on these metrics (no really Scott I don’t /hugs).

So where do I think there is something missing in this sound foundation? Well obviously over 170 people lied.

Okay probably not.

Then you might think that the term successful meant it was delivered but useless to the end user. Alas, when you read the questions and survey monkey results you see that actually most of the respondants were really passionate about getting the right result and responding to change.

So why do I feel so strongly about my war chant?

I think there are two key elements missing in the survey.

Number One: Were the respondants really, I mean really, doing the methodology they thought they were? I only say this because all too often I see teams that say they are doing Agile and when you delve into it in some detail you find that they are doing Chaos or Chaordism. What I would have loved to have seen was some form of maturity assessment against practices to see whether what they thought they were doing was really the truth.

Number Two: The big ‘A’. Out of the four methodologies in the survey (yes, yes Ad-hoc isn’t a methodology) only Agile is more than just a set of process steps and practices. ‘A’gile certainly has some underlying practices based upon the model(s) that you choose the implement but in addition Agile gives us core beliefs (manifesto), principles and values. This is what I feel sets it apart from the rest. We all know that emotional intelligence and treating people like assets rather than pieces on a chessboard makes common sense but Agile puts this into the forefront of everything. I truely believe that it is this focus on beliefs, principles, values, the way that it empowers people through servant-leadership, that results in Agile teams feeling more engaged. Engagement and fun are such highly intangible results that make or break people’s day by day enjoyment with respect to where they work. I would have loved to have seen the survey ask this question and where those teams sat against Industry benchmarks of engagement.

It is this engagement, passion, and focus on more than just processes and practices that sets Agile apart, that makes me fight this war so hard.

Viva La Revolution brothers and sisters!

Over the last few months I have pondered going for PMI’s Agile PM certification. Unsure of how dedicated to this cause I might be, I decided to at least start reading the eleven books on the syllabus and see how I felt after reading one.

The first one was “The Art of Agile Development” by James Shore and Shame Warden 2008. Unlike most of the other books this is one that I have not read and I wondered whether I would get much out of it other than an increase of my own Agile Data Dictionary (otherwise known as the mysterious wheel of terms that mean the same thing but are subtly different).

Because I am a ‘glass is at 50% capacity’ sort of person let me start off with a positive (yes I know that doesn’t make sense, but I just watched House and eww I’m still trying to mentally get over it). If you are a beginner to agile (note the little a) then this is really a good book to start with. It doesn’t cover everything, but it doesn’t say it tries to either. I would recommend this book.

The book is primarily focussed on XP practices. Now keep in mind that XP is at its heart exactly that – practices. This book takes the position that XP has evolved away from just the technical software development practices and is beginning to broaden its focus, albeit in this book it keeps calling all the other stuff practices too. This is where the big ‘A’ comes in. I like to think of Agile as not just either XP vs Scrum vs Crystal vs Kanban; I think Agile is taking what works out of all of them and applying it appropriately.

This book tries to take some of that ‘A’gile thinking and includes topics such as Energized Work, Trust, Slack, etc. This is definitely a good thing as I always found it odd that XP was so incredibly technical practice focussed, but you need to beware that a lot of the content that is being covered actually exists elsewhere in the land of Agile.

From a negative perspective the Practices by Phase table on page 21 made me want to shut the book straight away. It was there to ease the waterfall people but the association of practices to phases are incredibly wrong and most of the practices exist throughout the life of the project. The practices cross reference on pages 26-27 is equally cringe worthy with Scrum apparently the only other model for agile implementation.

Other notable thoughts as I read through:

  • Data dictionary #1 Energized work = Sustainable Pace
  • Data dictionary #2 Informative workspace = Information Radiators/Big Visual Charts
  • Root cause analysis… surely this is more of a generically known term and not an XP practice.
  • Trust… as a practice? I guess. It is a value to be upheld. Is upholding a value a practice?
  • Data dictionary #3 Sit Together = Co-location. Really the word co-location wasn’t used once?
  • Real Customer Involvement… apparently only at Analysis phase. Please can’t we have real customer involvement throughout?
  • Ubiquitous language… seriously don’t get me started on this one. Who in their right mind uses a term like ‘Ubiquitous’ to describe what should have been ‘Simple’ or ‘Audience specific’. This goes along with the weird term ‘Etude’ used throughout.
  • Data dictionary #4 Demo = Showcase
  • Reporting… as a practice? I can see Burn Up and Down as a practice but a generic heading of Reporting is a bit of a stretch. The help box “Only produce reports that are strictly necessary” should have taken up a whole page and that could have covered it better. Nothing in here about a Car Park Diagram, but then again that’s an FDD practice and this is an XP book guising as an Agile book.
  • Data dictionary #5 Done done = Definition of done. I am probably more familiar with the former than later anyway.
  • 10 minute build… love it! I remember having a problem with this one once so I was really happy to see this.
  • Documentation… again not really a practice and dare I really have to go back to the manifesto on this one. Thankfully iPhones have moved on since 2008 and most of us deal with documentation these days as simple snapshots uploaded onto a central project repository.
  • Release plan… it was nice to see the information on this subject represented how it was. One of my pet peeves in the idea that at the start of a project all the work is going to be scheduled into a detailed, Gantt chart like release plan. This section didn’t do this and really focussed more on the adaptive planning of the work.
  • Data dictionary #6 Planning Game = Estimation and Prioritisation. How I have always hated the term Planning Game. Nothing was mentioned here about MoSCoW or Planning Poker (or anywhere else in the book).
  • Risk Management… apparently only gets done in planning (thought the text later says otherwise).
  • Data dictionary #6 Performance optimization = ensuring you have the means to cover off the performance non functional requirements. Again, not really a practice.
  • Exploratory testing… old school software development stuff, not something that XP should claim fame to (not that the author is notably).
  • Practices by Role table is very poor, ignore it; or at least definately ignore the overloaded ‘Coach’ column.
  • Maturity Assessment pgs 63-66 might be useful /shrug
  • Not a fan of the concept of Step 3 in retrospectives “Mute Mapping” whereby you quietly group like themes together. Why wouldn’t you do it as you are facilitating?
  • Not a fan of only fixing one thing and only one thing in retrospectives. Why have this charade of listing everything that isn’t working and needs changing. Now I am not saying fix everything, but surely more than one thing can be fixed! Maybe this is why people have such a rough time following through on actions? Nah, it’s because actions aren’t written as stories and scheduled into the iteration and hence followed up.
  • Version control… old school software development stuff, not something that XP should claim. I was impressed however that they did talk about branching and advised against it – Yes! I feel vindicated after many years of saying no to branching.
  • Really controversial idea on page 240. Probably my only new concept from the whole book. When at the end of your iteration time box any partially done work should be deleted from the code base. If it is important the story will be carried over, otherwise YAGNI. I like how this would seriously focus the team on finishing work like the time box should be and would help with that little bit of time for slack. Reality will likely kick in and I will never see this idea happen.
  • Not much of a focus on operational/BAU/enhancements using Agile. Page 242 is the only one that mentions anything and even then it talks about Daily Iterations or having Batman come in.
  • Stories have moved on since this book was written. There isn’t much in the book about Features and nothing on Epics. There isn’t anything about the standard format. It does have the standard comment that stories are for only business work which is a school that I don’t agree with. What are you calling the IT stuff that has to be done guys?!? It was nice to see that regression defects can be handled through stories (another vindication).
  • I liked the idea that developers should expand their automated test coverage by spending more time watching how end users use the system.

Well, there you have it. One down, ten to go!