The Four Hour Sprint

If you want to talk about themes that have dominated the last year of my life, “agile” has got to be one of the most popular. It seems that everyone wants to be agile, and there’s a lot of debate about what that means, if anything. Agile software development is a group of software development methodologies that are based on iterative and incremental development. It comes in a variety of flavors, the most popular being Scrum.

If you’re familiar with Scrum you know the common traits:

  • Release often: Success if based on shipping working product.
  • Don’t release crap: Trim back the features and release something that works well, both for you and your customer.
  • Iterate: This week you’ll do X, next week you’ll do Y, even if that means undoing X.

The mechanics of a successful agile team vary, commonly differentiated by the length of a sprint or iteration. After much tweaking I’ve found that the shorter the sprint the better. I’m currently working in four-hour sprints and here’s why you should too.

Incedental Reasons

  • Four hours is about the amount of time you can spend in Starbucks without your ass going numb.
  • Four hours is about the amount of time you can actually focus. Hunger is usually my biggest distraction.
  • Four hours is about the amount of time your laptop battery will last without re-charging.

For Realzy Reasons

4 Hour Timer

  • You have to manage scope: When you measure your sprints in hours - not days - you have no choice but to seriously question the scope of what you’re doing. You have to ship something! So, get your shit together.
  • You can’t write garbage code: Let’s face it, how much damage can you do to a codebase in four hours? If tests have to pass and a deployment has to happen you just don’t have time to fuck around.
  • You’ll get realistic: Constraints breed creativity. You’ll come up with incredible solutions to deliver on your deadline.

I know, this won’t work for everyone. I’ve worked on projects where simply deploying was a four hour task in and of itself! That’s garbage. If this is you, put “make deployments easy” at the top of your to-do list. Maybe your part of a bigger team, where coordinating deployments can get tricky. Work towards building a team of branching ninjas that can compartmentalize features and releases.

We’re very simple creatures. Most projects, probably the one you’re working on right now, go over budget and over time. That’s because, as humans, we grossly overestimate what we’re capable of actually accomplishing. Don’t fight it! Break things down into chunks you can actually handle.

Thanks for reading! I'm Avand.

I am a full-stack software engineer, product designer, and teacher. I’ve been working on the web for over a decade and am passionate about building great products.

I currently work at Airbnb, where I work on internal products that help the company build quality software that customers love. Before that, I was at Mystery Science, transforming how elementary school teachers teach science. For a while, I also taught with General Assembly, teaching aspiring developers the basics of front-end web development.

I was born in Boston, grew up in Salt Lake City, and spent many years living in Chicago. Now, I call San Francisco my home.

I enjoy the great outdoors and absolutely love music and dance. Cars have been an lifelong obsession of mine, especially vintage BMWs and Volkswagens. I’m the very proud owner of a van, duh, and he and I plan to one day visit all the national parks and baseball stadiums. Then, off to Central America. A man can dream :)

What can I do for you?

Read my other posts or get in touch: