Tuesday, December 11, 2007

Use cases in Agile

What can you do if your organization is use-case-driven? are you out of agile because of that? I think that many people have made the wrong statement that agile (xp, scrum, etc) promotes no documentation or that "code is the documentation", and because of that agile practices are stated to be lazzy in documenting (for example, with use cases). Check out this funny Dilbert post:

So, is agile about not documenting? Nope. The principle "Eliminate waste" from Lean states "eliminate anything which does not add value to the final product". Are documents waste? It depends. Do the right amount of documents that you need for communicating with your users, developers, testers, technical writers, etc.

Are use cases waste? My guess is they aren't if they are used the right way. If you write use cases in a Cascade style, you'll produce a lot of documents at the beginning of the project. Then, you may end rewriting them later when you and your developers know better the business domain. Rework is waste. We did that in some projects this year and maybe a learned lesson is not trying to figure out everything from the beginning.

If you ask me, I may propose you to write use cases on a "Just in Time" approach. For explaining this approach I'll post about User stories and uses cases later. Meanwhile, I recommend you to read this explanation of 10 simple rules of Lean Manufacturing applied to software: http://www.agilealliance.org/system/article/file/783/file.html

Check other funny Dilberts on extreme and agile programming here: http://globalnerdy.com/2007/11/28/dilbert-on-extreme-and-agile-programming/

Make great code!

No comments: