This content originally appeared on DEV Community and was authored by Jordan Brennan
New software features are usually designed, built, and shipped with limited resources, especially at startups, but that's not an excuse to skimp on basic 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 what it would have been (e.g. go get cheese, disassemble the sandwich, possibly rework the layers, add a slice of cheese, and clean up again 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 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 it, even if they're short on time.
Next time a big feature request comes to you, make time for cheese ?
This content originally appeared on DEV Community and was authored by Jordan Brennan
Jordan Brennan | Sciencx (2021-08-14T08:36:53+00:00) There’s always time for cheese. Retrieved from https://www.scien.cx/2021/08/14/theres-always-time-for-cheese/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.