Two Cakes: A Metaphor for Agile Development
Title: Two Cakes: A Metaphor for Software Development Abstract: | I made two cakes this weekend. In reflection, the process allowed me to think through one of the primary benefits of Agile Programming methods.
My child is celebrating a birthday on Monday. My spouse and I decided to throw a party yesterday. Saturday was just a more convenient day for us and our Zoom guests. One of my duties was to source a birthday cake. I knew exactly what my parameters were: chocolate frosting and super heroes.
I still messed it up, but everything went so much better for it.
The Cake as a Metaphor for Agile Practices
I knew everything that I needed to know in order to make this birthday cake. I knew how to bake. I knew how to decorate. I knew what flavors to use. This should have been a shoe-in. But I did not do the most important thing: verify with my client.
As it went down, I put my child to bed on Friday night and then got busy decorating the cake. I had already baked off a layer cake and let it cool. I made the frosting and then got started on the decorating. I used marshmallow-rice treats as a basic molding material and wrapped colored fondant around to make approximations of super hero masks, medallions, and features to put on top of the cake. I then put the cake away and went on with my evening.
In the morning, I revealed my work to the birthday celebrant. It was not correct. There were supposed to be miniature superhero figures on the sides of the cake. The representation was all wrong.
In this moment, I re-learned a lesson that I have to re-learn from time to time: Solicit direct feedback from your primary stakeholder while you are in the process of creation.
I could have begun a portion of the decorating with my child prior to bedtime. I could also have discussed the plans with the cake a prop that we could use to collaboratively envision what it would look like. I didn’t. And now I have a problem.
The Process is the Point
This problem isn’t terribly dire. But the disappointment of a soon-to-be-five-year-old can be crushing. Not to mention the fact that I already know that my very stubborn child may be put off from the cake and decide to be unhappy during his party. Again, not the end of the world, but I have an opportunity to avoid this malady.
I just made a cake. I know that I have enough ingredients to make another cake. I don’t have enough fondant to remake a lot of figures, but I do have enought to make at least one. I also know that I can invite my child to make the cake and invest in it with me. I can also predict when I’ll be going grocery shopping again and know I can replace or stock up on any items that we’re running low on.
I’m not thrilled to be making another cake, but I’ve made enough that the process isn’t onerous. I do get to spend quality time with my child and am pleased to be both assistant and instructor. We eventually have a pretty ugly cake, but it’s one that we’re both very proud of.
“Nailed It”
In the end, the birthday party went off without a hitch and we had a cake that we were all delighted by, even if my child said that it looked like something you’d see on Nailed It!. That was perfect. My spouse laughed; the guests laughed; my child laughed. I was proud, not only that my child made a birthday cake but also in having enough humility to appreciate it.
Pride in a work doesn’t come from perfection. It comes from investment. It comes from putting in the energy and seeing the results. My pride took a hit when my cake wasn’t up to snuff. But I got it all back and then some when we could share in the process and in the product.
I might have been able to make a passable cake if I had learned up front what the actual requirements were. But it’d be my cake. By sharing the process, it became our cake. Every so often, I need to be reminded that my best work comes from making an imperfect “our” thing rather than the best possible “my” thing.
Now I have a different problem: I have two cakes. It’s not like our Zoom guests could take any home with them.