Font Awesome

Always Be Shipping (and On Time for Dinner): Why We Use Shape Up

by Matt Johnson

Building the interwebs is no joke. Many scheduling philosophies have emerged to tackle the complexity of planning and building software, including SCRUM, Agile, Kanban, Lean IT, and the list goes on. Unfortunately, as great as these methodologies can be when implemented well, they’re not always systems that help produce holistic software. 

At Font Awesome, we historically struggled with scope creep, and the traditional methods just didn’t seem to work. That’s when we read about Shape Up; the method developed and used by the team at Basecamp. 

Shape Up has helped the Font Awesome Team stay on track more consistently, ship on time, and keep the main thing the main thing in work, business, and at home. 

Get a free electronic copy of Shape Up! 

Shape Up Consists of Three Main Workflows Including: 

Shaping: This is the pre-work that takes place before projects make it into the schedule. Shaping includes specific steps like setting an appetite for a raw idea, outlining a basic solution, and writing a pitch that explains the core ideas of a potential project. 

Betting: This stage involves how to decide on potential projects and what to build during a six-week chunk of time. 

Building: This stage is about the expectations we have for a team, allowing them to discover their own creative way to ship a feature and problem-solving between design and programming.

To get a clearer picture of how Shape Up works in action at Font Awesome, we caught up with Travis Chase, aka, “Supercodepoet,” Font Awesome co-founder extraordinaire.   

Can you tell me a bit about how Font Awesome started using Shape Up and why it seemed like a good fit for your workflows? 

A lot of us [at Font Awesome] have worked within lots of different Agile methodologies. And we’ve even hacked them, so they worked better for us by tweaking variations of Kanban and Scrum. Ultimately though, we’re always trying to find a way to ship high-quality software within a doable timeframe consistently. 

In software development, shipping to the customer is the hardest thing. And finding a way to do that at a high quality consistently is a goal that tons of companies aim to achieve.

And you’ve said before that it’s been crucial to you and Dave Gandy to align Font Awesome’s business philosophy with how you all work, right?

Yes, it’s important to us that our business philosophy informs how we work. For example, years ago, I was working in a corporate environment and feeling frustrated. Then I read the book, ReWork and Getting Real — the books created by the team at 37signals / Basecamp, so I started following what they were doing. They did a great job of figuring out how to meld their software building philosophy with their business strategy, and that seemed to make sense for Font Awesome, too. 

Then Basecamp officially codified on paper how they ship software. So they wrote Shape Up, which was a natural fit to our philosophy of shipping high-quality software consistently. 

Was this around the time that Font Awesome launched the Kickstarter?

Yeah, when we launched Font Awesome 5, we did a Kickstarter, a one-time purchase that got us going. It was a wild success, but we still needed a way forward.

Check out the Font Awesome 5 Kickstarter promo video.

So we thought about shipping new products with different models. We knew we didn’t want to nickel and dime new customers with too many purchase options like icon packs and upgrades. That sales model is a hassle to manage for the customer and us. 

Instead, we wanted to develop a pricing model that was similar to Amazon Prime. Prime has two-day shipping, but they also continue adding features like movie and TV show streaming options, music, and free Kindle downloads. And since Font Awesome is a SaaS business, we wanted subscribers to have the same experience. So as long as a customer is subscribed, they get access to everything new that we build. 

To do that, we had to set up your organization sustainably without burning out our team or shipping inferior quality. And so, in my mind, Shape Up fits that need.

And Scrum or Agile doesn’t work well with that philosophy? 

The problem with a standard Agile or Scrum two-week sprint is you can never get something significant done. You get a piece of it, and then maybe putting a bunch of two-week sprints together, you would have something meaningful, but it’s hard. You’re always building little bitty pieces and refactoring as needed, but it was always hard to see the whole. But with Shape Up, there’s a whole six weeks to get something done that feels complete. 

After the six weeks, there’s a two-week cooldown period, which gives you a chance to clean up work or add a feature that didn’t quite make it into the sprint. It also gives people an opportunity for self-development and to build new skills. Cooldown is still working, but it’s self-directed. 

What work method did you use before Shape Up? 

I think right before Shape Up, we were using a hybrid of Scrum and Kanban. We’d set up a software release time and a cleanup time of three weeks each. But when we failed to ship in those three weeks, we’d keep adding more time to the project. Before long, you would come up for air, and it’d be like two months later. But in those scenarios, we’d end up building things we didn’t need because we hadn’t thought out the scope of the work carefully. 

