Thursday, February 09, 2012

Heresy: My warped, crazy, wrong version of Agile

I increasingly feel that the way I interpret Agile, the practices and the processes, if different to the rest of the world. Perhaps this is just self doubt, perhaps because I started doing Agile-like-things before reading about XP or Scrum, perhaps this is because my version has always been more informed by Lean, perhaps this is because I have never achieved Certified Scrum anything status, perhaps because I’ve never worked for ThoughtWorks, perhaps because I hold and MBA (and thus have an over inflated opinion of myself) or perhaps I’m just wrong.

Yet clients of mine report some success (I even have a couple of case studies). Perhaps this was despite me rather than because of me. In the past I’ve described two of my own Agile systems - Blue-White-Red and Xanpan, these are my attempts to describe how I see the development working without being constrained by other systems (sometimes I think of own-brand-cola methods.)

Here is where I feel I differ from the Agile mainstream, or perhaps, just Scrum:

  • I don’t it is wrong to carry work from one sprint/iteration to the next
  • I don’t believe in Scrum Masters; where Scrum Masters exists I think they are a kind-of Project Manager; and I believe Scrum Master Certification is a con (but I would, wouldn’t I?) that is potentially damaging the industry and Agile
  • I don’t believe team Commitment works, its too open to gaming
  • I don’t think Agile has cracked the requirements side of the business, we’re working on it, things are getting better
  • I don’t believe Agile has cracked relational database management system; but I think much of the problem lies with the DBMS vendors
  • I don’t believe Agile Coaching is different enough from Agile Consulting to justify the name
  • I don’t really believe in offshore-outsourcing; OK, it can work but the companies that use it seem to be those who shouldn’t and those who are equipped to use it don’t need to
  • I don’t believe you can tell how long a piece of work will take (or how much it will cost) until you start doing it. And I believe it is wrong to pretend you can.
  • I don’t believe Scrum (specifically) really understands the requirements side; and I believe the Scrum Product Owner is a pale shadow of Product Manager role which is (often) needed
  • I don’t believe in One Product Owner to Rule them all; on a large development effort the Product Owner role needs to be refactored (damn, I need to blog more about that)
  • I don’t believe all companies can, or will, make the transition to Agile; but that many of these companies will stagger on for years while more Agile competitors take their market
  • I don’t believe Agile will ever work in Cobol teams, or not Agile-as-we-know it; anyway, Cobol teams which still exists are highly adapted to their environment.
  • I believe Agile is a dirty word in some circles and has been used and abused; but I don’t believe there is an alternative (at least not right now)
  • I don’t believe the Dreyfus model of learning is the right model for Agile, I think it makes work for consultants and creates Learned Dependency, I prefer the Constructivism model
Its not all bad, there are some things I believe:
  • I believe Agile means “Better”
  • I believe the Agile Manifesto is a historic document like the US Constitution, and like the constitution we can read all sorts of meaning into it, depending on who you are you read different things. But there is no Supreme Court to arbitrate on whats-what. So Agile is “what I say it is” - or maybe, like “art is what artists do”, “Agile is what Agile advocates say it is”
  • I believe Agile is, and always has been about flow, some people might not get it, and the some in the Kanban crowd might have come to it late but its always been there
  • I believe in breaking User Stories down - I mean, I’d love it if teams didn’t have to break them down and I aim to take them there one day, but its a long journey
  • I believe the Product Owner role is far more important than the Scrum Master
  • I believe “Project” is an accountancy term that has wrongly become attached to development work
  • I believe in the Planning Fallacy
  • I believe Developers are the centre of the process, ‘Work Flows Inward’ as the Pattern says
  • I still believe in Story Points, or rather, the things I call Abstract Points
  • And I believe Abstract Points should be assigned to task; I don’t believe in using different currencies for tasks and stories (i.e. don’t use hours for tasks and story points for stories)
  • I believe planning meetings, work break down and assigning points is as much about design as it is about work scheduling
  • I believe engineering quality is essential to achieving Agility
  • I believe in Software Craftsmanship and don’t think Agile will ever work if quality isn’t fixed
  • I believe every organisation has to define its own version of “Agile” - you can’t take Scrum (or any other method) off the shelf
  • I believe too much advice and consultancy can stifle an organisation, I believe in light-touch consulting to help companies find their own path
  • I believe that in many companies - corporate IT departments specifically - the right approach is to “do things right, then do the right thing”
  • I believe when you apply Agile thinking outside of IT it is Lean
  • I believe speaking out against Scrum is bad for the reputation and the Scrum Mafia will come after you in a dark alley
Gee, this starts to sound like Allan’s manifesto! Anyone want to sign? :)
- OK, the last point was a bit of a joke :)

