Post Agile - State of Software Development
There is a significant change in how software is developed over the last decade. Agile had been the buzzword over the last decade and probably is most significant of changes in software development to date. Now that the hype around Agile has been subsided, it is worth an effort to understand what it is like post agile. Often we see Agile with a narrow perspective, limiting it to a few programming practices and nothing more. We also fail to notice the indirect influence and the larger impact of Agile over the last decade.

State of post Agile Software Development will have to be seen in multiple dimensions in order to really understand its impact:

  •  Software Development & Life cycle tooling landscape has completely changed 
  •  Software Project management methods (apart from development method) have changed 
  •  Focus on Software craftsmanship
  •  Re-imagined Technology stack

It is very interesting to see the way tooling has been changed over the decade. I must say this is the area where most innovation has happened. Almost all the aspects of software tooling has been changed; from version control systems to functional testing software. Several new categories of tools have born, which we couldn’t have imagined in 90s. Monolithic IDEs and tightly integrated eco systems are replaced with more specialized tools integrated via loose interfaces. Tools like GIT (distributed version control systems), Hudson (Continuous Integration Systems) are few examples of this change.

While agile methods initially focused on changes related to software programming practices; over the time they went beyond. New ways of project management, new ways of testing have extended the focus much beyond. According to “State of Agile Development” survey in 2011 (, 80% of the organizations are using agile practices. That number sure tells a little about the adoption of agile methods and its impact. 

Thinking about Software craftsmanship is not very surprising given the agile method’s focus on people. In order to be successful, almost all the agile methods needs skill maturity in people, hence the stress on craftsmanship. Craftsmanship needs a learning organization & people and the focus on quality of work. Mentoring, a standardized toolbox, familiarity with tools is essential for a developer/tester to be a craftsman. 

Last but not least, Technology stack also has been changing to fit the agile practices. Languages like Ruby, Groovy, frameworks like Rails and Grails and NoSQL databases have brought-in fundamental changes to reflect agile practices. Test cases integrated to the programming frameworks is not something one could have thought of a decade ago. Conventions over configuration, method missing and other such features have evolved to keep up with the expectations of agile practices.

Most software development shops look at the impact of Agile in silos. For example, technology groups focus on agile tools and stack, but not methods. Process & Quality groups focus on methods but have neither have clue on tools nor the technology stacks. Craftsmanship is ignored altogether. Looking at impact together in all dimensions (across tools, stack, craftsmanship and methods) is half the work done. Aligning the team to fully benefit from the agile is the other half, which is probably the most difficult part.
10 Comments To ' Post Agile - State of Software Development '

Shiva said...

Invigorating indeed. I would like to add "discipline" to the craftsmanship more explicitly. In my experience with Agile projects, I have observed a common misnomer among the fraternity which tries to equate “Agile” to “less or no documentation” which often lead to sublimation of changes to user stories a.k.a requirements bypassing the key stakeholders especially the QA/QC groups. The “tooling” infact mandates the synchronization of the phases of development and testing and obviously such misses often lead to gap between “the delivered” and “the required” - defeating the basic premise of Agile to an extent. The tailored and agreed upon “communication” process need to be adhered to and followed. A craftsman without discipline hardly delivers the craftsmanship so is the team adopting the agile practice.

Wide Vision Technology said...

It is really a nice and helpful piece of info. I’m glad that you simply shared this helpful info with us. Please keep us informed like this. Thank you for sharing.
software companies indore

micheal lewis said...

When i come through your article i found it really interesting as it compiles all the good facts of software system as being a software engineer i love to read these articles as it really enhances my knowledge to a extant level.i appreciate you for that.

James McCarthy said...

Thanks for your statement in this section. I had truly enjoyed what you had to say. These comments have really supported my zeal in writing for several of the newest topics.

software company in kolkata

beckfrancer said...

Choosing the proper architecture is significant in any software application development procedure which involves a number of decisions. It should be very helpful for that developer to glimpse for the best coding strategies.

Aking Web Tech said...
This comment has been removed by a blog administrator.
Aking Web Tech said...
This comment has been removed by a blog administrator.
Aking Web Tech said...
This comment has been removed by a blog administrator.
Narendra Kumar said...

Thanks for the post on Software Development post Agile State. FOMAX, a leading Software Development Services Bangalore offer software development services in various verticals.

Alan Abraham said...

If you are looking for a Software Development Company in Delhi you can check this site

Post a Comment