The actions we take all generate a footprint whether in the economy, in society, or in the global environment — and delivering software is no exception to this.
Software is delivered, maintained, evolved, and used through many activities that consume resources. In this context, it’s time to focus on sustainability in every software delivery project, embracing not just the environment but economic and social sustainability as well. Without this focus, as software delivery experts we will be contributing to rising levels of economic, environmental, and social debt. And the more these levels rise, the more global problems we will need to pay for in the near future.
For my part, I feel strongly that our quality engineering activities must embed sustainability at their core. Sustainability testing must be afforded as much importance in the software lifecycle as other factors like functionality, performance, security, and accessibility testing.
To this end, if you are part of a software delivery organization, there are five questions you need to ask:
- How many software delivery environments do you have in your organization? (Development, testing, preproduction, production…)
- Where are these environments operating (on-premises, cloud…)?
- Are you tracking and analyzing the resources consumption in these environments produced by development and quality engineering and testing activities?
- Are you introducing sustainability KPIs to your projects in order to take sustainability into account in operative, tactical and strategic project decisions?
- you introducing optimization actions for your software delivery activities aimed at improving such sustainability KPIs?
One key reaction should come up from this questions: IT delivery projects organization should implement reshaping actions and assets to assuring, following-up and mitigating the sustainability footprint derived from project activities.
In this context, many solutions and approaches powered by Sogeti can help you contribute to this objective:
- First of all, any quality engineering & testing strategy in software delivery projects should now include sustainability attributes in the quality model.
- Secondly, such sustainability quality attributes should be followed up through QA Dashboards, by means of sustainability KPIs.
- Thirdly, such KPIs need to be fed up by the result of software delivery activities. For example, the consumption of resources in the different development, testing and production environments will be the base for carbon footprint indicators; the accessibility testing and user experience outputs will be the base for social inclusion indicators; static code analysis outputs will be the base for maintainability indicators that affect technical sustainability,…
- Fourthly, the use of solutions like CognitiveQA (intelligent-based prioritization of test cases, duplicates identification,…), static code analysis, accessibility testing, testware migration to cloud, optimization of delivery environments or systematic project economics control act as boosters to positively act on such sustainability indicators.
- Fifthly, every sustainability indicator in risk levels which does not trigger us to act now, implies a debt (as they will need to be fixed later, and as later they are resolved, the effort to be addressed will be higher).
Include sustainability quality assurance now, not only for measure&act in your delivered systems and apps, but also to optimize our development and testing activities. Otherwise, we all run the risk of getting into economic, social, and environmental debt.