The Thanksgiving meal and MBD have a lot in common; both are times when people come together, both involve many moving parts, and both are better with some forethought and planning. (No one can cook a turkey at the last minute). With that in mind here is how the courses in Thanksgiving meal map onto the MBD process.
The salad: documentation
Let us be honest, when you think of Thanksgiving you generally don’t think of a salad, but your pretty happy you have something light given the heavy items in the meal. That is why it maps onto documentation in MBD. Something you are happy to have from your tool providers and something that you hope exists a year from now when you come back to look at what you put together.
Bonus thought: Like salad documentation is good for you
For many people
cranberries enter their life at Thanksgiving and depart after Christmas. They know it is supposed to be part of the meal but they don’t really know why they are having them. In the Thanksgiving meal, the cranberries provide the bitter / acid component to what is otherwise a sweet and fatty meal. With Model-Based Design requirements provide the harsh acid of truth against which your design is measured.
Bonus thought: In the same way that cranberries grow in a bog, requirements grow out of the confusing of initial requests.
Mashed potatoes: testing
Buttery, starchy, with garlic or herbs, mashed potatoes could (in my humble opinion) form a meal in and of themselves. Once the gravy from the turkey is added in the is added in the analogy to testing becomes clear. Mashed potatoes bond with the turkey through gravy, testing bonds with the models by wrapping their outputs in loving bits of analysis.
Bonus thought: in the same way mash potatoes can become to heavy if you don’t prep them well, testing can become burdensome if you don’t plan ahead.
Turkey: the model
In the same way that the turkey is the center of the meal, the model is the center of Model-Based Design. Much like a turkey, you can overcook them (poor architecture leading to hard to swallow models). Undercook them (poorly design models with gaps or holes that lead to poisoned outcomes). However, with just a little bit of forethought, you can have a juicy delicious bird.
Bonus thought: Much like deep frying turkeys was a fad a few years ago there are fads in software development. In the end, good development practices don’t change; be clear, be complete and test; don’t fall for fads.
The dessert: certification
Certification is the dessert of the meal. It may come at the end of everything but I bet you have been thinking about it during the rest of the meal.
Bonus thought: Certification does not mean you have a good product. It just means you have followed a process. Take your time to do it right and you can have your cake (pie) and eat it too.
There are many parts of Model-Based Design, they all have their uses, and we all will have our favorite parts. For those of you in the US, happy Thanksgiving.