Picture courtesy of Dru Bloomfield on flickr
Welcome back to My First Agile Project. I spent a few weeks doing as little as possible for the holidays but now that I'm back at work we're starting to head toward the actual end of this project. For real this time; barring any natural disasters, stress-induced insanity, or alien invasions we should be live by the end of the month. So the next couple of posts in this series are going to be about the end of My First Agile Project as we complete this and transition to whatever comes next.
As I've discussed before, we've missed a couple of other deadlines in the past but this one just feels different. On past deadlines, when we thought we were close enough to done we'd find a 3-day weekend and try to decide if we could finish everything by then (converting all of our old data takes a long time so we have to basically shut the company down while we do it). Of course, things come up and we're too optimistic so when it comes down to it we've had to abandon the previous dates. We thought we were going to be able to do it at the end of November but again we missed it due to changes being made at the last minute and unforeseen problems. This time though, our list of remaining issues is small enough that when we decided on this new date we were all a lot more comfortable with it than in the past. This feels like an actual date of completion for everything, not a deadline we're rushing to meet.
That doesn't mean we're not stressed, this project has been almost 2 years in the making and coming to the end makes everyone wonder just what we've missed and how things will really go once we're live. But overall, not having the stress of being forced to work faster just to finish everything before an artificial feeling deadline is much better.
Now, one thing that's missing from this whole process is Scrum or Agile. In previous installments of this series I've mentioned how we drifted away from using the Scrum processes when we thought we were getting close to the end and since the end kept moving away, we never went back to it. We've been going in and out of scramble mode for months now, with the only plan being that we work like crazy on our various pieces of code trying to squash bugs found in testing. This is obviously sub-optimal and I wish we have kept our discipline about planning and sprinting. Although I do wish there was more to read out there about the actual nuts-and-bolts of using Agile/Scrum at the end of a project. If you have suggestions for reading material, please comment at the end of the post.
Side note on coaching
I've been thinking about coaching more since I wrote Part 14 of this series and I think this is a place where we could have really been helped by an outside coach. Having somebody who could have helped us with the nuts and bolts of how to stay on track as we near the end would have been great since we obviously were just stumbling around in the dark. I'm now of the opinion that if you're doing your first Agile project and it's more than a year, you should find a coach after a few months to see how you're doing, then check back in with that person periodically. I'm not even sure if Agile coaches would work this way but I think this would have helped us tremendously. The end of a project is a chaotic time and it's easy to get lost.
Okay, back to the topic at hand. The last week has been basically a wrap-up week for a few of our bigger pieces. I finally finished 2 reports I'd been assigned months ago and have rewritten multiple times since then as new requirements came in (if you've been following me on twitter you've seen my cursing and threats of violence about these reports). We finalized and tested our document printing process with the folks in the company who handle printing. We don't have any more issues with either of our invoice production processes. Just the fact that these pieces are Done now is a huge weight off of all of our shoulders.
As of Friday our code is frozen and our testers will be doing heavy-duty regression testing all next week. They've pretty much been doing regression testing all along so I expect this will go well. When issues pop up this week we're going to take a hard look at the importance of the issue and the fix to see if we should put it in or wait. If all goes well, we should be able to shut everything down on Friday and start the real-deal data conversion process and put this beast into production. My fingers hurt from all the knocking-on-wood and crossing they've been doing talking about going live so in the interest of superstition, that's the end of this article. :)
via http://agilesoftwaredevelopment.com/blog/mattgrommes/my-first-agile-project-last-mile