In the late 1960’s the National School Lunch Program was struggling to keep up with the growing number of children needing assistance. To combat the issue The Child Nutrition Act was passed in 1966, but eventually privatization of school lunches was seen as the only affordable option for continuing the service. By the late 1970’s, private companies were supplying schools with fast food to serve in their cafeterias.
These actions decreased the cost of feeding children in need during the school day; however, the quality and nutritional value of the food decreased and system arguably became addicted to low cost and, subsequently, low quality food. So now we have to dig ourselves out of the nutritional hole by improving the food in school lunches, dealing with the backlash from kids, and keeping costs affordable.
Essentially, we need to employ smarter techniques in order to solve the problem and not more efficiency. For example, some schools now measure how much of each food is consumed by each child, just as restaurants do. My child’s school changed the portions to be much smaller (1st graders and 5th graders were getting the same portion sizes) and if children are still hungry they can still come back and get more salad bar for free and discounted main courses. Dollars were saved by thinking creatively vs. just reducing the quality of the product.
Similar Approaches for Software Development
Recently, there has been a force pushing all of us to build software faster. The need to add more features on shorter release cycles is ubiquitous. At some point we will reach the threshold of gaining efficiencies and quality will begin to degrade. There is some evidence that we’ve reached and crossed that threshold already:
- Quality of many major software products has become sub-par. Even products such a Google Chrome, which is highly sought after, is a memory hog. Read ‘Microsoft is the New Google’ for more details.
- Performance is average at best for most products. Not sure how many more years I have to wait for Netflix to get faster than my Tivo!
- Security is well, pretty much non-existent – ‘The 15 worst data security breaches of the 21st Century’
What Can Make It Better?
- There will be rapid infrastructure optimization, the Cloud will get faster, better, and more consistent which will free us from mundane IT tasks and complex system designs.
- Wi-Fi and internet access will become more prevalent, faster, and more reliable which will reduce the complexity currently required to build mobile applications.
- Consumers will demand higher quality causing the market to drive out lower performing software vendors, theoretically.
- Platforms will replace common code so each company won’t have to code the same things over and over again.
- Security will need to be moved from application development into the systems we develop on. For example, many new systems don’t use passwords but rather use social logins which frees them from storing username and passwords.
- The complexity of writing software will need to be reduced so more individuals can participate in the programming and building of systems