A Recent Experiment on Reporting

I’ve been working with one client, well, not just one, but this post is about one. I helped them out a year or so ago launch a new website, although it was the entire team, and I was just a very small part of it. But, for the purpose of this post, I’m going to take full credit for everything.

It went pretty well. We delivered what they were asking for, but it took a lot longer than we expected it to. There was overtime. There were additional sprints. There were sections we threw out and then rebuilt because we didn’t like them as we learnt more. But in spite all of this, it really did go okay. The client was mostly happy, and the end product was far better than had been originally envisioned (and wireframed by a design agency).

In spite of the road bumps along the way, the client came back and asked us to do another site for them. So, step one was to look at the wireframes they’d spent about six months creating and getting sign-off on. No problem… We’d built a site for this client less than a year ago, had familiarity with their domain, and building it with the same technologies. So, we estimated the time it would take us to build what had been designed. We came up with a number, and took that to the client.

I was lucky. I wasn’t in the room when that number was presented. I was told it wasn’t a fun conversation to be a part of.

Basically, the number we’d come up with wasn’t in what they thought it would cost, or how long it would take. But we knew, because of our experience on the first project, that we were in about the right range, for what they were asking.

Round two: We had a look at their scope and tried to figure where we could reduce some of the scope or complexity. We found a few places, and reduced the length and cost of the project by about 20%. Maybe 30%. Still, we’d be delivering a pretty functional site, with pretty much everything asked for, but just streamlining some of the designs and workflows.

This time, I was asked to come along and present this to the client, so I could help them understand the amount of work required. The meeting went a lot like this one: https://www.youtube.com/watch?v=BKorP55Aqvg – especially the part when they point out they’re only asking for seven red lines, it’s not like they’re asking for 20 red lines… Sigh. Our estimate was still over double what the client was expecting.


I asked for the client’s budget and timeline. Why keep guessing, if they’ll just tell me. And they did. So, off I went, not really sure if I’d be invited back. Ever.

But I was invited back. And this time, I was prepared. I’d taken their budget, and we’d figured out what we could do for that amount of money and time. We’d figured out a way, at least our best guess, to deliver a fully functional site for the amount of money they had. And we closed the sale.

You might be thinking that’s the end of this story. And you’d almost be right. Except that now that we’d sold the project, we had to deliver it. And I was under a huge amount of pressure to be able to show if the project was on track or not. After all, we’d shortened the delivery time by more than half from our original guess.

The problem with this is that we didn’t have a fully created backlog, no way of really knowing the total scope. In order to sell the project, we’d eliminated any up front work, opting to just start development. What a novel idea…! And, about three days into this project, the client came to me and told me that there’s a new section they’d like to include. A very complex section. Never scoped before, never discussed before. But this was absolutely needed, no matter what, for the site to launch. My response? Of course we can do it; other features might need to be deferred to a second phase, but of course we could do it. One other thing I did – I asked if we could restructure three of the six sections we’ve already got in scope, streamlining them to not only deliver a better user experience, but also afford us more time to work on this new, must-have, feature. There was agreement on this, and off we went.

I spent the first sprint trying to get a handle on all of this, and at the end, reported it “red”. After all, I had no way of proving one way or the other if we’d get everything done. And as our first sprint, we didn’t get nearly as much done as we would have hoped.

By the end of the second sprint, I was still reporting this project in red. I still couldn’t prove, with hard data, if we were on track or not. But if anyone had a conversation with me, or asked what was going on, I would have told them that we’d already figured out two of the most complex parts of what we needed to do. We had a backlog now that would take us to the end of the fourth sprint.

During the third sprint, the backlog that we’d been working on changed again. Yes, we’d learnt some stuff along the way that would impact future work, and would impact what we could deliver. In a good way. We figured out how to deliver a couple of things slightly differently that would reduce the development effort. And, new features were identified.

For the fourth, and fifth sprints, I was still reporting the project in “red”. I was being berated for my inability to move this project out of red, and not know what the future would hold. My customer, by the way, wasn’t ever fazed by this – they took in stride. They knew what work was being done. They could see huge velocity improvements, and could see that their site was coming together. They were creating and publishing content along the way, and providing feedback on a weekly – often a daily – basis. They were totally engaged with the development team and were all working towards the same goal with a shared vision. This entire time, I was told on a regular basis that I’m wasn’t meeting expectations.

By the time we arrived at the end of sprint six, through lots and lots of conversations, and an amazing dev team who had been improving every single sprint, and identifying new ways to deliver better code even faster, the client was thrilled with the progress and at a point they were able to think about actually going live and replacing their current site. I started reporting the project health as “green”.

We completed the work in eight sprints. The decision to go live was now totally within the control of the business team, when they determined the timing would be right for them. This was faster than our final guess – we’d actually sold a fixed price project with nine sprints. But, we completed the work in eight. In fact, we completed way more work than had been originally scoped for those nine sprints.

Some might think I got lucky. Perhaps. But I know how much work I did managing expectations, saying no without actually saying no, refocusing asks on ways we could deliver something that would solve their problem… And, making sure that the team felt safe to identify things that were getting in their way, and helping to get those things out of their way… And creating a safe environment for the team to try things that they thought might help them go faster, without worrying about someone speaking to them about doing something, or implementing a tool, or writing a script, that wasn’t part of any story, but just something that would allow them to deliver better quality code, faster.

Yeah, it was an interesting experience and experiment for me. I’m pretty proud of the team I got to work with; pretty proud of the product; pretty proud all round.

Previous
Previous

Trombones and Agile. Wait… What?

Next
Next

Home Renovation & Agile Software Development