Last updated: April 17th, 2015
Instant look ups for setting project paths in task lists even with 50,000 folders.
Redesigned method for entering a new tasks, or selecting an existing tasks, as an interruption.
Removes the limitation of only having one day associated with a task. This work would lead into having different ROI prioritizations for different lists.
Allows alarms to be attached to task recurrences and newly created todos and appointments.
For simplicity, I describe the progress of a branch by these 3 stages:
PlanningWhere I explore the potential and categorize the essentials. This includes any research that is necessary and building a prototype to test feasibility, especially in areas that have technical risk. This is the hardest part because I’m not bounded by describing it anywhere but in my mind, and yet a mistake can mean weeks of lost time because your mental model, and the implementation are now diverging. You do everything right, and it seems trivial as it all falls into place and you question why you needed to plan anything. Then I formalize the plan by setting the impacts and estimates. |
DevelopmentWriting the code. |
VerificationWhere I’m writing end to end tests and talking with beta testers to confirm that it’s the right thing. |
Daily I aim to put in 12 sessions of 30m into programming. I focus on each branch for 4 sessions. Then I go have something to eat, and I read. Then I come back and move on to the next branch.
If I finish early, then I reward myself by working on another branch that improves the development process.
During the mid-day when I answer E-mails, I investigate all incoming bug reports that aren't already known. This is to ensure that there isn't a deeper problem lurking behind the symptoms. I then add them as work to the branch that is closest to being released.
Though rare, if an urgent bug is found I drop everything and work on a clean branch of the latest version to quickly get a new fixed download out.