Just last week, a coworker and I started working on a defect. It was easy enough, really. Fixing the problem involved performing two distinct operations that were *almost* independent of each other. The work was easily divided between the two of us and so, before getting started, we quickly discussed the issue at hand and then we both went back to our cubicle to get started. It was only later that our boss came by and asked us what our plan was.
I was speechless. A plan? We... er... I... I gave up. We had no plan, whatsoever. He told us to get together and come up with a plan for fixing the defect.
Planning what needed to get done and doing some design up front immediately put into light some complications we might run into and allowed us to synchronize our efforts better. Both my co-worker and I knew where and how we'd depend on each other's work and found out how we'd hopefully never have to wait for the other to complete a task.
This was an eye opener for me. How many times in the past have I gone straight into coding without doing any sort of planning? Sure, we write stories and scenarios. But what I'm talking about is workflow planning: figuring out what needs to get done, in what order and by whom. And something funny happened: even though this is a small scale example, by planning and doing some design up front, we kind of unknowingly did some risk analysis. We discovered some potentially problematic areas and took that into consideration when giving our boss our time estimates for the defect.
Of course, we ended up being completely wrong on a few things... But at least we gained some experience in the process.
I know that I, for one, will try to do that more often.
Posted
Sep 22 2009, 03:19 PM
by
Louis Salin