Yesterday I attended the Agile 101 workshop put on by Agile Vancouver. I’ve had some experience with Agile techniques before but wanted to go through a refresher and also hear what they had to say about lean software development, since I haven’t had much exposure to those ideas (yet).
The day started off with an explanation of what failed projects tended to look like and moved into how Agile was attempting to solve these common problems. Having been in a variety of projects over the past 12 years, I’ve seen all manner of problems in software projects. The biggest thing that was reinforced for me was that software projects don’t work with a deterministic process. Engineers can plan a building and lay out blueprints because the building isn’t going to change as you build it. Not the case with a software project! Since you know the least about the project at the beginning, you’re better off working closely with your client, releasing in small increments, and letting the direction change with the frequent feedback you’ll receive from these releases.
After an entertaining team exercise where we formed small Agile teams to build small houses out of construction paper, Michael Vax took the stage for the latter part of the day to introduce everyone to Lean Software Development. It was a great talk, and a good introduction. To me, Lean is quite overlapped with the principles of Agile. Once I finish The Agile Samurai I’m going to get a copy of Mary Poppendieck’s lean software book.
While there was a good turnout for the workshop, I’m surprised more people don’t take advantage of these things. To get that kind of education for $30 and a Saturday is great value and I’m going to try to sell this workshop to a few of the people I work with.