Get Shit Done, Everytable, & Jordon

GSD.jpg

Rip Through Your TDL Like a Software Engineer

This month will round out the first quarter of 2020. How are you tracking? Most people wouldn’t mind getting a bit more done, while also enjoying a little more down-time, which might sound a tad contradictory. We’re here to say that it’s totally doable and because many of us might be working from home quite a bit more, having a framework to get shit done can go a long way. Almost everybody has some form of a To-Do List. It might just be a running list you keep in your head or a notepad while those that are digitally inclined might user a .txt file, Apple Notes or Reminders, Evernote, or Wunderlist. Personally, I’ve used them all and many, many more. While reading a book on software development, I started to wonder what it would be like to manage my own never-ending TDL the way I would a backlog of product requirements.  

Just prior to reading this book, I had attended a keynote talk by the author, Jeff Sutherland at the Silicon Slopes Tech Summit. Jeff is one of the inventors of Agile work planning, or as he named it, “Scrum”. For those who are unfamiliar, before Agile, projects were planned and executed in what is called “Waterfall”. If you line up all of a project’s tasks in one column, and then project the due dates along the rows, the plan (also called a Gantt chart) looks like a cascading waterfall. While better than having no plan at all, Waterfall plans are subject to many problems, especially when it comes to building software on time and on budget. 

The crux of the waterfall issue is that project plans (and most date driven to-do lists) are like battle plans; they look elegant and foolproof until the war starts, in which they then quickly fall apart after the first shots are fired. When building construction goes over budget and takes twice as long to complete then projected, it sucks. Just ask anyone who has had their kitchen remodeled. However, in almost all cases, contractors shuffle their job load, homeowners tough it out, and the material used won’t date very much even if the project is several years behind. Software is another story. Deals, trends and features move so quickly that when a waterfall project finally goes live way later than planned, stakeholders may discover that their assumptions about what users wanted was completely wrong, competitors have leap-frogged them many months ago, and business objectives have changed completely.

Agile is based on the principle of getting the earliest version of a product as soon as possible, and iterating on it from there. This enables early stakeholder and user feedback while reducing the risk of building something undesirable or unusable. However, the holy grail of agile is even more straightforward: when compared to waterfall, things are usually built in half the time and cost. From here, I’ll break down some of the core principles of agile, and how they can be applied to getting shit done for your own daily tasks:

The Backlog: Think of this as a place to capture the things you need to do, just so you don’t forget. Take comfort in the fact that you never have to actually get to the bottom of this list. In fact, there is no bottom; it’s just a dynamic place to get stuff in writing before it falls through the holes in the sieve, aka your brain.

Prioritizing: So if you’re like me, a healthy Backlog might be a few dozen tasks long, and always filling up faster than it can be emptied. This is a good time to talk about tools. Agile is traditionally done with columns of sticky notes on a big wall. However, I like a wall I can take with me and view on different computers or my phone. Trello is a simple and free piece of software to be used for exactly that. After you’ve created your backlog, you can drag the Trello “cards” up or down in the list, prioritizing them in descending order of importance.

The Sprint: This is a cool name for a block of work time, dedicated to a specific number of tasks. It can vary in duration based on the project planning, but for our purposes, a sprint equals one work week. Whether you’re using a notepad, sticky notes or Trello, this upcoming Sprint will be the next column to the right of your Backlog. Now comes the fun part: drag over the first dozen prioritized tasks of your Backlog into the current Sprint. Doing a dozen things in one week might sound like nothing to some people, and feel impossible to others. For me, a dozen tasks amidst all the incoming of my average day is challenging, but not demoralizing. Experiment with a number that you’d be proud to finish, yet doesn’t crush your soul by Wednesday.

Task Status: Trello has customizable, colored labels for cards. For sticky notes, these would all be additional columns to the right of the current Sprint, and these stickies would bounce around based on their current status. I use 3 for my TDL:

  1. Done (green) In the world of Agile, done means DONE. If it were a product feature, you could demonstrate it to stakeholders based on how it works today. In the world of my TDL, it means that there is nothing left for me to do on this task and I can put it behind me 100%. 

  2. Working On It (yellow) I use this status to keep me focused. As the usual array of fires pop up, I can glance back to the yellow label on my board and get back to work without asking myself fifty times a day “What was I just doing?”

  3. Dependency (red) Sometimes you’ll start something and realize you needed to check other folks’ avails before booking that meeting, get approval from the controller before making that purchase, or hear feedback from your husband before booking that trip. So you’ve gone as far as you can go on the task, and have now added this Dependency label to remind you that you might need to check in with that other person or do that research so that you can mark this as done. 