I’ve linked to some blogs and such where I have previously discussed these items, and I might expand on some in future. Many of the issues raised here are complex and I really don’t have the time to explain them right now, so next time you see me ask me to discuss.

10 comments:

  1. Allan, I seriously believe this is one of your best posts yet.
    Love it.

    ReplyDelete
  2. The Blue-White-Red and Xanpan links are broken

    ReplyDelete
  3. Thanks Jason, links now fixed.

    Thanks Scout :)

    ReplyDelete
  4. on projects: I believe this idea of projects was imposed upon software development by other parts of bsuiness. I did an incremental development workshop recently for non-developers in a business: finance, hr, etc. The feedback that I got from finance and HR was that they didn't believe this way of working is effective. They said that we don't have any control and the only way to get it is to plan a an entire project up front. I'm sure this works for us but generally doesn't work for creating software.

    on scrum: I'm hearing of teams who are having scrum imposed, rreplacing their own process. For one team, the old process worked. Scrum isn't working for them and the people doing scrum now have appraisals that judge their performance against the documented process. If they are doing a good just, but aren't following the official process they get poor scores in their review. This seems very anti people to me. Of course, this isn't scrum's fault. It's a problem with management.

    ReplyDelete
  5. This is the first time that I read your blog and I think you are right, absolutely right.

    ReplyDelete
  6. My comments:

    1) I don´t think the sheer existence of Scrum Masters is an evil in itself - the problem arises when people expect behavior and/or results from an SM that would be otherwise better suited for a Project Manager - and then, all the effort to separate the responsibilities of a PM in three different roles go down the drain;

    2) POs far more important than SMs - agreed! In the long term, the PO is indeed more critical to a project success than the SM, but in the short term, I also believe that the SM should be present, because in the end he is the one with the responsibility to ensure that Scrum is properly understood AND applied. Looking from this perspective, one could say that one of the main tasks for a SM is to help the PO and make sure he understands what is (really) expected from him, and enable him to take the decisions/attitudes to make a project/product a successful one.

    3) I don´t believe in "your own version of Agile" - when a topic rises and discussion seems to be walking to a deadlock, I usually tell people who work with me to get back to the basics, and in this case, the basics I am referring to is the Agile Manifesto. However, I do agree that Scrum is not to be taken off the shelf - and as a matter of fact, I believe that the Scrum Guide itself encourages this approach, by stating that Scrum is a framework, and not a methodology.

    It is really a pity I have only come to know about your blog today - very good posts! Hope to participate more.

    Thiago.

    ReplyDelete
  7. Allan,

    I was going to post up quite a lengthy response to some of this but then I realized I am in fact a bit annoyed and would have only been pointing out the obvious holes because of this statement..

    • I don’t believe in Scrum Masters; where Scrum Masters exists I think they are a kind-of Project Manager; and I believe Scrum Master Certification is a con (but I would, wouldn’t I?) that is potentially damaging the industry and Agile

    Allan, I have always found that its necessary to have someone on the team who ‘clears the path’ otherwise there's too much noise on the team. Scrummasters are usually very busy people with a lot to juggle and very little of it has anything to do with Project Management. I like you believe certification is a con.. But then I notice you are a Certified Kanban Chappie… is this not slightly hypocritical? Especially when Kanban (as it pertains to software) is not especially complex i.e. I'm not convinced it really justifies having specialist trainers.. of which you are one.

    ReplyDelete
    Replies
    1. Thanks Anonymous, I hope Google knows who you are and can tell you I've replied otherwise I'm wasting my time.

      I'm glad my post provokes some thought, much of it is indeed hearsay but I think we should talk about these things more.

      Of course there are people with Scrum Master jobs, when I say "I don't believe in Scrum Masters" I'm not denying these people are employed as such. What I am saying is that I agree with Ken Scwaber when he says: "The Scrum Master fills the position normally occupied by the project manager. I’ve taken the liberty of redefining the role."

      That is the way I think most organizations interpret the role and I don't think good project managers would disagree with much in the Scrum Master role but they might claim some of that for themselves. I don't believe a Scrum Master is more than a particular type-of Project Manager.

      As for my certification: Yes, you can interpret this as hypocritical. Yes, for all the good it has done me to date my "Certified Kanban" status may well be a con. I've held this status for about a year and as far as I can tell it has made no difference to my work. In fact, you, Anonymous, are the first person to even comment on this certification so you might well be right.

      Delete
    2. Hi Allan,

      Hopefully not anonymous this time.. (naff submit form)

      Yes, I still think I'm right.. its hypocritical :)

      Delete
    3. Thanks Simon

      Submit form is Google's doing, not much I can do about that... well I could move this blog to another provider, maybe...

      Hypocrite, maybe, at least I'm aware of the possibility.

      Delete