Category Archives: Meet Ups

Clumsy is the new [FR]agile

I recently gave a quick talk at Agile on the Bench in Norwich entitled ’Clumsy is the new [FR]agile’. The following is a rough transcript of that talk:

Hi, I’m Dom Davis, CTO at Rainbird, and lapsed Agile Evangelist.

I’m going to be honest here. When Paul asked me about coming to Agile On The Bench I fully expected to be sitting in the audience watching someone else talking. You see, I’ve rather fallen out with agile. I don’t recognise what people call Agile these days. I couldn’t even tell you what Agile is anymore.

In my last role I was confidently informed that I didn’t do agile because I didn’t do scrum – which was an interesting statement. Agile isn’t scrum. And Scrum spelled with a capital “Waterfall” isn’t agile either. It may sound harsh, but I can guarantee you that’s what they were practicing.

Part of this persons philosophy was that stand-ups were important, but hard to organise every day. So instead of five short daily stand-ups there was one hour long weekly standup. That’s not a stand-up. That’s an uncomfortable team meeting.

And it’s not just that one person. I’d go so far as to say that most people using Scrum aren’t really being Agile. At best they’re being Clumsy. At worst they’re deluding themselves. The same holds for Kanban, Lean and pretty much any flavour of Agile you care to mention.

The problem is that you cannot prescribe a one size fits all approach to software development. People are different. Teams are different. Companies are different. Trying to force people to work in a specific way simply because it has been prescribed as “Agile” is agile with a capital FR.

What works at company X may not work at company Y. And while it may look all fine and dandy at company X I’m willing to bet they also have issues – they’ve just got an evangelist who’s willing to stand up and talk about the good bits, while glossing over the problems.

This carbon copy approach shows a fundamental misunderstanding of what it means to be agile. Scrum, Kanban, Lean; these are all frameworks, philosophies you can weave into the very fabric of your company, not rigid processes to be mandated and enforced. Constraint and agility are diametrically opposed. One cannot allow the other. A rigid process, by definition, cannot be Agile.

And yet the virtues of Agile have been sung from the highest parapets. So much so that we all now know, at a visceral level, that Agile Is The Way. So if it doesn’t work for some reason we’ll just try another flavour of it. We’ll employ certified scrum masters and hope that if we believe hard enough, and follow the plan rigidly enough, it will all be OK.

It won’t, because you’re addressing the wrong problem. This is not the Agile way. It’s the Clumsy way. It’s only when you need to react fast, to be truly Agile, that you find out you’re actually Clumsy. And you find out the hard way, tripping over your processes and getting tied in knots.

Agile is not a process, it’s a state of being. It means you can act with agility. That you can react to the needs of the business, and to the pitfalls of software development in a timely manner. And that’s it. Everything else is process.

Most truly agile teams will review and change their process regularly: keep what is working at this time, shed what is not. What works today may not work in 6 months because the problem space is dynamic, constantly shifting. They understand this and embrace it. There is no perfect solution, just something that works well enough for now.

Strip away the buzzwords and we’re just talking about project management. Except project management is a dirty word. It’s enterprise-y, and we’re all ninja-rockstar-full-stack developers deploying fleets of containerised micro-services to the cloud. We don’t want to be constrained by Process.

But we do need something. It doesn’t need to be Process with a capital P, but simply building a Kanban board, running daily stand-ups, and declaring ourselves to be “agile” isn’t going to work. There are some fundamentals we need to get right. Without those fundamentals you’re setting yourself up to fail.

There are no quick wins. But there is basic starting point to get to the solutions that works for you, in your team, in your company. In the end it all boils down to communication. How do we communicate the requirements from our stakeholders and users to the development team? How do we communicate progress back to the stakeholders and users?

This could be anything from Post-It notes on a whiteboard and informal meetings when required, all the way up to full blown project management systems. Informal doesn’t scale well, and the more formalised the system the less agility it has, so there is a trade off.

But don’t start with the tools, or the process. Start with what you want to communicate. How do new issues enter the pipeline? How do we make sure that what is developed is what is required? How do we feedback progress?

