Is Green Software Design agile?

Green Software, Methods and Culture
We have often emphasized here on the blog that there are different opinions about what is meant when we talk about green software. Only Green Coding or the entire development process? In any case, the term Green Software Design includes methods. Simply because the relevant activities are carried out more reliably if they are anchored in the methods. This is especially important in the initial phase, when those involved have not yet internalized Green Software Design. In other words, a corresponding culture must first emerge. Just as agile methods are easy to explain, but the corresponding mentality develops only gradually. Many things are easier said than done.
The impact of methods
Ultimately, it is the requirements on the one hand and technical factors on the other that determine the “resource hunger” of a software. The organization of the development process has an indirect influence. Agile methods help in several ways:
- They promote communication. This is extremely important! Because product owners need feedback from developers to understand what impact their requirements have. (As an example: 2 seconds maximum response time of a web application is something completely different than 2 seconds average response time). Similarly, there needs to be an exchange between development and operations (keyword DevOps), and between the different specialists in development (e.g. application developers and database experts).
- Early and regular measurement of resource consumption is what makes it possible to manage that consumption in the first place. When such measurements become part of the Definition of Done (DoD), they are firmly anchored in the processes.
- Many small decisions contribute their part to the improvement. It is therefore important to pay attention to optimization opportunities in everyday implementation. To do this, you have to internalize the appropriate mindset. Reviews or pair programming help here. Two heads are less likely to overlook opportunities than one.
- Green Software Design is a culture. It is not just a matter of starting with good intentions, but of maintaining them throughout the course of the project. Even when deadlines become tight. Retrospectives help the team to confirm this attitude to themselves and to reinforce it.
- Often, several stakeholders have an external influence on a software development project. As a result, the project managers do not have control over all requirements. Not even those that have a significant impact on resource requirements. If you proceed according to the Scrum method, you can at least include all requirements and do not have to block any of them. However, they can initially end up further down in the backlog. This gives you time to clarify whether the requirements are really needed exactly as they were originally submitted. Or whether they can be adapted to enable efficient solutions.
Similar to agile, green software is a mindset. The teams must develop the corresponding culture over time. The mechanisms of agile development are helpful for this.