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:
METHODS
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 (http://www.versionone.com/state_of_agile_development_survey/11/), 80% of the organizations are using agile practices. That number sure tells a little about the adoption of agile methods and its impact.
CRAFTSMANSHIP
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.
STACK
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.
PREPARING FOR POST AGILE
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.
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
METHODS
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 (http://www.versionone.com/state_of_agile_development_survey/11/), 80% of the organizations are using agile practices. That number sure tells a little about the adoption of agile methods and its impact.
CRAFTSMANSHIP
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.
STACK
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.
PREPARING FOR POST AGILE
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.
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.
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.
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.
Thanks for the post on Software Development post Agile State. FOMAX, a leading Software Development Services Bangalore offer software development services in various verticals.
Such a nice and deep information,I must thank the Author for sharing such a nice blog.Thanks for sharing.
software crack
Collaboration Software is an integrated Application Lifecycle Management (ALM) system that manages your project's requirements, releases, test cases, issues and tasks in one unified environment.
thanks a lot.its valuable sharing!
dxo viewpoint activation code
php development service in indore
I was unaware of much of what you wrote about in your article. Your information was very helpful and I hope others feel the same. Wonderful work.
VISIT HERE
We live in a world where technology is leaping and bouncing. People from all walks of life are using internet for shopping and hence, business owners just like you need to harness the power of internet. Without wasting much of your precious time, let’s get straight to the point- Is your business available for online customers? Or are you reaping the benefits of one of the most powerful platforms of marketing called internet? Whether your answer is yes, or even no, we have something for every business owner.
Post a Comment