Leading language-agnostic thinking on software quality?

I’m sure we’ve all seen threads where Rustaceans attempted to introduce Rust into their workplace and were shot down by management, “the grizzled software engineering veterans”, or some other group.

As I gear up to go down this path at work, I wondered what leading thinking this software-quality conscious group was aware of that explores the full costs of what I call high- (“let’s just get it working for the demo next week and we’ll do it properly later”) and low-technical debt development strategies.

In my experience, on a project of any decent size, front-loading risk by taking time to think broadly about the problem-space, and building quality in from the beginning using BDD/TDD, SOLID, embracing the expressiveness and relative freedom from stateful management of functional design, the high-quality approach releases (much) sooner, with much higher quality product.

I would appreciate pointers to blogs, articles, whitepapers, textbooks, etc. where this has been studied in some fashion (language of the study is unimportant). I think not having sufficient objective data to offset risk is a key reason some of these efforts have failed. I would love to realize a different outcome.

Ideally this information would be of value to others in the community as well, who are preparing similar efforts.

The gist of your post sounds mostly like you’re just thinking about the common themes driving Agile development practices, which are largely orthogonal to language choice.

Hi, @skysch,

I believe that certain practices (I’ll just pick BDD for this example) raise productivity and produce higher quality code with fewer bugs. I’m wondering if there are people out there who have actually validated that assumption (such as https://www.ppi-int.com/wp-content/uploads/2017/04/Software-Quality-Metrics-Capers-Jones-120607.pdf).

Once the benefits of a “modern approach” to software development are established, it’s an easier sell if those benefits are (at least to some degree) automated by a particular compiler technology (which is where Rust, or other specific technologies could come in. I am looking for a body of objective data out there (which would be language agnostic) illustrating the value of improved software quality (e.g. link above) not necessarily dependent on a specific
language.