Monday, February 07, 2005

modular mindset

’m afraid development ideas are now starting to flood into my outside life. On a grocery store excursion I recently had the choice of buying a small jar of “Chicken Fajita Seasoning” or purchasing each spice individually.  Let’s see I needed Cumin, Chili powder and Oregano at least. All three of those would be near ten dollars total, but the Fajita seasoning was less than five. As I reached for the mix, I began thinking about the other foods I might need to make in the future. Suddenly light the went on, I was saving money on buying the mix, but at the same time I’d still need all the raw spices for future dishes.  How nearsighted of me!  My determination for good design and “loosely coupled” ingredients won over my frugality.   “Chicken Fajita Seasoning” was suddenly a great analogy to hurried Software Development.  The time crunched developer purchases or creates the “Seasoning mix” because it is either cheaper or quicker to develop than the individual components.  Things are going well until he is forced to write a Chili program, now regretfully not having chili powder, he decides to buy a chili mix with all the spices.  Soon thereafter his boss tells him that customers are complaining the Chicken Fajitas have way too much Chili powder and this has to be fixed immediately.  The rushed developer now sees his poor judgement. There’s no way to modify his current Fajitas because his spices are all mixed together, he now has to buy the Cumin, Chili powder and Oregano separately anyway.  But that’s ok to he’ll go back and modify the whole program now as he is a consultant and gets paid per hour.

No comments: