#What is Custom Software?
###And what does it have to do with cake?
More than a few times since I have started working in custom software, people have asked me "what is custom software?" I am always happy to explain but I noticed, even for friends that are somewhat tech friendly, they get a little lost in my explanation. I have been trying to come up with ways to relay information from the software world in a way they can relate to in everyday life. I realize not everyone is a chef, but based on the popularity of the Food Network, I'll bet most people can understand the terminology of cooking and baking just by armchair chefing.
This is my breakdown of various types of software, if software was cake.
###1. Simple "off the shelf" solution
Software Example: Microsoft Excel
Kitchen Comparison: Box cake mix
A box cake mix is probably initially developed for years in a test kitchen before its first release. This product also changes over time as ingredients become unavailable (old technologies) or are no longer considered healthy (best practices). A few of those changes can be implemented during a production cycle like correcting a typo on the cake box but other changes like revamping the recipe may require a "new and improved" release. When a user buys a cake mix, they are buying the cake version that is currently being provided by the company. If they want to get the new and improved version, they will need to back to the store and buy a new box. The cake mix company doesn't send out a little packet of additional ingredients for you to add to your existing cake mix. If all you want to do is make a simple cake, you can buy a box of mix and make the cake.
###2. Complex "off the shelf" solution Software Example: A series of spreadsheet forms built in Microsoft Excel
Kitchen Comparison: Wedding cake made from box cake mixes
As opposed to making a simple one layer 9x13 cake using a box cake mix as most mixes are intended to be used, making a wedding cake out of boxed mixes means there is a higher amount of work for the baker (user). Depending on how many layers are added, the time for each layer plus the time for putting the layers together will extend the timeline to create the cake. Delivery (load time) of the cake will also be more difficult with each added layer.
###3. Simple "off the shelf" solution with homegrown add-ons Software Example: An Access database with added UI/forms
Kitchen Comparison: Box cake mix with scratch filling or frosting
Using a box cake mix as the base of the cake can be a timesaver for the overall cake project as long as it suits the needs of your eaters (users). You can easily take a box cake mix and make it into something almost deceptively homemade (customized) by creating a flavorful filling or making a frosting recipe from scratch using fresh ingredients. This is a step above using simple pre-made cake and frosting because you need to source the ingredients and also allow time to mix it up and troubleshoot any issues due to temperature, humidity, etc.
###4. Simple "off the shelf" solution with homegrown add-ons, GONE BAD Software Example: An Access database with added UI/forms that are numerous and horrible
Kitchen Comparison: Box cake mix filled with peanut butter, jelly, M&M's, sardines and topped with two layers of frosting
I'm not sure this one even needs more of an explanation. It looks unappealing and tastes awful. Someone just got carried away with individual steps and never accounted for the overall cake itself. This one, if it's eaten at all, will be eaten in very small bites followed by a frown (bad user experience).
###5. Simple Custom Software Application Software Example: A mobile app with a few main features, like Instagram
Kitchen Comparison: Homemade cake with homemade frosting
Compared to a box cake, the effort of making something from scratch does require more planning and more effort. Sourcing the correct ingredients, using the right methods to put them together and then baking, frosting, etc., requires some bit of time to a great cake. This is not tried and true like a box cake mix and unless you've made a few cakes from scratch already, there is a risk something will go wrong.
###6. Complex Custom Software Application Software Example: A web app with several forms, workflows and integrations, like your banking software
Kitchen Comparison: Homemade vegan, gluten-free cake with whole food sweetened frosting
Vegan AND gluten free is about the highest difficulty rating you encounter in the baking world. If you are trying to deliver one or the other, odds are high for success. The added layer of complexity is the combination of the two. With the vegan option, you can rely on the wheat gluten to provide the correct cohesion to allow for the cake to have a nice texture. With the gluten free option, you can always use eggs and dairy to make sure things are properly held together. When you try to accommodate baking features of vegan and gluten-free, the whole cake is prone to crumbling. This level of baking requires a lot of experience to have consistently good results. If you're capable of delivering a wedding cake that is vegan, gluten-free, with many layers, flavors, and decorations, you're the ultimate baker.
If you've checked out my other posts, you'll see food is a strong theme. This will continue. If you have questions about custom software, or cake, leave a comment. I'd love to hear your thoughts on both!