benefits of coding with an organized mind • Defining your work: how to break a project into small, discrete tasks • Setting up your work: using a to-do list • Carrying out your work: working tidily
an appointment for 2:00pm on Monday. Add the appointment to the calendar.” • “Winston Yapplezapple calls back later to reschedule the appointment for 3:00pm. Reschedule the appointment.”
tractable • Get appointment system working • Add ability to schedule an appointment • Add ability to add a patient to an appointment • Get a patient field to show up in the appointment form
talk - Van oil change - Order spatulas on Amazon Work - Ability to save appointment - - Test for saving appointment (valid case) - - Test for saving appointment (invalid case) - - Test for saving appointment (schedule conflict) - Ability to cancel existing appointment
Don’t allow Twitter/FB/etc. notifications on your phone or computer (and preferably just delete the apps from your phone) • Clearly state your current goal and related tasks, using nested levels of granularity
of work • I tend to commit every 5-15 minutes • Commits allow you to periodically clear your mind • Atomic commits make rollback/troubleshooting easier
few days are risky (divergence) • The more branches you have, the longer they live, and the bigger they are, the more overhead and confusion they cost • When working on large features, favor feature flags over long-living branches • git-flow is horrible
and make sure every story is crisply defined • Write down everything you’re going to do, and always be able to answer “What am I trying to accomplish right now?” • Work in small units, using atomic commits, frequent integrations and frequent deployments