Below is a question about Agile Development. Let me spend just a moment summarizing my understanding of AD so that we're all on the same page. Below is the basic summary of an Agile project (specifically Extreme Programming). It's a little bit oversimplified in order to keep it short, but should be essentially accurate.
- Very little, if any, upfront design.
- User stories are tracked on cards, which decouples them from any implicit ordering.
- The work is divided into "iterations" of a fixed time length, often two weeks.
- During each iteration, the customer chooses which stories will be worked on. If a problem comes up or a bug needs to be fixed, and this is going delay things, the customer chooses which stories get bumped.
- The team tracks their "velocity", which is a measure of how much they got done in each iteration. This number tends to stabilize pretty quickly, so it becomes useful for estimating how long the rest of the work will take.
- TDD (Test Driven Development): Unit tests are written before code. This is low-level testing that verifies a single subroutine or component.
- Once all stories are complete and all unit tests pass, you enter the acceptance testing (AT) phase. This is high-level testing that verifies the product as a whole.
- Once the ATs pass, the product ships.
I've been doing Agile development for several years now. One problem that I've never gotten a completely satsifactory answer to: velocity tracking works great during development, but starts to break down once you get into the acceptance testing phase--it's hard to write stories for invidivual bugs until you know they exist (which means that the amount of stories in the phase can keep growing) and it's very hard to estimate how long it will take to fix a particular bug.
I've come up with some ad hoc ways of dealing with this, but they don't work particularly well. Are there any Monks, smarter and/or more enlightened than I, that have suggestions on ways that work for them?
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.