Technical suitability
Technical sustainability refers to the long-term use of systems and the ability to develop them in line 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 developments time consuming and costly, if the future is not considered from the very beginning.
Software developers need, therefore, to be able and willing to think about the further development of technologies and architecture in the coming years. These skills usually come with experience, after you have first tried to maintain a poor-quality code by 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 quality code 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 wellbeing of the individual and lays the foundations for four other areas. Satisfied, committed and skilled employees enable the execution of technically sustainable and, therefore, cost-effective solutions in the long term. When individuals are competent and well-trained, they are well equipped to execute 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.