Fraternising with the Dark Side

I just stumbled upon this in the Scrum development newsgroup:

On the Scrum Trainers Yahoo site, this was posted in reference to Halliwell’s blog by a trainer who trained Halliwell in Scrum.  I removed the trainers’ (last) names (by the way, Halliwell did soften his rhetoric in a followup blog entry):

Interesting. Paul and I [presented] a course at his company a week or two after his post and he introduced himself as someone who was a Scrum skeptic. By the end of the first day, in the retrospective, he said that he had got more out of the course than he thought and by the end of the course he felt it was useful despite declining to be a CSM.

The fact that he declined CSM status was still interesting because he obviously couldn’t bring himself to go along with something that he clearly disapproved of but that seems to be more of a philosophical issue while the more practical issues did come out and were at least addressed a little.

I would be interested to know whether his beliefs are still as strongly negative now but don’t see a post from him since the course he attended.

Yes, it’s shockingly true!  We had some trainers up for a 3-day CSM (Certified Scrum Master, for those of you that haven’t been drinking the kool-aid) course, and I went along!  My team doesn’t use Scrum, but I had good reasons to go:

  • For all the ranting of my original post on the topic, I am genuinely very open to learning and trying new ideas.
  • My team interacts heavily with teams in the company that are using Scrum, so it’s useful to have a good understanding of it.

I’d really hoped to get away without posting again about Scrum, or Agile.  For one thing, I’ve had so many comments to read and think about over the last couple of weeks that I’ve not had much time to write anything new.  Furthermore, I really want to cover some more domain-specific/game-development stuff and not let this turn into a blog about Agile or Scrum!
But when I saw this message, it just seemed to deserve a response: these trainers were genuinely very decent people.


Firstly, in no particular order, my impressions of the course itself:

  • It was a pretty good 3 days overall.  I thought the actual “taught” content, i.e. the basics of Scrum, could probably have been covered in a day: some of it dragged on a bit (stuff that I consider to be real common sense).  The best part was having a group of people free to discuss things away from day-to-day development, with an excellent facilitator (something that had nothing to do with Scrum, I can’t help noting).
  • I picked up a few good ideas for improving the way my team works.  More on that later.
  • The trainers definitely misunderstood us as an audience early on in the course, dedicating a lot of time to explaining how Scrum is better than waterfall.  I guess this is something they have to hammer home to some teams, but waterfall has never been a games industry thing!  They probably would have been better off showing how Scrum offers a bit of structure and discipline to seat-of-the-pants development teams, without getting too heavyweight.
  • I was severely disappointed with what the trainers had to offer when we moved onto topics around the sheer size and complexity of our projects.  There are probably two key factors in this: firstly, our projects are about 4 years long, with 50 to 100 development staff during production (as a very rough order of magnitude). So we had a lot of questions around how to get multiple Scrum teams working smoothly together.  Secondly, we have to build a substantial amount of infrastructure.  Game technology simply hasn’t matured to the extent that some other fields have (such as web development).  Working on an ambitious modern online game project is a little analogous to working on a web project where you have to build the web server, web development framework and database server code from scratch.  There’s a scary amount of underlying work that you have to do before you can even begin to build stuff that matters to users.  This made their vertical slice/user story advice a bit useless, at least early in the project, when taken literally (which they seemed to want us to do).  I’m not sure to what extent this is a limitation of Scrum, or just these trainers.  I’d really love to hear from people with experience on big projects with lots of infrastructure.  I’m well aware that we’re not unique.
  • One thing I’ve noticed recently when writing is how careful you have to be to distinguish “agile” from “Agile” – and when you sit through a course, the problem suddenly becomes infinitely worse: there’s no way to express capitalisation in speech!  I did think the trainers pulled a fast one a few times when they effectively argued “if you’re not Agile, then you’re not agile” – and I wouldn’t have noticed this if I hadn’t put so much care into capitalising my blog posts in recent weeks!
  • There were a few moments when I was irritated by the hype/religious attitude.  For instance, they closed some lines of discussion with “that’s just not Scrum” rather than talking about what’s best for the project and why.  There were also a few bits where they hinted darkly at “traditional” ideas, without specifying what these were – for example bashing “traditional plans” and talking about how much better Agile plans are.  The trouble with this is that if you press the point, they can always claim “traditional plans” mean waterfall-based software development, in which case they’re right.  But at the time it makes it sound as though Scrum is somehow better than anything that’s ever come before, as though Scrum takes all the credit for the concept of developing iteratively.
  • Their in-house enterprise software background seemed to show through at a number of points, slipping into too much business app jargon – although to their credit, they did seem to grasp the importance of “fun” to our work, and had put a little thought into how Scrum could help with that.

