DEV Community 👩‍💻👨‍💻

Cover image for There's always time for cheese
Jordan Brennan
Jordan Brennan

Posted on • Updated on

There's always time for cheese

New software features are usually designed, built, and shipped with limited resources, especially at startups, but that's not a good reason to skip on some features because there's always time for cheese!

The analogy

When making a sandwich (a big software feature), the bulk of the time is actually spent gathering ingredients, getting a knife and plate, preparing the ingredients, and cleaning up afterwards. This is synonymous to discussing requirements, branching, getting a fresh env running, writing tests, and the code review. None of these activities are the sandwich and your product gains nothing from it. The assembling stage of making a sandwich is the real work, and, compared to the whole process, the time it takes to add cheese costs almost nothing and yet makes the sandwich so much more delicious.

The cost of skipping cheese

What happens when we don't add cheese? Well, we ship a new sandwich that is known to be lacking. The inevitable request for cheese will come and now the cost of adding cheese is much greater than it would have been when first making the sandwich: go get cheese, disassemble the sandwich, possibly rework the layers, add a slice of cheese, clean up again, and get it back to the customer vs. add the cheese when you were adding meat.

And that's just the engineering cost. Depending on a customer's need or market demand, delaying cheese can often cost much more than that.

Why do we skip the cheese?

I have found the reason for skipping cheese is most often a lack of familiarity with how cheap a piece of work really is. Compared to stakeholders, developers have a much better perspective on what additional work is going to cost, and so they need to help stakeholders understand when something is cheese. Cheese is a valuable addition that easily fits into the work that's already planned.

A misunderstanding of scope creep is the other reason we skip cheese. Cheese is not scope creep, even if it comes into the project discussion later. Drifting from a sandwich to a burger or adding a cookie on the side is scope creep. The easiest way to tell is if the addition requires starting up a new division of work (e.g. get other ingredients, set up more tools, follow a different process).

Wise managers can spot cheese and they make time for it because they understand the cost-benefit favors doing it now, even if they're short on time.

Next time a big feature request comes to you, make time for cheese 🧀

Top comments (0)

Top Heroku Alternatives (For Free!)

Recently Heroku shut down free Heroku Dynos, free Heroku Postgres, and free Heroku Data for Redis on November 28th, 2022. So Meshv Patel put together some free alternatives in this classic DEV post.