With Shape Up, we can define the project better. Not in infinite detail — you’ve got to leave room for the team to create and build solutions. But you’re going to think about the work you want to get done. In Scrum or Agile, you lay out requirements. But in Shape Up, you lay out scoped bets. So, you say, “I want this feature, and I’m willing to give three weeks to that.” That’s what’s called the “bet.” Then at the end of the three weeks, you stop. 

What happens during the cooldown period? 

You take time to take a look at the work and ask, “did we do something wrong? Is it something we want to continue with?” So you’re giving it a scope of how much you’re willing to invest into it.

When you hammer out a scope of work, you find the core of what you’re trying to do. Then you define the amount of software and features to fulfill that core idea and go and build a holistic solution instead of a bunch of ancillary features that would be nice to have but aren’t representative of the core.

And with Shape Up, you make assumptions about the project, so you have more wiggle room later, right?

Right. We assume 50% of what we build is correct, but 50% is also wrong. So, you want to ship software to your customers and listen to their feedback. The quicker you can get stuff into your customer’s hands, the sooner they can tell you where it’s wrong or needs to be changed. 

So if you try to build the center of a solution and discover you didn’t hit the mark, you can make adjustments. You limit not only your investment, and you’re only investing as much up to six weeks. That’s a much better cadence than investing a year, only to find out that you didn’t deliver what your customer needed. So it’s better to get something that is small and complete around the core idea. You get it out there, and then they tell you what features they want.

Sometimes it’s surprising to get a core idea out to the customer and realize that’s all they needed. They never ask for new features. But the point is to continually get software into our customer’s hands and delight them. And then, if something doesn’t quite hit the mark, they can tell us, and we know that quicker than investing a bunch of time and effort around something that could be wrong.

One of the surprising values I took away from reading Shape Up is that it’s okay, maybe even expected, that work gets abandoned. That shipping is the highest priority, and backlogs kill productivity.  

Right. And knowing that if you get into something and it turns out to be more complicated than you thought it would be, you can abandon it and address the issues later if or when business or customer needs arise. 

Shape Up helps systematize healthy time constraints. Building software is as much mathematics as art, and the constraints foster creativity because you realize that not everything is possible. And once you know that, you can get more creative with your solution instead of endlessly fiddling. 

Have there been times when the six-week method doesn’t work at Font Awesome? 

Yeah. In cases where we have specific features that have to go together, like when we enabled Font Awesome Kits, it had to be fully enabled. The good thing is Shape Up accounts for when projects go long. At the end of the six weeks, you stop and evaluate. If you can get everything done within another week, we’ll go ahead and invest the time. But if we realize there are a whole lot of unknowns at the end of the six weeks, we’ll reevaluate the project. We might choose to pick it back up again in two weeks after the two-week cooldown and continue, but that’s a clue that we need to reevaluate. 

There are times we’ve extended the split by a week or so to make sure we get an entire project out. Sometimes all we need to do is test something. Because not only do we have different versions of Font Awesome that have actual different icons on them, but we also have tons of plugins and frameworks that we have to test to make sure they work. 

Are there times you have to squeeze in more than six weeks for a given project?

Sometimes we can leak a little bit past six weeks, and we need a few days to clean that. Or we need a few days to deploy. We’re okay with that. But mostly, we try to stick to the method to try to force ourselves to get creative. Because if we get used to going over, we’ll always go over. If you do it too often, you’ll break the system if you don’t start with rules as written.

Shape Up seems to work well. Especially when you follow its philosophy, it allows us to ship holistic, high-quality software to customers in a reasonable timeframe. All while remaining sane. 

Part of Shape Up also comes into the business philosophy of how we work at Font Awesome. Our weekends are our weekends. Sometimes we work extra when things come up, but that’s not the norm. If we’re consistently working extra hours, it means something is wrong. It’s an indicator that we need to scope the work better or reshape the work.  

I like that philosophy. It seems holistic. Teams are often so bent on working their fingers to the bone to prove their worth. 

Yeah. Early in my career, I worked with a guy who didn’t have a great home life. So, he’d stay and work all the time. But he’d start creating problems. So I can’t entirely agree with the traditional business culture of the hustle and putting in more time.

I don’t actually think you get more done. Ever. I think you make poor decisions and work on the wrong things. If you have the constraints of family commitments or other things outside of work, you have to make better decisions. You have to be more creative and get quality work done. Not just busywork.

Follow Travis Chase on Twitter

Get a Free Electronic Copy of Shape Up