So much for the course.  I guess the original question was really, what do I think of Scrum now?  And why did I decline CSM status?

Well.

Let’s start with CSM status.  This is really the most distasteful thing about Scrum for me, by a long way.  For one thing, there’s the name, which really is just silly (doesn’t help that I’m a keen amateur rugby player, for sure!).  But worse is the commercialism.  It feels a bit like joining the bottom of a pyramid scheme (it’s “free” for a year but I guess it’s really part of the course fee … and yes, you can move up to being a certified coach or trainer, costing you far more but permitting you to make money off the bottom rung … come on, just look at it).  No matter how good the course, the idea of being “certified” after 3 days is ridiculous.  Being a Scrum Master and doing it well, I’m sure nobody could disagree, is a complex task requiring intelligence, good judgement, people skills, and no doubt many other things.  Sitting in a room for 3 days and listening to a trainer is not.  What does it mean to be a certified CSM?  More or less nothing of any significance.  Mostly for these reasons, I declined it.

As for Scrum itself, I don’t think I’ve changed my mind that much.  That’s not to say I’m necessarily angry with it: my original post was deliberately and provocatively angry, achieving my goal of triggering some fascinating debate and discussion (admittedly at the cost of offending some people … oops).  If we’re talking about the core ideas of Scrum (ignoring the silly terminology and commercial/trademarked front), I do think they’re mostly quite sound.  But I think they’re just one of many possible ways of doing development in a healthy way that respects the same underlying principles.  So I don’t fully agree with their rigid packaging, although they probably make a reasonably decent out-of-the-box starting point if you’re starting a fresh project with the right characteristics and the right people.

The course also reaffirmed my suspicion that Scrum works best for teams of smart people who do the difficult parts and use their intelligence – the very people that don’t need Scrum in the first place!  Meanwhile, there are numerous cases of teams that get it wrong.  What I haven’t seen is evidence of Scrum taking less-capable teams and helping them run well.  The trainers demonstrated this point perfectly at the end by saying something like “Remember, Scrum does not fail.  People do.”   So, er … what does Scrum offer, exactly?  If you’re going to take credit for success, you have to take at least some responsibility for failure.  Personally, I could actually accept this line – I’m more suspicious of the credit for success part.

Did I change my mind about anything?  Yes.  I definitely gained more respect for the self-organising team concept.  I can see how daily meetings could be useful for some teams, in some situations (I still don’t see the value for my team right now).  Involving the whole team in planning sessions seems fantastic, and we’re going to start doing that at the next opportunity.

But Scrum is still, definitively, not for me.

This entry was posted in Management, Software development. Bookmark the permalink.

