Technical sustainability refers to the long-term use of systems and the ability to develop them in accordance with changing circumstances and requirements. Every project should cover at least the next 5–10 years, as further development is an important part of our customers’ business. Software maintenance becomes much more difficult and further development requires a lot of time and money, if the future is not taken into account from the very beginning.
Therefore, software developers need to be able and willing to think about the further development of technologies and architecture over the coming years. These skills usually come with experience, after you have first tried to maintain a poor-quality code yourself and learnt to leave the code in better shape than it was when you started.
It is also important that customers are encouraged to improve development tools and methods, so that technical debt and poor code quality do not end up in version control and production. Among other things, this includes extensive automated testing of the code, as well as inspections involving the entire team, where the problem areas are genuinely highlighted. These measures can improve quality, reduce regression and speed up production, in other ways ultimately save mental resources, time and money.
Human sustainability refers to the continuous, life-long development and well-being of the individual and lays the foundations for four other areas. Satisfied, committed and skilled employees enable the creation of technically sustainable and therefore cost-effective solutions in the long term. When individuals are competent and well-trained, they are well equipped to create technical solutions that enable the competitiveness of the customer companies, the surrounding society and the future of the environment. Social sustainability therefore refers to the social responsibility of software development and ecological sustainability focuses on minimising its climate impact.
By paying special attention to these areas of sustainable software development, we can better ensure the success and high customer satisfaction of projects.
In Finland, the software development sustainability
consists of five areas:
Continuous, life-long development and well-being of the individual
Long-term use of systems and ability to develop them in accordance with changing circumstances and requirements
Long-term cost-effective solutions
Corporate social responsibility for programme development and IT solutions
Minimising environmental impacts through software development