Get that sorted and you’re well on the way to winning, regardless of how it’s done, or what you call it.

If you’re interested I use a process loosely based on Xanpan at Rainbird. I call this process ’Fred’, purely because people keep asking me what I use and I needed to give it a name. Fred, as practiced now, has little resemblance to Fred when I first called it that. It’s not without its issues.

If you want to hear more I’ll be ranting about Agile and Agile Processes in a longer session called ’Agile Smagile’ at NorDevCon.

Drinks and glasses all set up for the guests

Narrative

I think I surprised a few people last night, which was good. I’d been invited to launch my book at an event sponsored by Birkkets LLP and asked to ”say a few words” to the guests. I’m not entirely sure I’m capable of ”a few words” so I set about putting together a 15-20 minute presentation that quickly spiralled into a 30 minute one.

Ordinarily my talks are technical in nature, and while I try to keep them amusing they are always going to be a little dry. The skill level and experience of the audience can vary from school children to highly skilled techies, but the relative skill level of the audience tends to be constant. A book launch organised by a law firm presented a big problem: the audience was going to be diverse.

Then there is the overriding problem that it’s a book based on a blog that’s probably been read, at least in part, by most of the people present. So what exactly do you talk about?

In the end I talked around some large life events that, ultimately, put me in a position to be at Rainbird and attend Techstars. This was done to the backdrop of a bunch of nice photographs I have.

The sum total of the talk could be condensed to a single, short paragraph:

“How did I find time to write a book? I didn’t, I wrote a blog instead and then published that.”

But that’s not exactly a compelling story. People don’t want to hear the how, they want to hear the why. They want to identify with the experience. The trick is to spin that into a cogent tale. For example this entire post is a segue from a simple statement, to a short explanation of that statement with a big dollop of narrative in the middle in order to justify posting it.

I think I told a compelling story last night. The audience seemed to enjoy it. I know I did. People laughed at the right parts and appeared to be listening intently – this may have been a pleasant surprise to some of the audience. Sadly it also means that expectations will be adjusted accordingly for any future talks. I need to find a new audience with low expectations 😉

A Meeting With Lord Parry Mitchell

In the aftermath of the SyncNorwich TechCrunch event I wrote a rabble rousing piece for the NTJ which culminated in the quote: “Norfolk has announced its presence on the tech map, and it’s not just here to stay, it’s here to be an increasingly important player in Digital Britain.“. It seems someone was listening, if not directly to me, then to the sentiment and buzz that I was writing about.

On Friday we are being visited by Lord Parry Mitchell who, among other things, is a spokesperson for business matters in the House of Lords. As a past information technology advisor for Labour he makes an ideal person to talk to when it comes to the technology sector in Norwich.

The visit will initially take Lord Mitchell to St James’ Mill, which is shaping up to be a real tech hub in Norwich. After that there will be a meeting with him in the Council Chamber of Norwich City Council and 60 of you lucky lot are invited (see the invitation below).

We’re currently at an inflection point in Norwich; the future for technology in the region could be amazing… or it could just fizzle out. This meeting is an excellent opportunity to help shape that future so it’s hugely important that we get a wide spectrum of the regions tech industry attending. Yes, it’s a long lunch, but it’s also a Friday, so that’s OK. It’s also work related since everyone will benefit from a booming tech industry.

Speak to your boss, ask if you can come along. Ask if he wants to come along (pro tip: he probably should). The absolute worst that can happen is you get to be part of an interesting discussion with a prominent figure. Compare that to the potential upside and it becomes a no brainer.


Original invitation text:

Invitation to a meeting with technology adviser Lord Parry Mitchell

We would like to invite you to a discussion with Lord Parry Mitchell in the Council Chamber of Norwich City Council on Friday March 7th from 12.30-1.30pm. Lord Mitchell is an Opposition spokesperson for Business matters in the House of Lords, focusing particularly on the role that SMEs play in our economy.

He is a graduate of London University and holds an MBA from Graduate School of Business, Columbia University New York.

He was until recently Chairman of Syscap plc, an IT finance, leasing, rental and asset management service provider. He has worked in developing relationships between government and the IT industry. In the past he has acted as Labour’s information technology adviser.

