So once again I embark on another exploratory voyage to scratch an itch ..
I have trouble tracking my money. Frankly because it is too boring..
Some time back, I attended a leadership course that had a module on Finance.. and predictably I went through it like greased lightning.. I resolved to diligently go through those notes soon. Still haven't :)
Now that I know a bit about cashflow and balance sheets, I would like to create them.. and since it sucks the joy out of me.. I'd rather like someone else to do it for me... my computer. Nothing too fancy.. just basic stuff.
Around the same time, I get enchanted with Rails.. So it's time to put my knowledge to the sword. And since I don't want this to be too easy, I'm going to practice what I read in Mike Cohn's book on Agile Estimation.
So I'm going to try to be as agile as I possibly can and get a working application and lots of learning out of this. I christen this app - ShowMeTheMoney like Cuba Gooding yelled out in Jerry Maguire.
Since I do this in my personal off-office time, we need to scale down time units
1 day => 2 hrs of real time
1 Iteration (2 weeks - 10 days) => 20 hrs of real time
So I come with the list of stories for this app as seen in Sheet#1
I play a bit of "planning poker" (with myself due to constraints) to come up with the story point estimates.. Looks like 14 story points in all.
So quickly let's ask the customer (Me again) to see which ones is most important to him. I pick 6, 1 and 2 to allow me to enter receipts and expenditures as that constitutes a working product.
Lets break this down into itsy bitsy tasks first. Thats seen in Sheet 3. We come with an estimate of 27 ideal hrs including some project preparation tasks like setting up a build server.
I'd like to keep some slack since I'm dealing with new tech here. So we'd plan for 15 hours of work in the first iteration - 75% utilization. I choose to leave out of Story#2 - Group expenses by category for now; we'll have a usable app tracking my transactions and we can build in categorization later.
So we're aiming for 2 story points this iteration. This is our initial velocity. Dividing total number of story points (14) by velocity (2), gives us 7 iterations. Since this is the start of the project, we're not too confident of this estimate.. so it would be wise to state this estimate as a range - multiplying 7 by 0.6 and 1.6,
Our initial estimate is 4 to 11 iterations. We're not saying 4 or 11 but rather that it may take that much time. Only results from actual iterations will help us improve our estimate and narrow down this range.
[A few hours later]
I finished reading Pragmatic Project Automation and strafed again thru Pragmatic Version Control. Let's begin..