Is Sanity Coming to The IT Profession ???
Since Agile first became popular in the l990s and later I have been highly critical of the paradigm and its supporters. And it finally appears that some in the profession are beginning to get the message.
"Agile" was a re-development of the "XP" paradigm, which turned out to be a complete failure as everyone would have known had they been tracking the history of this early paradigm. "Agile" was merely a new face to a very stupid idea; that you can design software by bypassing its most vital processes with a new paradigm.
There is no such thing as developing software without using some level of the "Waterfall" approach, which simply details the basic common-sense steps to the creation of any type of product; design, implement, test, validate the defects, correct, re-test... and so on.
Anyone who believes they can re-arrange common-sense does not belong in any creative field such as IT.
Now there are many ways that one can approach these steps and in standard software engineering practices there are approximately 13 such variations, two of which already somewhat mirrored what Agile was attempting to accomplish but failed to do. These variations can be found in the standard "bible" of software development by Steve McConnell, "Rapid Application Development", which is still a standard in the industry though it was first published in 1996.
Now before anyone decides to rebuke my contentions please understand that the development of Agile was not a reflection of software engineers attempting to produce better results but to do so under increasing, severe pressures. The development of Agile was more a reaction to the increasing and utter incompetence of US corporate management to understand the realities of software development with the idea that you cannot create anything worthwhile under foolish time constraints, limited budgets, and poorly staffed development teams. To such management everything is about the money, which in the end they never save but only lose more as a result of poor results. For some reason this proven logic cannot seem to enter the highly narrowly focused brains of such people.
This reaction in the software development industry should have been thwarted by more engineers insisting that the original precept in our field in which management will simply have to wait until developers can produce a product correctly. And this is how it was done in the mainframe era where we had our own issues to deal with and when technical management was little better than we have today. Nonetheless, project planning and implementation was somewhat better understood and to a degree somewhat better implemented than currently.
What happened was that with the incursion of the micro-computer into daily business processes along with the newer development tools some people got the ludicrous idea into their heads that software could now be developed faster. These people never considered the fact that better development tools does not translate into faster Humans in terms of development processes.
Nonetheless, this idiocy took hold and the rest is history.
Needless to say, the overall project failure rate in the United States has not moved very much from the 70% average, though some limited studies have attempted to show some improvements but not against the overall, historical average when such broad project failure statistics are taken into account.
I do disagree though, with the contention that Agile should just be dropped so that developers can simply do more code. If Agile is to be dropped then what should developers then do in terms of proper design processes? Simply coding is like just saying we should all just become "guerrilla programmers" as it was known in the mainframe era when instances of projects were not properly designed and managed.
There is absolutely nothing wrong in telling management to either wait and do it right or find another staff member. By not doing so we professionals have been bullied and coerced over the years into producing garbage, which is having terrible ripple effects in US society; the "Affordable Care Act" web-site introduction is a classic example of this. The current, massive issues with the new F-35 fighter is yet another.
In the end we are all going to pay a heavy price for allowing so much bad software to enter our daily lives and we are already doing so as software use is exponentially growing while its development is being done on increasingly flimsier foundations since so much of it is done at the behest of the "bottom line" in business.