Software development processes

There is a very nice article on Quora at : http://www.quora.com/Agile-Software-Development-1/Why-do-some-developers-at-strong-companies-like-Google-consider-Agile-development-to-be-nonsense

Steve McConnell is my favorite author on software development processes.  His book, Rapid Development ( http://www.amazon.com/Rapid-Development-Taming-Software-Schedules/dp/1556159005/ref=sr_1_1?ie=UTF8&qid=1441682139&sr=8-1&keywords=Rapid+Development&pebp=1441682140131&perid=0DV2A3BNGGAG9W0SRYT7 ) goes through the long history of development practices prior to Agile.  It is my true hope that Steve updates the book to include his views on what Agile means.

Per the article, Agile methods work very good when one has a moving target and you need to rapidly change.  However, the author explains that Agile and Stable are two different worlds.  One can see where being agile with web page content is a good thing.  Perhaps not so much with the software in a cardiac pace-maker? Maybe not the software controlling your anti-lock brakes or your accelerator in your car either.

All that being said, I cannot wait for someone to come up with a term that replaces “Agile” since it is, to me, just another marketing buzzword like so many I have seen in the past.  After all, one cannot be expected to develop good software without having a large number of high-dollar consultants about to tell you what you should do.  The binary Agile vs Waterfall is one of the most irritating.  Are there no other processes in the past rather than Waterfall?  How about Agile vs the Spiral Development Model?  How about Agile vs the Rational Unified Process?

Jira is another tool to be abused.  It seems to be a ticketing system that is slowly trying to evolve into something as useful as Microsoft Project.  Very much like the Job Shop model from operations analysis, Jira builds a backlog of software items to be manufactured and they are placed into various worker’s production queue.  The developer works through the items in their queue.  It is a pull model.  The worker pulls the next piece of work from their queue when they are ready to work on it.  They break down the partial delivery times in “sprints.”  If something doesn’t get done in sprint it is just “technical debt.”  People love buzzwords doen’t they?  Perhaps someone would be so kind as to fix the Wikipedia article on Agile Software Development?  (https://en.wikipedia.org/wiki/Agile_software_development)

Thus, my opinion is that the word “Agile” associated with “Software Development” should be abolished and a new term used with concrete process oriented definitions.  I mean, isn’t it supposed to be a development process?  We could call our new method the “Nimble Software Development” methodology.   Of course, we would have to market it heavily and make it as ambiguous as possible so that everyone thinks that whatever they are doing it is wrong.  Oh.  Wait….  Hmmmm.