3 Responses to Fraternising with the Dark Side

  1. Gabriel C says:

    Nice to hear your experience.
    In my case, although I think some of the agile practices are valuable, I’m totally repelled by the way they’re marketed, sometimes it’s like a religion or cult: either you’re one of them and you will be saved or you’ll burn in hell.
    And of course, every methodology compares itself against waterfall: is the only way to look better🙂
    If you want a development process for a game development team, I would look into (R)UP or a similar approach.
    Not to adhere to the whole thing to the letter, but the core ideas: somewhat short iterations but with different goals.
    I think it could be something like:
    – develop the proof of concept and requirements
    – develop the core engine and the basic levels
    – develop the complete game
    – adjust the game details for final launch
    (I have more ramblings about process in http://gabrielsw.blogspot.com/search/label/RUP)

    No process is “one-size-fits-all”,and you can’t use the same process to create a web shopping cart and a nuclear plant control software. Ironically, most of the “Agile” zealots I found forget the “people over process”…

  2. Michael says:

    Interesting.

    The point about vertical slices is not that it is a “rule” in Scrum, but more of a “principle”. I would have thought in the games industry that there is a large associated risk between continually building and rebuilding large amounts of horizontal functionality like (for example) a gaming engine? the principle of Vertical slices is to use them to gather feedback, reduce risk and constantly prove your emergent architecture. This prevents you getting 2/3rds into a project with a dodgy technical risk that could kill it or cause you to have to start again from scratch. (Duke Nukem Forever anyone?) The principle is strong – there is just many ways of handling it.

    Scrum basically gives you a minimum project management feature set. It does not tell you how to design your game or how many Axes your barbarian can carry – that’s up to you.

    I would say, that you can’t expect a trainer to be an expert in all areas of software development – they’re not god. What they can do is talk to you about Scrum and what they’ve done, and then you take that knowledge forward. it’s as Ken Schwaber said “This course has told you to think and act within the principles of Scrum. Very few decisions are worse then none” – you listen, nod, and then from the experience make your own decisions – sounds like you don’t like Scrum, and I’m happy for you in that.. groupthink sucks (and I can say that as a Scrum Advocate) it takes all types to make up the world! Just remember we need to fit into our professional worlds and businesses – I’ve seen turnover rates in companies of 10-15% of people after the introduction to Scrum… so sometimes we have to hold em (Keep our head down and do it) and sometimes we have to fold em. (Walk out and find somewhere better)

    Remember that a certification course has required material, I would guess (but could be wrong) that is why the front end was loaded with “hearts and minds/waterfall is bad” conversations – next time perhaps you guys should do some coaching sessions instead? You can’t moan at Scrum Trainers for telling you about Scrum though! – “That’s not Scrum…” – Thats just rather bizarre. If you want lessons in game development then that’s a different subject.

    Finally, The ScrumAlliance is adding an exam in March, so they’ve listened to what people like you have said re: certification. I do find it odd that you pick on the SA for what is absolutely standard certificating organisations practices (PMI, PRINCE2, DSDM etc etc, MS Certified etc)

    P.S. I would be interested to hear if you have a University degree or not – I found anecdotally that “Self taught” developers seem to have a chip on their shoulder about any form of paper qualification – normally because this means they do not make it through the paper sift that happens with new jobs.

    • lukehalliwell says:

      Michael, you’re right that there is a large risk with building horizontal functionality like a game engine, and we’re painfully aware of that. However, it doesn’t necessarily follow that you can just turn to vertical slices. It’s a great principle, but you need a certain amount of horizontal stuff too – and the trainers we had seemed to treat it as too much of a fixed rule. You can start off vertically if you buy a commercial engine, but it’s not a particularly competitive market just now. In the long run, the industry needs more standardised and open-source (or at least cheap) engines to allow rapid prototyping of game ideas. At this year’s Dare to be Digital contest I was impressed at how quickly students could build game concepts on top of open-source engines, so things are probably moving a little in that direction. It won’t take hold fully while hardware is changing rapidly, though: the open source engines won’t be sufficiently cutting-edge for the best games. It’s worth noting that the recent surge in web development wouldn’t have been possible without the availability of free (or low cost) database and web server software: they make “vertical slice” development possible in that field.

      As far as the certification goes, I’m sure I’d have exactly the same things to say about other certification schemes (PRINCE2 etc as you mention)! The best argument I’ve heard so far in favour of certification (and this came from a consultant) is that at some companies, especially bigger ones, developers have to convince some centralised bureaucracy to pay for training, and it’s easier to do so if that training is Certified. I have no problem with the certification existing if that’s what it’s for – presumably it benefits both the developers and the consultant (although it does say something a bit sad about the employer). It does, however, confirm my view that the certification is meaningless for the individual (this same consultant confirmed that the certification simply means that you’ve sat in the room for the allotted time, seen the approved material, and that the trainer has passed some kind of quality bar). And yes, I do have a degree (MA in Maths from Cambridge) – if anything, I’m guilty of being snobbish about paper qualifications that aren’t hard to get.😉

Comments are closed.