Stone Soup Programming
I recently read (I think it was The Pragmatic Programmer, but I can’t be sure) and it introduced the concept of Stone Soup Programming (if anyone knows the actual book that has a section on this please do share it - it’s in my library somewhere and I don’t have time right now to go searching). I thought it was a great idea at the time and have been waiting for an opportunity to try it out. Well, that opportunity has finally arrived, so I thought I’d share it with you all.
The Tale of Stone Soup
For those unfamiliar with the tale, Stone Soup is a European folk story about hungry travelers who convince a town to each share a small amount of their food to make a communal meal. The travelers start with a pot of water and a stone, and through a bit of social engineering, they convince the townsfolk to add ingredients until a delicious soup is made.
Stone Soup Programming: The Concept
Now, you might be wondering, “What does this have to do with programming?” Well, let’s think about it. The travelers in the story started with a simple stone (or in our case, a basic piece of code). They then invited others to contribute, and with each addition, the soup (or our program) became more robust and flavorful.
This is the essence of Stone Soup Programming. It’s about starting with a simple idea and inviting others to contribute their unique skills and perspectives. It’s about building something together that is greater than the sum of its parts.
Open source software is a great example of Stone Soup Programming. A developer starts with a simple idea, and others contribute to it until it becomes a robust, fully-featured tool.
For what it’s worth, you don’t have to be a developer to practice the Stone Soup methodology. You can apply the same principles to any project, whether it’s a website, a video game, or even a book.
A Real-Life Example: The Chrome Extension
Recently, I found myself in a bit of a pickle. I was dealing with some repetitive tasks that were eating up my time. So, I did what any self-respecting developer would do: I built a quick Chrome extension to automate the process.
But then, I had a Stone Soup moment. I thought, “Why not share this with my team and see if they can add to it?” So, I demoed the extension, explained how it worked, and invited them to contribute.
The Magic of Collaboration
The beauty of Stone Soup Programming is that it fosters collaboration and innovation. It encourages everyone to contribute, regardless of their skill level. And just like the villagers in the story, we often find that we have more to offer than we initially thought.
So, next time you’re working on a project, consider making it a Stone Soup. Invite others to contribute, and see what delicious concoctions you can cook up together. After all, as the old saying goes, “Many hands make light work.” Or in our case, “Many coders make great code.”
Until next time, happy coding! 🚀