Monday, September 7, 2009

My Agile Garden

I have a garden in by backyard that my lovely wife has been prompting me to work on. I tell her honey "it is an agile garden that's the way it is supposed to look". It is a flower garden, with a variety of perennials, a small tree, ornamental grass, vines, bird feeder with a water line, a low stone border. I know where all the flowers are and when they are supposed to bloom.
How ever no one would consider it an English garden with neat rows of precisely placed and cultivated plants. The ivy ground cover grew up and covered the trunk of the candy apple tree. I never planned that but it looked nice so I kept it. At the edge of my garden I noticed that one of the sunflower seeds from my bird feeder was lucky enough to germinate and grow into a sunflower plant. A more particular gardener would have pulled out this plant as a weed growing among the ground cover.
This was a special summer. I got a new daughter in law, Heather and she loves sunflowers. So I let it grow. It grew almost 4 feet tall and does not belong among the 6 inch tall ground cover. But it is like an unexpectd gift that has evoked many special memories. The wedding has past and the three blooms have gone to seed. I have been thinking about pulling it out as it still looks really odd. But sitting at breakfast I got one last kick from this plant. I just enjoyed the entertainment of pretty yellow finch trying to figure out how to get some of the seed from the big downward facing seed had that has lost all its blooms. That was a garden pleasure I would have missed if I put the sunflower in the compost heap when the bloom had passed.
This whole experience reminds me of some of the unexpected pleasant surprises I've experienced introducing agile project management in a setting where I worked many years ago.
I was leading a group of about a dozen developers and a handful of testers and writers in a group that was growing rapidly. I was serving as development manager and architect. But I was burning out and realizing that I was personally becoming the bottle neck of the development organization. It was this situation that first prompted me investigate and latter introduce FDD Feature Driven Development. My team was familiar with iterative development but this was the first time I used what is considered one of the real agile development methods. This was two years before the agile manifesto. My past colleagues at TogetherSoft will recognize the appendix in the object modeling in color book as our bible on agile. The ground was fertile for this agile seed to grow. I was blessed with good people to work with and adoption of FDD went well.
One of the key attractive points about FDD was it enabled us to scale and run multiple feature teams as the same time. I saw this as a way to enable my group to grow and adapt to the multiple ideas that were coming at us from our sales force and other technology partners. Yet it also provided me a framework to monitor and when necessary become involved and pull a "weed or two". See for more info on FDD.
But during the introduction of FDD to this group I had a pleasant surprise that I didn't really expect. I explained the process to my team and the various rolls I monitored and let folks pick up the various roles and responsibilities defined by FDD. I encouraged as much self organization as I could stand. Some reasonably expected things happened regarding who became class owners. But what I didn't expect was a young reasonably inexperienced engineer pick up the role of Feature Set lead. Before I decided to introduce FDD I was considering breaking the team up and designating leads for each of the sub teams. It never would have occurred to me to select this person for any leadership role. But to may amazement she took off like a star. She really blossomed and took over making may of the decisions I didn't have time to do. In many ways I think what she did was very much like the sunflower in my garden this summer. I hope she is doing well and I am grateful for what I have learned and continue to be reminded about the limits of what I can really control and what I need to let grow.