Automated Analysis Amends Agile’s Ailments

by

agile software qualityTime to market is a major consideration when developing software these days. Feeling the pressure of competition, companies realize they need to move swiftly and cannot rest upon their laurels if they wish to remain ahead of the competition and be the company that sets the trend rather than follows it.

But the pressure to produce software in short order can lead to software that is the quality of a food prepared by a short order cook – it might suit its purpose, but the quality is far from top-notch.

Blessed with Agility

To alleviate some of the pressures of producing software so fast, more and more companies – particularly smaller shops with limited IT staffs – have turned to Agile development to speed deliverables. By utilizing Agile and breaking projects into smaller pieces or Sprints (a single iteration in a Scrum-based process), companies could get multiple layers of an application developed simultaneously to cut the final development time to a fraction.

In an idealistic world, this is a fabulous idea! Give developers a smaller piece of the puzzle on which to work and then bring each section of that puzzle together to create the final application should cut development time by four, six, eight or however many groups there are working on the project.

But we don’t work in an ideal, hermetically sealed little world. As Jan Stafford wrote recently on SearchSoftwareQuality.com, Agile has its issues:

“The long laundry list of software development pros’ problems with the Agile methodology includes inadequate training, poor leadership, rigid adherence to Agile principles that don’t fit the project, and more. That said, there are Agile problem areas that are slammed more often than these, including required meetings, inadequate documentation and issues related to short iterations.”

She goes on to report:

“The problem for developers, however, is that there’s little time in Agile’s short-iteration scheme to write enough documentation, development pros told us. Iteration cycles are every three weeks, 'boom, boom, boom,' and it’s hard to fit doing documentation into that cycle, said Huckleberry Carignan, lead QA engineer at Vistaprint, a print services provider.”

Add to these issues things like teams distributed across the globe, short-iteration cycles and burnout because of them and Agile seems pretty decrepit for a pre-teen.

Curing What Ails Agile

When software is developed through Agile, or in any Scrum-based process, bits and pieces of functionality that will eventually become interdependent are created and tested separately in different sprints and new functionality is often added on top of old. The result is sometimes a morass of murky architectural waters, questionable reliability and exponential increases in software maintenance costs.

agile automated analysisBecause these pieces were each tested separately, performance bottlenecks and structural quality lapses become very hard to detect, making it very difficult to see and measure the structural quality of the application as a whole. Most issues of robustness and performance are not hidden behind one specific artifact of code but exist in the interaction between multiple components created in separate sprints.

What agile needs to overcome these ailments is a good dose of automated analysis and measurement, which provides comprehensive visibility over component interconnections and assesses the structural quality of the application software as a whole, rather than each part individually. This is important because even if each sprint develops a perfect portion of the project, the entire project is doomed if these modules do not interconnect properly. Together, visibility and quantification give software engineers the information they need to ensure high performance and reliability, no matter how rapidly the code base evolves.

Automated analysis and measurement is by no means a panacea but, as a diagnostic test, it can identify what ails Agile-developed products. And as any good doctor knows, the key to a quick cure is a fast and accurate diagnosis.

Get the Pulse Newsletter  Sign up for the latest Software Intelligence news Subscribe Now <>
Open source is part of almost every software capability we use today. At the  very least libraries, frameworks or databases that get used in mission critical  IT systems. In some cases entire systems being build on top of open source  foundations. Since we have been benchmarking IT software for years, we thought  we would set our sights on some of the most commonly used open source software  (OSS) projects. Software Intelligence Report <> Papers
In our 29-criteria evaluation of the static application security testing (SAST)  market, we identified the 10 most significant vendors — CAST, CA Veracode,  Checkmarx, IBM, Micro Focus, Parasoft, Rogue Wave Software, SiteLock,  SonarSource, and Synopsys — and researched, analyzed, and scored them. This  report shows how each measures up and helps security professionals make the  right choice. Forrester Wave: Static Application Security Testing, Q4 2017  Analyst Paper
This study by CAST reveals potential reasons for poor software quality that  puts businesses at risk, including clashes with management and little  understanding of system architecture. What Motivates Today’s Top Performing  Developers Survey
Jonathan Bloom
Jonathan Bloom Technology Writer & Consultant
Jonathan Bloom has been a technology writer and consultant for over 20 years. During his career, Jon has written thousands of journal and magazine articles, blogs and other materials addressing various topics within the IT sector, including software development, enterprise software, mobile, database, security, BI, SaaS/cloud, Health Care IT and Sustainable Technology.
Load more reviews
Thank you for the review! Your review must be approved first
Rating
New code

You've already submitted a review for this item

|