For us at Avalon, it is important that all our consultants strive for sustainability in their work. We will also strive to help our customers work in a sustainable way. By sustainable development we mean all development related to a project. From version control, keeping processes up to date, material selection and all the way down to the code in the software. It can also mean pushing for good recyclability in the products that are being developed and that they are non-toxic, energy efficient and that everyone involved has a social responsibility. A sustainable project must also be easy to hand over to a new person.
To facilitate the process, our internal sustainability group has developed tools that our consultants can use as aids to have a more sustainable focus in the development process. The tools that have been developed are in the form of checklists, one for mechanical designers and one for software developers.
In the latter checklist, focus areas for sustainable software development have been identified and defined. These focus areas mean getting an overview of the work process and the improvement measures that could lead to more sustainable programming. Important points for each developer to bring with them into a new project include:
Version management enables traceability which can be very important, since it facilitates troubleshooting errors in code that may have arisen from further development, for example.
Being clear in the documentation is often decisive for how good the result will be. The documentation must include what the customer and the developer have agreed on in the form of a set of requirements.
The documentation can be divided into different levels where you start with an overall program description of what the program should do, how it should be used and its limitations. It should also show a graphical system architecture of how the system is connected and then deeper with more details in the processes the closer to the developer’s documentation you get.
One small but very important part of the documentation, is the user manual for those who have to do the daily work. Often they do not need to know much details, which is why a good approach is to provide a step by step guide on how to use the system, and in some cases how error codes should be handled. This only works if the programmers have done a good job when creating logs and error codes that are easy to locate in the code.
One step in manageability is that you have good documentation about the system.
Testing is an important focus point and a concept of quality. There are lots of different tests and it can be good to review which of them the company