Structural Quality Must Be Part of Agile Vocabulary

by

I cannot believe how much our education system has changed. When I went to kindergarten, most of curriculum revolved around getting along with others (a lesson some will argue never took with me) and some basic verbal skills. I learned at my daughter's kindergarten orientation that blocks and finger painting have been replaced by geography, math, science and civics.

I walked out of her kindergarten orientation concerned whether or not my daughter would be ready for school. As kids have a tendency to do, though, my little girl came home on her first day and happily said her favorite part of the day was “voca-libraries” (actually, she said the bus ride, but this was her favorite part actually at school), which I determined was “vocabulary” after she said it was all about learning the meaning of words.

While her vocabulary list was understandably simplistic, it reminded me of a recent article by Ben Harden over at DZone’s Agile Zone that provided a vocabulary for agile development. The list included what seemed like a good introductory vocabulary for agile but for one glaring omission…

“STRUCTURAL QUALITY!”

A is for Agile

What Harden does define, he does well; all the other basics were there – agile, scrum, sprint and backlogs (both product and sprint) – are accurately and appropriately put into introductory language. Even I  feel more comfortable with these terms after having read his list.

But for a process of development that all too often takes hits for not adhering to standards of application software quality, one would think that the term “structural quality” should somehow be included in a vocabulary list for those just starting with agile. (One side note to Ben Harden, usually vocabulary lists are in alphabetical order, so at first I thought maybe I had been the one who missed “structural quality” or any variation of it on this list.)

After all, the main reputation that agile development has is one of speedy development – get it done in parts means you get it done fast. Those who are doing the development, each on their own basis, undoubtedly take a certain sense of pride in building product. As I pointed out in a previous blog, though, those who participate in the scrums of an agile-developed product often find themselves pressured by the “business” types to “just get it done.” This carries with it the connotation that agile developers push software out the door without concern for its quality.

Q is for Quality

It does not come as a big surprise that the folks on the business side of software development do not understand the need for agile to focus on quality, but it should. When structural quality suffers, the final product suffers. The outages, security breaches and general unreliability of application software result in a major hit to the finances and reputation of a company. When you then add in the time it takes an IT department to fix the problem (i.e., technical debt), there is very little advantage to “just getting it done.”

So with all due respect to Mr. Harden, I believe a vital addition to the agile vocabulary list he offers is this:

Structural Quality: Architecture, compliance with architectural controls and interactions between application components, the failures of which cause 30% of major production defects that can result in deeply-hidden problems that pass functional and non-functional tests, but will inevitably cause application software to erupt in production and lead to lower productivity, high costs/TCO and more risk for business operations.

Filed in:
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

|