We are delighted to be joined by Lord Mitchell who will be give a short speech about his experience in business and challenges and opportunities for the tech sector. We all know that Norwich and Norfolk is a rapidly growing hub for tech businesses and Lord Mitchell is keen to hear from all within the sector about how we can help it grow.

Public Speaking

I vaguely remember a time where I only had to write a quick, 45 minute presentation for NorDevCon, and that was way off over there in the future. Sometime between then and last week I managed to fail to write anything more than the synopsis and introduction for my talk; and agreed to do another hour long talk for the UEA; and a day long course for teachers for NorDev and The Forum.

While I’m no stranger to public speaking, it’s been a few years since I’ve done it to any degree and I’m used to speaking for 30 minutes on very specific, and very technical subjects. Giving broader talks at a higher level requires planning. At least, for me it does. Disappearing on a 30 minute tangent, as I did for my UEA talk, is all very well and good if that tangent has a point (it did). You’re telling a story, one that needs to come to a conclusion within the allotted time.

I script my talks. It’s the only way I can guarantee I can stay on topic, and on time. Since I talk fast these scripts can be quite long and involved. The 60 minute talk for the UEA was over eight and a half thousand words long. These scripts are written on the train, usually on my iPad (iA Writer is a fantastic app for this), although I sometimes also use my laptop. The slides and Keynote presentation comes last.

Of course, all this writing eats into time I’d usually reserve for other writing, such as posting here, hence the recent radio silence. Being back to just having my NorDevCon talk to write I feel like the pressure is off somewhat… although I am dimly aware that I’ve got less than a month to put that together. In the mean time I’m also being a glutton for punishment having offered to provide more help for local schools as they prepare for the upcoming change in the ICT curriculum, and offering to do more talks for students at the UEA. Seems I forgot how much I actually enjoy public speaking.

SyncNorwich Agile August

What is Agile? Such a seemingly simple question can cause a great deal of debate. It’s little wonder then that when you ask three speakers to talk about Agile they answer the question in three slightly different ways.

When I was invited to speak at the SyncNorwich I was very conscious of the fact that I was a relative newbie to the scene and that my team don’t practice a named Agile methodology1. While I could explain our process in detail I’d didn’t think it wild be beneficial as it’s something we’ve put together to meet our needs – it’s tailor made for my team and where they are now.

I could just roll out this “this is Scrum, this is Kanban” talk, but it’s been done to death and I can’t stand there in good faith and tell people to practice something I don’t actually use. That did get me thinking thought. Why don’t I use pure Scrum, or pure Kanban? The reality is that, while both methodologies look great on paper, the real world has a nasty habit on getting in the way. So why not talk about that?

What was really great was the two other talks that night also focused on how two very different companies have adopted Agile to meet the realities of their world. One the one hand you’ve got Aviva with a variation of Agile that may look ponderous and lumbering to much smaller companies, but that is surprisingly nimble for such a massive organisation. On the other hand is Axon Active who are a very distributed company using Scrum as a fantastic tool for communicating between remote working colleagues. By contrast Virgin Wines is a fairly traditional SME with a single dev team located in one office, although we do suffer from our own unique set of problems.

Each talk brought home the core principles of agile with small, iterative steps and tight feedback loops, and then looked at how it applied to the realities faced by each organisation. The purists may declare us to be “wrong“, but I’d argue they’re out of touch. That’s not to say our implementations of Agile are necessarily “right” either, we just believe them to be “right” for where our companies are right now.


1What we currently use is a mishmash of Scrum and Kanban which doesn’t fit into the pigeonhole of Scrumban. We’re also sort of Xanpan like, and we are heading in a more Xanpan direction, but I don’t think we’ll ever end up being true Xanpan. Since names like Scranpan are verging on the ridiculous I would, if I were forced to give our methodology a name, call it Fred. Not that it matters hugely, give it 3 months and we’ll be practicing something slightly different (which we’ll call Steve for arguments sake).

NorDev 1

It’ll be all right on the night!