Getting to Why: In Agile, a backlog is comprised of “User Stories”, not tasks. These stories are made up of a persona, an action, and a reason. For example, instead of a task called "make cart editable", a story would read “As a customer, I want to edit my cart, because I might change my mind about the type and quantity of items I will purchase.” Not only do people tend to understand things better that are communicated as stories, but they also hone in the motivation for the requirement. I don’t write user stories for my tasks, but will often include the reason why I need to get it done in my Trello card notes. Having a strong “why” behind a task can give you that extra push to get it done, and also help you prioritize it against other tasks. 

The Scrum: Another key component of Agile is the Scrum meeting (also called Daily Stand-Ups). This is a <15 meeting with all of the people involved in the project that asks three simple questions: 

  1. What did you get done yesterday? 

  2. What are you working on today? 

  3. Is there anything in your way that is keeping your from completing this planned work? 

At the start of the day, you can have a little scrum with yourself, adjusting your board as needed. In addition to the Scrum, there is also a Sprint Planning Session, and a Sprint Postmortem. Planning is about looking over the priorities around what you are considering to do in the coming sprint, and the Postmortem is a quick retrospective of how things went in the previous sprint, gleaning lessons to take forward. For your own TDL, these little meetings with yourself should only take a couple minutes each day to refocus on what you’re currently working on, another at the top of the week to plan, and one more at the end of the week to look back. 

FAQS

Q: My day is a perpetual shit-show of incoming tasks, and it’s stuff that has to happen same-day. How do I manage that against the twelve items I’ve prioritized for the week? 

A: Almost everyone has to deal with this. Here are two ways to handle it: 

(a) If it’s something that will take <10 minutes, just do it. Don’t even write it down. If you have multiple incomings and your short term memory is as bad as mine, you can keep a little notepad open to capture these and handle appropriately. I just use Apple Notes for this. 

(b) If it’s a bit meatier and needs to be added to your current Sprint, that means something else needs to come off and go back into your Backlog. One of the golden rules about Agile is that nobody gets to pile more work into your current Sprint after the planning is complete for it. Doing such is a sure fire way to demoralized people. If this incoming task has to get done, it means that another will be postponed. 

Q: Sometimes I need to work on something, then switch to something else, and then something else. Should I flip the label to “Working On It” for everything I have in flight? 

A: Absolutely not. One of the ways that Agile enables teams to get twice as much done in half the time is by putting blinders on when it comes to the task at hand. Multi-tasking is the death of productivity. Our brains are inherently incapable of anything other than doing one thing well at a time. It’s the reason why texting and driving is deadly and illegal. Do your best to start a task and do nothing else until it is completed. 

Q: One of my tasks is gargantuan and will likely be the only thing I can do all week. I might not even finish it in that time. 

A: In the world of User Stories, this is what is called an “Epic”. Epics should be broken down into bite-sized user stories, or in this case, tasks. For example, “Book my vacation” might be comprised of tasks that include: check family and work schedules, create a budget, look at airfare, book hotels, reserve rental cars and plan attractions. 

Q: I thought this thing would take me 2 hours and it took me 2 days. Now my Sprint plan is shot. What do I do?

A: First of all, take solace in the fact that humans are horrible at estimating the amount of time things take. It is one of the core reasons why Waterfall planning fails so often. This is the beauty of Agile: As long as you work the tenants of this simple system, there is no “failure”, only adjustments. One of the things that separates Agile from Waterfall is the idea that things are not set in stone. With Agile, you embrace the fact that you don’t know what you don’t know, and are free to adjust things as you go along. You plan, learn, and replan. Adjust and reprioritize your Sprint workload to give yourself some breathing room.

Q: What do I do with my Sprint column at the end of the week?

