Kanban Check – A daily overview of Kanban

It’s pretty tough looking after 9 projects, a lot of things to keep an eye on. It’s even harder when some of the projects use a totally different process to the others. We are a Scrum shop, we follow the scrum process – mostly. Recently a few of our projects started to use Kanban, which is a learning experience.

Keeping an eye on 9 Scrum projects is made easier by the Scrum Check that Gwyn put together. A simple checklist of things to look for each day on each project. The idea is that as it’s so easy to miss things that are not there, but should be, write out a list of what should set up, and check it each day. That way if I forget to send out invites to the next demo (for example), it turns up in the Scrum Check.

Kanban is a different process, which leads to the question of what things should I be looking for, on a day to day basis, to give me an early warning is the process is derailing.

At a first iteration, I have the following checks, (if the answer to any question is no, then thats a sign something might be wrong, and I need to investigate)

Daily Checks

  1. Can I see the Kanban Board?
  2. Has it changed since yesterday?
  3. Are any of the columns empty?
  4. Are all of the columns under the WIP limit?
  5. Do the columns actually describe the flow of work?
  6. Are all stories unblocked (by a definition relavent to that column)?

Weekly Checks

  1. Is there a demo booked in the near future?
  2. Does the client/product owner know how quickly stories are progressing though the board? (The cycle time)
  3. If there is a deadline, do we know what stories need to be done?
  4. Does the recent cycle time predict the stories for the deadline will be done on time?
This checklist is a work in progress. I’m going to be using it on the Kanban projects I can see in the next few weeks. But in the meantime if you disagree with anything, or think I’m missing something, tell me about it below – all comments welcome on this one!
By |September 26th, 2011|Entrepreneurial|3 Comments

The changes to Facebook are not enough

Once again, Facebook has rolled out some new changes, and once again my news stream is filled with updates along the lines of “Facebook has ruined MY internet” (come on, it wasn’t intended as a personal insult). The changes in question are the addition of lists as a first class entity (in the interface – they were there in the features before), some automatically grouped lists, and the idea of top stories. Actually there is also the new Subscribe button, but judging from the majority of the messages I see, that hasn’t been noticed by most people. I’m in a different camp though, I think the changes are a step in the right direction, and my only complaint is that they don’t go far enough!

I used to work in a social network startup, we were going to take over the internet, and replace Facebook as the number one social destination, along with every other social network startup in 2007/2008. We really didn’t understand marketing (specifically that “Naked” was a really bad brand name) nor did we understand just how complex the technology behind Facebook was to reproduce, which is why we went out of business. We did understand one thing though, which was that as more and more people use social networks, the signal to noise ratio is going to get worse, and controlling what messages you send to who, and what messages you get from who is going to be more and more important.

The Problem

I use Facebook, and I use Twitter, and I have dabbled on Google +, and they are all struggling with the same problem. Let me try and explain what that problem is.

I send and receive messages on a few different subjects: Dance, Photography, Agile development, Web development and personal stuff (such as going for a beer this evening). Also, I am friends with Haje, who sends messages on a range of different topics: Photography, writing, travelling, and going for beers this evening. All three social networks let me group my friends (Facebook and twitter call this lists, and Google + calls it circles, but they are the same thing). I can put Haje in my “Photographers” List/Circle, and I can put him in my “Beer Buddies” List/Circle.

All three networks are encouraging us to group our contacts like this, it means I can then filter what I see (which in turn means I get more out of being on the network and I will come back). I can choose to see just my photographer friends, and catch up on photography, or just my dance friends, and catch up on dance. This is great, and is what Google + and Twitter have had for a while. Actually Facebook had it for a long time too, but their interface was terrible! So bad that very few people even noticed the feature (all this latest change really does is show off that they have the same features as Twitter and Google +).

This is actually pretty awesome, when Haje posts an cool post about photography, I can find it easily in my “Photographers” list.  However the messages he sends about writing and travelling, which are not my thing (nothing against what he says, its just a subject I’m not interested in) or about meeting for beer  (which I am interested in) all turn up in my photographers list . This is just wrong, It makes my “Photographers” list harder to read, because, guess what, most photographers talk about other stuff too! (Not all of them – but that is another story).