And it was! OK, so we had one helper and an organiser drop out at the last minute due to illness; my dinner was a bit rushed; I forgot the memory cards for my camera; I forgot to return the memory card I attempted to borrow; I rather fluffed the wonderfully witty and insightful intro talk I was going to do (twice, given we split it into two chunks); and the projector was playing silly buggers… but I don’t think anyone noticed (well, maybe they noticed the projector, but we’re techies, we expect this kind of thing).

NorDev 1 is in the can and Norfolk Developers is on the map. Our opening night saw nearly 50 developers descend on Virgin Wines in Whitefriars to see Liz Keogh and Phil Trelford talk, as well as enjoy a glass of fizz and a brownie or two.

Liz was, as always, fun and engaging as she detailed the differences between lean and agile practices in a 6 round “fight” with a wicked twist at the end. Given most of my team attended the talk I suspect we’ll be adopting much of what was talked about and becoming more lean over the coming weeks and months – actually, even if they hadn’t attended I’d probably be foisting a lot of it on them, but it’s nice to get buy in from the start, and for them to understand why 😀

Phil’s talk was funny and hugely interesting, even for a Java developer like myself. Having a room full of devs meant he could fire up the IDE and write code live during the talk, something that is helpful when faced with a new language. I find myself hankering after something F#esque for the JVM.

Despite the hiccups I think everyone had fun, people found it interesting and, hopefully, will come to NorDev 2 (Wednesday 10th July… which only seems to be 2 weeks away, eeep!). No doubt it’ll bring its own set of hiccups 🙂

Rise Of The Machines

Last night I attended An Evening Of Game A.I., a talk given by Alastair Aitchison, for the Norfolk Independent Game Developers group. My aim was to learn some new stuff (A.I. has always been a subject that I wish I knew more about) and possibly come away with a few techniques I could use in my own code. I’m glad to say that both goals were achieved.

The night started with a brief introduction from everyone (“Hi, I’m Dom Davis and I’m a WoWoholic, I’ve been clean now for 5 years”) and then launched straight into movement algorithms. A little bit of physics and some fun demos brought each of the strategies to life and, while not useful for any applications I was thinking of, it was very interesting. Similarly the section on pathfinding, while brilliant from a personal interest point of view, lacks much practical application in what I have in mind.

There was discussion on and demos of decision trees and state machines. These are both topics I know something about, although I never got the chance to ask if people used off the shelf FSM’s or not. Despite their simplicity and the profusion of if blocks it did remind me that decision trees have their place.

Utility curves is where it started getting really interesting. It’s a technique I’d never really explored before and its simplicity appealed to me. As I tweeted at the time, I’m sure I’ll get lots of utility out of utility curves.

From there it got fascinating with a quick discussion of neural nets, something I think I can make use of. I’m not sure I’ve ever been involved in the training of a neural net before, but now I can safely say that I have. I can see me and Google spending a lot of time on this subject.

Sadly I had to leave half way through the discussion on genetic algorithms. This is something I’ve done some reading about before and I’m absolutely amazed by them in a “I have absolutely no idea how to create, code or apply them” type way. I have a few ideas which may or may not be practical, but could produce some very interesting or amusing results. The group were left seeing if a little lander would evolve to land on a landing pad. As I was leaving they were getting close, so who knows.

The demos and videos of bloopers from big budget games made for a great talk and Alastair had a way of presenting some quite complex material in a fun and accessible way. I just wish I could have stayed later to pin him down and go into excruciating detail on some of the topics. Not doubt I’ll be revisiting some of these subjects in more depth in later posts as I explore them further.

An Evening of Game A.I.

On Thursday I’m off to An Evening of Game AI. Now, what I know about writing modern games can be written on the back of a postage stamp. What I am is a consumer of games. And a fussy one at that. So why an evening of Game AI? Well first off its a subject that I think I’ll find interesting. Even if I never out the knowledge gained into practice I’m liable to walk away thinking “that was cool”. I’m a geek; shoot me. More importantly is the concept of Gameification [hideous word] and how I might apply game AI techniques into a business context. The ideas I have a very embryonic at the moment and it may be that they’re pie in the sky, but hopefully Thursday will prove useful and give me an idea of what directions I should be looking in.