May 20th, 2006
We completed the first iteration of AgendaRedux. At this point in time, there are 8 iterations planned for the first release (so 1 down, seven to go). The goal of the first release is to rebuild existing Agenda functionality. The purpose of this release is to prove that Agenda can be done as a webapp. The application will be functional, but the deployment environment will only be set up for a targetted set of ‘alpha’ customers.
Release 2 will be about adding features to satisfy the needs of the targeted ‘beta’ customers and incorporate the feedback of the ‘alpha’ customers.
Release 3 will be about scaling up production and opening up the product to additional markets.
Now, on to the iteration wrap-up….
Iteration 1: Basic entry of items and categories
The goal here is to get some scafolding up to try our ideas on. In Agenda terms that means getting the basic building blocks in place: items, categories, and at least one hard coded view to see them in. The look will be ugly. It will look exactly like what you would expect a developer to produce when he is just worried about getting the basic building blocks together. It will not in any way represent the final look of the screens. What it will do is give us a starting point. So, for us to have a starting point, we will need to have the following features in place:
- It’s a web-app, so we need basic user-admin support: register, login DONE
- We need a workbench where we can open existing modules (akin to agenda files and I am all ears for a better name than file or module) or lets you create a new one. DONE
- We need at least one view, and that is all you will get . The view will have one section bound to a category called Redux. I supposed I could have gone for nostalgia (for those of you that used Agenda 1.0) and called it ‘untilted’. DONE
- We need a category manager page that lets you create, update, and delete a category. DONE (update moved to later iteration)
- We need to support building parent/child relationships of the categories DONE
- Back on the view we have, we will need to support create, update, and delete an item. DONE (update moved to later iteration)
- We will need to have an item edit page where you can change the item text and category assignments. (moved to later iteration)
I also have some non-story oriented tasks I will need to do:
- Get Agenda installed on my machine here. It has been a while since I used it and I miss it. DONE
- Get the site infrastructure ready so that we can deploy to it by the time Iteratin 2 is done. DONE
Estimated Days: 10
Actual Days: 8 (w00t, we rock!)
We hit our primary objectives. We did move a few things to later iterations. The primary reason was that there would be no additional value to have done those items in this release. The original reason they were in there was to drive out requirements for the underlying database model. But that work went well is actually ahead of schedule. The only remaining value of the moved items, then would have been to drive out user interface issues — but this iteration was never about the user interface (as the entire interface will get replaced in the next couple of iterations).
The following is an unreadable screenshot (:P) of the iteration plan for the first release. Though the actual content may be tough to read, the current estimated work only takes us to iteration 4 (with a little spill over to iteration 5). With each iteration, we learn more and I expect the project to be fully estimated by the end of iteration 3.
This is a velocity-graph view of the iteration estimates.I expect this graph to change quite a bit over the next three iterations as we add team members and update estimates.
At the end of the NEXT iteration, the goal is to give you the ability to interact with the product directly, but for now, you will have to make due with this walk through of the screen shots.
I start out at the login page:
Since I don’t yet have an account, I click on “Register”…
… and enter in my information and press “Add User”. The welcome page then opens. And I click on “New File…”
I enter in a name for the new file and press “Add file”. The Home View opens. I enter in my first item “Plan trip to Russia with Tanya”. Here is a blow-up of the view (to make it a bit easier to read).
Now, we will need some categories. I click on “Category Manager…”. Here is a blow-up of the initial category manager:
I then add a few categories:
Visually, none of this is very exciting. But it is a very important starting point. The building blocks of Agenda are: Items, Categories, Views, Sections, and Columns. In this iteration, we created model objects for all but the columns. So the core agenda data model is in place!
The following unit test illustrates the usage of the key category functions:
And this unit test shows some of the key functions of items:
Stay tuned for the Iteration-2 kick-off!
Entry Filed under: Agenda Redux