Originally posted by Frank Carver:
I just took a look at the demo installation of Extreme Planner, and in general it seems fairly well organized. One thing which struck me, though, is that many things which I would expect to be links are not.
For example, on the Iteration Status view a failed test lights up in red, but no indication of which test has failed - I tried to click the fail message to "drill down", but no such luck.
Similarly, for some of the tasks there is a label which states "No tests defined", but nothing to click to define a test for that task. I spent a few minutes looking in lots of places, but could still not find where to define a new test.
And again, on the same screen, tasks are shown as assigned to spacific users, but the user name is not a link - it neither takes a user to a page about that user, or (probably more useful) a page which shows all the tasks currently assigned to that user, and their status.
When I go to the list of tasks page, the iterations are not clickable, the users are not clickable, and neither are the status values.
I could go on, but I hope you get the message. To me, leaving all these things as un-clickable text is a real waste of user-interface space. An application which users love (rather than just tolerate) is one which works the way they want, rather than forcing a different model.
Any chance of this changing?
Originally posted by Frank Carver:
Thanks.
You wrote: tests are defined against Stories, not Tasks
Is there any particular reason for this? In particular, how do you know that as task has been completed if there are no tests for it?
Taking the tasks in your demo as examples, the "add a product to my shopping cart" story has two tasks "create shopping cart list user interface" and "implement shopping cart storage code". The tests and implementation for these tasks seem very different and could easily be done by different users/pairs.
So what happens if one task is complete but the other isn't? How does Extreme Planner know? it just seems strange that Extreme Planner is not able to access or manage information about the test status of tasks.
Perhaps I'm missing the point here, though, can you clarify how it is supposed to work?
[ October 12, 2006: Message edited by: Frank Carver ]
Originally posted by Frank Carver:
I find it interesting that the article does not mention tasks at all. One way of looking at what Jeffries writes is to conflate the ideas of a story and a task into a single concept, which we might as well just call a story.
This seems to be roughly where my mental model of this lies. Stories can be described at several scales and levels of granularity, but they are still stories. So, in the demo example the large scale story "add a product to my shopping cart" can also be considered as the two finer-grained stories "create shopping cart list user interface" and "implement shopping cart storage code". All of these stories potentially need conversation and confirmation as described in Jeffries article.
I find it hard to imagine the value of arbitrarily pushing the customer away from decisions about a shopping cart UI (for example), and declining to associate any acceptance tests, just because it has been defined as a "task" rather than a "story".
Have you seen any major advantages to this sharp separation between the concepts of "story" and "task" in the EP implementation?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Frank Carver:
It's likely then that I usually work with stories at a slightly lower level than you, then.
I like to deliver stuff. I get a small kick everytime something is completed, and a bigger kick every time something is accepted and/or deployed.
I would see nothing wrong in delivering a shopping cart UI on its own without a storage back-end. In fact, I have occasionally done someting very similar so the client can begin staff training in advance of a live deployment.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Frank Carver:
Even my small stories tend to have business value, because I split each conceptual larger story in a different way. Where the EP demo has "UI" and "storage" as tasks withing "create shopping cart", my approach would be to divide it into much smaller business-value stories such as "show cart button takes the user to a shopping cart screen", "shopping cart screen shows user id", "shopping cart screen shows list of items", "initial shopping cart is empty", "buy button adds an item to shopping cart list", "delete button removes an item from shopping cart list", "clear button removes all items from shopping cart list", "checkout button takes the user to a purchase screen", "purchase screen shows same items as the cart list", and so on.
It appears to me that the EP demo splits the large task "horizontally", where I guess I would try to split it "vertically".
Some or all of these small stories may involve back-end storage, session management, or whatever, but that's a technical aspect which is glossed over in the stories. If a story (such as "show cart button takes the user to a shopping cart screen") obviously does not need back-end storage, then don't code it. Deliver the story and move on. The key point is that they all provide separate business value and can be prioritised and/or omitted for any given release.
Co-incidentally, I also find that this style of story aligns much more intuitively with the acceptance tests. Writing sensible acceptance tests for a large story such as "shopping cart" is not an easy job, and can often descend into a lot of man-hours spent in meetings and wrestling with documents. The acceptance test for "checkout button takes the user to a purchase screen" is almost too obvious.
Does anyone else work like this? Are there any obvious or subtle problems I'm missing?
Originally posted by Frank Carver:
Does anyone else work like this?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Politics n. Poly "many" + ticks "blood sucking insects". Tiny ad:
Gift giving made easy with the permaculture playing cards
https://coderanch.com/t/777758/Gift-giving-easy-permaculture-playing
|