The continuous mix of poorly produced software and/or its misuse in daily life is having an increasingly degenerative effect on the lives of those who use it, especially when software is misused to the extent that younger generations are now adapting to it with mobile computing devices.
A recent paper clinically demonstrates that the consistent use of mobile software has had a serious degrading effect on simple curiosity, which is a vital requirement for intellectual development. Without it, people do not research knowledge for the sake of knowledge with an existing foundation. Instead, using the Internet becomes a substitute for the acquisition of knowledge, which is presented in “sound-bite” form so that it may satisfy a specific need but does nothing to increase the basic understanding of the topic.
Unfortunately, as technology has advanced in the past 25 years, its misuse has advanced to the same degree exponentially. This then has been an underlying factor in the technical outsourcing trend by US corporations whereby new communication technologies convinced US business leaders that with such technologies cheaper development labor could be acquired.
With new, Internet communication capabilities, corporate management teams went ahead and dreamed up new ways to reduce the labor costs of American Information Technology professionals by exchanging them for cheaper labor with H1B visas together with foreign outsourcing firms whose sole interest was feeding bodies into a growing money machine. This process alone gutted the hierarchical nature of software development over time, which was critical to its quality.
Software development is as much a craft of love as it is a science and without that sense of personal pride in the development of what we call source-code (the base code that is compiled and then provided to users as finished applications) one can never get to the science behind it; and the science alone simply cannot provide the needed inherent quality. Yet, this vital relationship was ignored by corporate “professional management” with the inducement of new high-speed Internet communications and the result was a major disconnect in how software was developed.
First corporations saw no need in maintaining their Business Analyst staffs (an often ignored position) except for highly specialized situations. So the vital function of communication between non-technical and technical staff was removed or replaced by less expensive people in faraway places which made communication difficult and costly between company members
As software development environments advanced in capabilities to keep pace with Internet advancements being achieved, the System Analysts were next to be phased out; the people who took Business Analyst requirements for the user communities and converted them into functional specifications for development teams. The perception that software could be now created faster with even less planning and design was the result of erroneous and intentional conclusions made by business managers to favor the corporate bottom-line.
Finally, there was a technical management change from US technical management to that of foreign countries, which had neither the interest nor understanding as to how technical teams should be treated or how systems should be developed. And with this influx of new, foreign managers, the deadline became fanatically important as these new management types were allowed to run rough-shod over everything and everyone.
Developers and software engineers under increasingly terrible pressures were now solely responsible for the implementation of new work, bypassing many of the pre-requisites of good planning and design. This initiated a new trend in lower quality software being developed.
One of the outgrowths of such pressures was the promotion of a new development paradigm that promoted the capability to build new software under such pressures. It was a false promise but caught on like wildfire.
In the early 2000s the Chrysler Corporation initiated a plan to re-design their payroll system, which was called the “C3 Payroll System.” In an attempt to bring the project in under budget and on time, the development team “cooked up” a new paradigm called “Extreme Programming” or “XP.” It seemed like a terrific concept since it removed the planning and design stages from software development but still promised the same level of quality but in shorter amounts of time. In the fourth year of its use the development team promoted their new concept nationally and corporations quickly saw another way to reduce costs by adopting this paradigm as the new way to develop software.
However, in the fifth year of the Chrysler project, the development of this new system collapsed under the weight of the new paradigm’s failure. Simply put, using “Extreme Programming” would be like creating a new aircraft without all the necessary planning and putting a prototype directly into production.
When news of the “Extreme Programming” paradigm failure filtered through the technical ranks a new idea was proposed called “Agile Development,” which attempted to mimic much of the first paradigm with a few caveats adding some design standards back into the process. Despite this, the historical project failure rate remained at around 70%.
By the time the first Apple iPhone made its introduction in 2007/2008, the damage had been done to the US technical field, which once had been the crown jewel of the American economy. Its basic infrastructure had been torn apart for the quest of greater profits while unsustainable pressures were introduced to those in development. The addition of iPhone development and then later iPad development added an entirely new diversion from quality software development that many younger technicians gravitated to who most often produced useless toy apps for such devices.
Mobile computing has insidious side-effects. On the one hand, constant and prolonged usage of cell-phones has been well documented across five different medical reports as a promoter of brain cancer. In addition, usage of smart-phones and tablet computers has been clinically shown to irreparably re-wire users’ brains so long-term concentration is severely impaired. Once the damage is done it has been found to be irreversible.
This effect on people has also caused deleterious effects in many software development projects since the younger generations of technical professionals and younger managers simply have lost the ability to plan complex systems outside of very specific industries such as commercial aircraft manufacturing. (Even military aircraft design has similarly suffered terribly over the years.) The result is that software development in many places has actually deteriorated into what we used to call in the field “guerilla programming,” whereby everything is done on the fly without any proper foresight.
This ongoing deterioration in American software development, which now supports nearly every transaction in American daily life, is why this society is finding that nothing that relies on it works well. The recent introduction of the “Affordable Care Act” (“Obamacare”) is a just one glaring example of this failure. With over fifty consulting firms across the nation with an initial cost of $680,000,000, the sheer size of the project was a recipe for failure, causing the disastrous introduction that was experienced by everyone who attempted to apply for insurance with it.
As the author found recently, the New York extension is still unable to confirm Social Security Numbers correctly (a fairly standardized process for such work).
The catastrophic damage done to the software industry is why nothing works properly. There are simply not enough people left in the software profession any longer with enough influence to provide the necessary quality to the technologies infesting our daily lives. And it is has an inherited effect as less competent development staffs pass on their defective development methodologies to newer people as they enter US firms.
Those who had the intelligence to implement and promote new technologies within the context of their limitations have been shunted aside, forced from the technical professions, or given up and left of their own accord for the pursuit of profit and personal agendas.
Steve Naidamast is a senior software engineer by profession and a military historian by avocation.
For an in-depth laymen’s view of the complete lunacy in the current software development world please see the article at the following link: http://stilldrinking.org/programming-sucks