Wednesday, February 4, 2009

Agile Feedback Loops

Agile Tip of the Month : By Tom Stiehm, Coveros, Inc.

Agile practices are built around establishing and maintaining tight feedback loops so that the need to correct software and process issues can be detected as soon as possible. The ability to quickly identify and implement software changes keeps the cost of change to a minimum. It also helps projects stay on course and deliver value with each release. Here are some feedback loops to monitor that will ensure you are developing high quality software:

Test First Development - designing your tests as a precursor to writing code. Creating tests that are the first client of your code helps you develop more useable, reliable and robust code. If you have trouble writing code that can be unit tested, this feedback loop is telling you to change your code to improve its usability and quality.
Continuous Integration (CI) - automating your software builds, tests and deployments. If your code doesn't successfully integrate, build and pass regression tests, this feedback loop is telling you to pay more attention to software interfaces when building your software.
User Acceptance Testing (UAT) - testing of your software by real users. UAT is a time to gather feedback from not only the business stakeholders but also the people that will be using the system in production. This feedback loop will tell you how easy the application is to use, what features are missing and what does and doesn't make sense to a user.

Retrospectives - sharing lessons learned and thinking about how to make the process better. Retrospectives are a time for the team to reflect on not only how the project is going but also how the process is working. This feedback loop can help the team recognize where the process is breaking down and how to fix it going forward.

Sunday, February 1, 2009

American Beauty

I had always heard your entire life flashes in front of your eyes the second before you die. First of all, that one second isn't a second at all, it stretches on forever, like an ocean of time... For me, it was lying on my back at Boy Scout camp, watching falling stars... And yellow leaves, from the maple trees, that lined my street... Or my grandmother's hands, and the way her skin seemed like paper... And the first time I saw my cousin Tony's brand new Firebird... And Janie... And Janie... And... Carolyn. I guess I could be pretty pissed off about what happened to me... but it's hard to stay mad, when there's so much beauty in the world. Sometimes I feel like I'm seeing it all at once, and it's too much, my heart fills up like a balloon that's about to burst... And then I remember to relax, and stop trying to hold on to it, and then it flows through me like rain and I can't feel anything but gratitude for every single moment of my stupid little life... You have no idea what I'm talking about, I'm sure. But don't worry... you will someday.