It gets worse. Because Haje is in my “Beer Buddies” list, all those same messages appear in that list too. I just read them in my “Photographers” list!

My friends are not one dimensional

The idea of grouping friends into lists really doesn’t work, because my friends are not one dimensional people who only have one type of relationship, or one thing they are interested in.

What is really needed, is a way to set up lists that filter posts not based on who they are from, but a combination of who they are from, and what they are about. That way I can go to my photographers list, and just see photography based messages. That would be something I actually find useful. Twitter has hashtags, which are the closest I have seen to this, but they are not good enough. The message sender has to tag what subjects a message is about (hard enough with compose a message in 140 characters, try categorising it too!), and I have to be listening to that *exact* tag. Plus at the moment it only lets you filter by hashtag, not by a combination of hashtag and people you follow.

To be fair, what I’m asking for is hard, really very hard. Think of something difficult, and its a lot harder than that. But I’m pretty sure that whichever of the three big social networks gets there first, is going to take a big lead.

 

By |September 21st, 2011|Technical|0 Comments

Creating a webapp is creating a startup

Graph with stack of coins

Photo: teegardin

Do you think of writing a webapp in similar terms to creating a startup? I think that they are in very similar. Let me explain to you why, and see if you agree.

I’ve been building and coding webapps for many years now. I have experience of working in a startup that went bust, and I have experienced working as a consultant helping other businesses create their webapps from first principles, as well as working for large corporations building large application. I have build several side projects, and tried running them as businesses, including my latest project, Frozen Event. So I think I have a pretty good range of experience to draw from to back up this argument.

What is a startup…

In order to explain what I mean, let me first explain what I mean when I say “startup”. I’m thinking of something different to what I suspect you are picturing right now. It’s not about being cash strapped, or working out of your parents basement. It’s more about trying to build a business. Building a way of doing work you can in some way sell.

But what does “Building a way of doing work” mean? If you think about any successful business. They know how they work. Anyone from McDonalds to the tailor who makes my dance trousers. They know how they greet a customer on first contact, how to market to them, and how to reliably deliver the product the customer wants. All of this together is “a way of doing work”.

Now think of a startup (it doesn’t matter what industry). They are figuring this out. They don’t yet know what marketing is going to work, what steps are needed to time and time again deliver a reliable product. This is the essence of a startup. They don’t yet know how they work. But they are in the process of figuring it out. Once they have figured it out, they are not longer a startup.

What does that have to do with webapps?

Can you say that the code is the most important part of any webapp you have launched? I can’t, in every example I can think of, the most important part is the way the user experiences the site (I’m not talking about UX, but what I would call concept design). It is also normally the hardest part to get right. Building a webapp for a clients lets me see this time and time again on a variety of different projects.

Typically we start off with an idea of what we want the site to achieve, maybe it’s to increase the number of phone calls to a bookings service, or encourage more sales for an e-commerce site. Sometime we will also have an idea of how to do it, but not always. As we build the site, we start to think about questions like “Does the user need to log in in order to do what we want them to do?”, “What happens after they take whatever action we are trying to get them to do”, and similar questions.

Let me give you an example. For Frozen Event (a site which allows photographers to sell photos) I’m considering some from of bulk discount. Something along the lines of if a user buys one photos the price is £2, 5 photos is £7 and 10 photos is £10. But there are several things I don’t know… What if a user buys 5 photos from one photographer, and 5 from a second photographer. The user is likely to expect to pay £10 for 10 photos, and each photographer is going to expect to receive £7 for selling 5 photos. It’s not immediatly clear how to resolve that.

The specific questions can vary a lot from site to site, and each one has to be considered on a case by case basis. However in the early stages, we don’t know how they work. At least not yet.

Can you see the analogy yet – how this is the same as a startup? We start of not yet knowing how it works. As we proceed into the project, it is a task exploration and discovery. Working out what it is we need to do, and how it needs to be done. There is no predefined set of steps to take, no map. Because if there were, then we would just be duplicating a system that already exists.

At least, that has been my experience of building webapps, it is also why its always interesting. Each new project brings a new set of questions, and a fresh set of chalenges to keep me fresh. If you have had a different experience or viewpoint I would love to hear it in the comments below.

By |September 10th, 2011|Entrepreneurial|0 Comments