Blog

Learn Version Control with Git

Recently I’ve been reading the eBook “Learn Version Control with Git” online, and I’d recommend it.

image

I’ve been using Git for a while, but certainly not to its full potential, and not even really for its intended purpose. The book is great because it:

“…doesn’t require a master’s degree in computer science to read it. It’s aimed at beginners of programming, at designers, at project managers… It tries not to require too much prior knowledge on the technical side. It tries to go slowly.”

You can read it online for free, or purchase it in PDF, ePub or Mobi format for your device.

Enjoy!

Blog

Wave Goodbye

Not to long ago I wrote a post about why I believe it’s so important to build technology that supports business process, rather than building process that supports business technology. It got me thinking, curiously, about Google Wave.

If you’re not familiar with Google Wave, here’s Google’s very own 2009 video on the subject, Google Wave Overview.

What Google did with Wave was an entire re-imagining of email. Throw out everything that’s gone before, and redesign email (or rather, electronic business communication) from the ground up, the way it would look if it were conceived today, and we had today’s technology to take advantage of.

It was a huge failure.

Well actually only in the world of Google is a service with a reported 3 million active users a “huge failure” but still, you get the point. The service was shut down at the start of 2012.

The technology lives on and a lot of the development Google did for wave can today be found in Google Docs, Hangouts, and some other places too (it was all open source).

My friend and colleague Matt wrote some time ago about pilots and their place within proper project management (and the frequent misuse of the term and concept).

Would you run your personal finances this way? Would you buy a lawnmower and figure out how you’ll use it afterwards, even though you live in a high-rise condo? Of course not.

I’ve been trying to think of a corresponding analogy for what happened with Google Wave. I guess it would be that you wouldn’t buy a lawnmower that required you to replace your lawn. And didn’t let you invite friends and family to enjoy your yard with you unless they too had purchased a compatible lawnmower.

The problem, in real terms, was that Google had built a tool to replace email, but for early adopters (like me) it was a very lonely place. I couldn’t really use it because the people I wanted to communicate with didn’t use it.

Specifically what I believe Wave needed was backward compatibility with email somehow. Maybe Wave users would get to enjoy the advanced features Wave offered, but email users would also have a method to at least participate in the conversation until they too chose to adopt the better technology.

Let’s bring this all back to process management and development. I’ve never run or been a part of a process improvement initiative that didn’t being with current-state process mapping in one form or another. Improvements are usually iterative, but even if they’re not and we’re building from the ground up the conversation still involves a transition plan. I’m doing some process mapping work right now for a project which is all about the transition plan.

Quite what Google were thinking with Wave I’m not sure. They’re a technology company and they’re well known for trying innovative things and finding out later whether or not they work. I can therefore forgive them for being focused on technology rather than process, but it doesn’t make it less surprising to me that this particular experiment didn’t work out. Most organizations can’t (and shouldn’t) throw money at technology development the way Google does, so let’s make sure we’re spending our money wisely, thinking in a process-first way, and being specific about the need a particular technology is going to meet for us. If we don’t we’re going to end up with a lot of lawnmowers in high-rise condos.

I do miss Wave though, I thought it had the potential to become a fantastic tool. There are alternatives and derivatives out there, but for some reason they all seem to be very lonely places.

Blog

Technology, for Process’ Sake

On Monday, a new piece of technology will launch at work. It’s a tool I both designed and built, and I’m extremely proud of my work.

The tool itself is web-based. It lives on a SharePoint server, is written in HTML with a healthy dollop of jQuery and the SPServices library thrown in for good measure.

It took some effort to build it, and I think the approach is a good one because on the back-end it makes good use of SharePoint’s functionality, but the front-end is completely custom with in-line error checking and user interface customizations that go far beyond what could be accomplished with SharePoint alone.

But that has nothing to do with why I’m proud of my work.

I’m also not especially proud of the project management stuff I did to bring this all together. It’s not that it was bad work, but my tool ran the risk of butting heads with a six sigma project that somebody else was running. They were basing a certification on their work, so I agreed not to implement anything until they were done. I thought I’d sequenced my work correctly, but when their three week pilot turned into a seven month pilot, I had nothing to do but wait.

To understand why I’m proud, we need to step back a bit.

The tool I’ve developed replaces another tool that was previously in use. It was also web-based, and it was owned by our organization’s IT team. As best as I can tell it was introduced in 2002, and in the eleven years since it launched we’d noticed a few niggly errors. We had a list of changes we wanted but this was minor stuff, the tool was used only by a select group of staff, IT resources are a hot commodity, and this was basically a priority for nobody except me. It’s at that point I decided my approach would be to build a new tool myself, from scratch. By going to all that trouble though I was opening up a whole new world of opportunity, and why waste it by reinventing the wheel? I wanted a smarter approach. And I had one.

I gathered together a group of SMEs from the handful of teams that used the tool day in day out – the people that had their hands on it every day – and booked a full day in their calendars to go through a kaizen event. We spent the morning mapping current state processes on the wall, writing out steps on post-it notes as we went and sticking them up in the relevant places.

By the time our lunch arrived this was done, and what I already knew was now abundantly clear to everyone else in the room. Our process was built around the tool that IT had delivered to us, eleven years prior.

After lunch I ran through a five minute PowerPoint I’d put together about muda, and we began unceremoniously ripping post-its off the wall, eliminating wasteful steps from the process. By the time we were done we had a vastly simplified, lean process mapped out. The kaizen participants surprised me more than once, coming up with things I would never have thought of on my own, changing the order of steps to support their ideal workflow, and eliminating hand-offs that I had thought might be sacred cows.

The tool I’ve built is only subtly different from what I was envisioning before the kaizen, but those subtle differences add up to a huge impact, and that’s why I’m so proud of my work.

It would have been all too easy to skip the kaizen and work from the already documented, well established business processes we had in place. What we’d have ended up with is a tool that looked prettier than the one that came before it, functioned better, and supported our processes beautifully. I’m fairly sure everybody would have been pleased with the outcome, and nobody would have stopped to think about whether or not the business processes were right to begin with.

What we have instead is, I think, a game changer – at least within the scope in which the tool and processes operate. We have re-engineered, optimized, lean processes along with technology that supports them but doesn’t define them. Management are happy because we’ve eliminated waste they hadn’t realised was there, on a scale they hadn’t imagined. The staff are happy because they’re empowered. Not only do our new processes support that, eliminating hand-offs and re-work that were only included to begin with in order to check the output of a group of people who were already perfectly competent, but also because they now have processes and a piece of technology that were designed and defined for them, by them.

That’s why I do what I do, and that’s why I’m proud of my work.