February 15, 2016 3 Comments
“Agile” & “DevOps”; Two Sides of The Same type of Coin
In spite of the promotion of the “Agile” development lifecycle, it is a highly flawed technique, which often succumbs to being nothing more than what is known as “controlled chaos”. This is exactly the term that naval aviators use to describe landings on an aircraft carrier; a technique filled with so many dangers and variables that if but a single issue occurs the pilot and craft could be both done. Modern computerized systems aboard such ships have lessened the dangers to some extent by incorporating remote control flight to the planes. However, again if anything goes wrong with the software or the hardware, the pilot is left to land the craft him or herself making the reliance on such software an added danger to pilots in such circumstances. Using such software regularly, the pilots lose their hard learned skills in landing such aircraft, if modern training has taught them such hands-on skills in the first place.
“Agile” has no features or advantages that mature software engineering practices have not already devised and demonstrated successfully across a breadth of different types of software projects. It is merely a methodology that allows developers to escape the necessities of good project implementation and the fact that so many “Agile” projects still incur some level of failure in their endeavors is a testament to this contention.
One of the biggest failings of “Agile” however, is the idea that a developer can do it all following on the trends in the early 2000s that began with businesses eliminating crucial departments that supported the software development process (ie: Quality Control). Between the outsourcing and the reductions in staff, IT organizations were unfairly left to themselves to devise methods to keep the organizations afloat despite dwindling resources. This was the catalyst for such concepts as “Agile”.
However, it was already well known by this time that developers had more than enough on their plates than to be able to start handling increasing technical responsibilities.