Sunday, July 12, 2015

Tools: emulating (Rally) Agile work using Appigo ToDo.app and ToDo Cloud

My circumstances have changed. I may have more to say on that later; even in the sort term it is probably a change for the better. But of course life must be lived forward and understood backwards and all that.

One of the benefits of my new position is an opportunity to revisit my Tools. At one time (less so now) I’d read that tools didn’t matter, it was all about … something. Process maybe, or magic. This was sometimes used to justify a lack of investment in tools to support getting work done. I won’t bother refuting this idea, it’s self-evidently wrong.

Tool choices shape everything. I like Tools that last years to decades; switching costs are often high [10]. In practice, since modern software has very short lifespans, this means choosing adaptable tools and, when data lifespan is longer than tool life expectancy, portable data. For a serious Tool complexity and learning curve don’t bother me, but complexity shortens already too short software lifespans and and usually binds a Tool to a single platform (web typically). So I reluctantly favor simplicity - just enough functionality to do what I need. (I despise the current fashion for early delivery of barely working products, but that’s another story.)

These past few days I’ve been choosing my go-forward task and project management tool. Over the past few years I’ve used a mixture of Google/Outlook Calendars (don't underestimate the power of the Calendar), Appigo ToDo.app for iOS with sync to Toodledo for web access and data freedom, and RallyDev’s “Rally” Agile project/task management software.

I could write a book on the RallyAgile (which is Agile shaped by Rally) and the twisted evolution of that tortured product. It is hard to watch software adolescence — the drinking, the reckless driving, the law breakin … then, if one is lucky, the emergence of a somewhat broken product that may do some good in the world.

Suffice to say there are things I liked about the way I adapted RallyAgile, such as Features that are completed in 3-10 weeks of work, Feature-Stories that map to 1-10 days of work, and Feature-Story-Tasks that map to 1-6 hours of work. I sized “Stories” [1] by “Points” where a “Point” is 5 hours of work [2], and where a Story could be any one of 1, 3, 5, 8, 13, 20 Points [3]. I liked two week iterations [4] as a practical planning unit - a period where each task was (tentatively) assigned Calendar blocks and where one could focus on getting Stories complete rather than constantly replanning. I liked having protected time for planning a “Release” (set of Features basically) and for planning an “Iteration” (2-3 week collection of Stories), time to review and improve process, and time to look ahead and reassess “Features” and “Release”.

Today I’ve made my first pass at a set of Tools (and, yes, practices) that will give me the functionality I want within the constraints [5] of time, budget, familiarity, platform (Mac/web) and the requirements of longevity. In bullet form, here’s my list:

  • Google Calendar: Well, I’m certainly not going to use anything Apple owns [6], and Outlook is owned by ZombieSoft. So pretty much narrows that down.
  • Appigo ToDo and ToDo Cloud: I never seriously considered Rally. Omni products are too platform specific and I fear lifespan. My use of Toodledo was a path-dependency accident of history, and now that Appigo has fixed task-creation-by-email I can switch fully. Primary downside is data lock [7]. My next option would have been Trello, but there’s no native Mac client, I don’t need distributed team support, it’s complex, the nomenclature is odd, etc. [8]
Here’s how I map “Agile” style of “getting things done” [9] to Appigo ToDo
  • Tasks -> Tasks. (Tasks are are tied to projects may get Stars, not sure if I need to do that)
  • Stories -> Projects
  • Features -> List Name (Contexts and Tags will take on some of the things I use List Names for).
I think I’ll put “hours” and “points” into the Titles of Tasks and Stories.
 
The relation of “Features” to bigger Goals/Initiatives/etc I plan to map out in MindNode.app, but that’s another post.

Tasks associated with “Stories” get slots on the Calendar. I will still use Appigo ToDo for tasks unrelated to “Features”/“Projects”, those have the usual ABC priority (simplified from old Franklin/GTD priorities) which work like this:

  • A/High: Get Due Date and time on calendar
  • B/Medium: May get a due date, may have calendar time
  • C/Low: No due date, no calendar
I’ll update this post in future as I fill in the rough spots.

- fn -

[1] Without going into details on my own twisted adaptation of Agile, I dislike the word “Story” and all of it’s subject-action baggage. I use “Story” to mean a testable unit of work that is composed of tasks, is measured in “points” where a “point” is 5 hours of real work, and may be part of a “Feature” (which is, etc).

[2] Ok, one more detail. The mysticism about the meaning of a “Story” "Point” also annoys.

[3] Fibonacci more or less, where as Points go up so does uncertainty. I was the best Estimator I know of — I’d do my initial Story estimates, decompose to Tasks and assign hours to tasks, sum the hours and divide by 5, then round up to next Fibonacci number (so 11 hours is 3 points). When I did Task estimates I assumed an average rather than ideal path, and adjusted for dependencies — esp. on unreliable corporate infrastructure.

[4] In practice this was too much planning overhead with distributed teams; 3 weeks is better in that case. I like 2 weeks for local teams. I could write another book on doing corporate software development with distributed teams.

[5] Ahh, Constraints. So important to choice, thus project planning. Could write a book about those too :-). Constraints are my friend, a relative of Requirements I suppose.

[6] Has any company ever killed more data, data formats, products and platforms? Apple is a charming TV sociopath serial-killer of a company.

[7] App.net.@clarkgoble tells me there’s a SQLite database and Todo Cloud data is CalDAV and theoretically extractable, though I suspect much would be lost. There’s also the back door of switching back to Toodledo and their export features, but that’s a cheat. I wish Toodledo had implemented full-text search, but I understand my task volume and complexity is not their market.

[8] I’m keeping on eye on Trello. Familiarity and time were constraints too.

[9] Yeah, GTD and all kinds of old Franklin stuff on goals, etc all fit in here, but that’s yet another book.

[10] In writing this post I reviewed past blog posts. It wasn’t too hard to switch from Franklin Planner paper to the PalmOS in the 90s, but the 00s switch from PalmOS productivity Tools to early iOS was brutal. Awful. Horrible. MobileMe… argggggghhh. It went on for years, no thanks to Apple [6] but sincere thanks to pre-Evil Google. The pain of that switch is one reason I’m reluctant to commit to anything novel - like Trello.

See also

No comments: