Accidentally Agile

A few years ago, I was asked to help develop a product prototype. The company had developed some new technology and the goal of the prototype was to demonstrate how this technology could be leveraged in a commercial application.
The leaders had a vague vision of what it was they wanted, and we started there. After the initial prototype was complete we started to say, “Boy that’s really nice, but it would be great if it did this!” We began applying Agile principles without even realizing what we were doing. We started defining new features and scheduled short development cycles to implement these features – testing as we went (I should note that we had some JUnit tests, but hardly enough to qualify for what would pass as test driven development). We repeated these short feature based iterations until we had a fully functioning prototype. It was great, we got a lot accomplished and it was fun.

Lessons Learned (what I would have done differently)

  • Lately, some users have expressed difficulty in creating a compelling story to demo the prototype. Though extremely useful, some features we created do not demo well. I’m wondering how much more effective the prototype would be if we had started with the “compelling story” and went from there. Ideally, we would have already had some potential users we could tap to examine their problems and how to solve those.
  • I’ve already mentioned, the relative lack of automated unit testing. As the prototype became larger, the lack of these tests was a bigger issue.
  • We had a really small development team so we didn’t have daily stand up meetings. We thought we could accomplish the same things in our hallway conversations. I think this was a big mistake, as we sometimes would interpret feature requests differently and not realize it for a few days or almost a week. More direct communication can never hurt.

Discussion

Are you using Agile or Lean principles in your software development work? How did you get started?

More Info

Agile Journal
Wikipedia -Agile
Winkipedia - Lean

Comments

Popular posts from this blog

I Believe...

FRail :include

Performance Tuning JCAPS - Part 2