A: Hopefully all the tasks got labeled as done, but if not, the ones that are still open go into your next Sprint, or back into your Backlog column, depending on your current priorities. For the column of completed tasks, you can either archive them, or start a new Sprint Column to the left of this one. This is what I like to do since it lets me a glance back at what has been accomplished in previous weeks.

Q: I somehow snapped into a distraction-free state of nirvana-esque bliss, and cranked through all my tasks and still have two days left in my sprint! Now what?

A: You have two choices. (a) You can add another item from your Backlog onto your current Sprint. However, the deal here is you can only add one at a time. If you finish the one you added, feel free to add another, and so on. (b) Do something fun for yourself. Take a day trip. Get some more physical activity in. Hang out with your family. Do some reading or art. While I gravitate much more towards (a), the better choice is (b). This will help reinforce the reward circuits in your brain, and keep you motivated to stay focused. Being more productive isn’t just about doing more, it’s about living more. These two things are more intrinsically associated than you might expect. Many studies have shown an undeniable link between happiness and productivity. However, people aren’t happy because they’re more productive, but instead are more productive because they are happier. Taking that time to do things that make you happy will only help reinforce the productivity cycle.

Here is a Sample Board in Trello: 

GSD-Trello.png

Project Highlight

Everytable’s mission is to make nutritious, fresh food affordable and accessible to all.  With their unique variable pricing model, communities with lower incomes will pay less than higher income communities...plain and simple.  Operating both brick & mortar locations as well as an online store created some unique challenges for Everytable. Their ordering process needed to be as flexible as their pricing and create a friction-free experience for their customers.  Everytable engaged SPARK6 to design and build a custom Wordpress plugin that would give them the cart functionality they needed while retaining their brand aesthetic. Their original site was built on Squarespace, so the entire product needed to be migrated to Wordpress. Their online store now allows for subscriptions and other convenient ways to enjoy their delicious and healthy meals.

et-1.png
et-3.png
et-2.png

Team Member Spotlight

Jordan.png

Jordon Rupp: developer

S6: So what do you do at SPARK6?
Jordon: I mainly focus my efforts on Wordpress development and a good bit of E-commerce. S6: How did you get into development and what was the path that led you there?

Jordon: Let’s start at the beginning (laughs). About 20 years ago I worked on my first web project...while in University.  I had a project for the Department Chair that I was working for and it was the first time working on a website. It happened that there were assumptions made and I found myself having to write code...back then, I had to actually go to the library, read up on how to write code and just dove in.  From there, I wanted to learn more and worked on sites for friends and small clients.  

S6: What do you like about the web dev space? 

Jordon: There’s constant problem-solving and organizing so many parts that come together...it’s very fulfilling seeing it work out in the end.  Every project seems to have some component that is new and presents an exciting challenge to overcome. 

S6; With technology moving so rapidly, how do you cope with that and stay relevant? 

Jordon: A spend at least an hour a day learning as well as attending conferences.  And I really appreciate how much content is so readily available online. I also attend Meet Ups and have built relationships with other developers.  There are also bootcamps that I attend too...from WP, to PHP to Node. There’s always so much more to learn which I like. 

S6: Since technology is such a large part of what you do for a living, how else do you use technology in other parts of your life?  
Jordon:  Outside of work, I like to keep things pretty technology-free or analog. 

S6: What do you like to do outside of the world of computers and technology?

Jordon: Well, one of the best reasons for living here in California is being outside which I take advantage of. I like to go to the beach, hiking or just out and about.  I do a lot of cooking as well...big into going to Farmer’s Markets and cooking up some delicious food. When I travel, I like to take cooking classes and see how other cultures prepare their food. 

S6: You had mentioned that you’re recovering from the flu... with that in mind what are your thoughts on the Corona virus? 

Jordon: It’s hard to tell with the various information that is coming out. It’s challenging to find a sound source to determine if someone has the standard flu or Corona virus...so it’s confusing at the very least.  I’ve never had a flu shot but I’m thinking that I definitely will next year in light of all this. 

S6: Well hopefully you feel better soon and anything else you’d like to share? 

Jordon: No, nothing else I can think of...thanks!

Previous
Previous

COVID-19. What We're Doing & What You Can Do, Too.

Next
Next

Complaining, Fitness Coaching, & Eric