Hi Danish, good and relevant question. This is allways the most important step in any (scientific) research. Sustainability can be defined "as the process of people maintaining change in a homeostasis balanced environment, in which the exploitation of resources, the direction of investments, the orientation of technological development, and institutional change are all in harmony and enhance both current and future potential to meet human needs and aspirations " see https://en.wikipedia.org/wiki/Sustainability. My idea is that you should concentrate on the software development proces as ecosystems. See https://arxiv.org/ftp/arxiv/papers/1703/1703.07019.pdf := M. Shahin, M. Ali Babar, and L. Zhu, ―Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices”, IEEE Access, 2017.
Danish Mukhtar Main question: How to plan (well) a Software? Microservice architecture ensures long-term sustainability, but how to plan well this kind of architecture? Is it possible all the time? Definitely not, but planning is the common point on every software engineering project. If you are not able to apply a microservice architecture - where you can interchange /update /drop every component /service anytime - you have to take extra care about what and how are you planning. Why? Right after the solution is deployed, it will become a legacy system and just few percentage of developers likes to maintain legacy systems. 'Think in TDD' and/or if is possible automate the testing - in this way you just have to focus on development and adjustment of automated test suites. Other topic might be: how to prepare reusable building blocks!
An analogy: you can always build a race car and go fast, but to have a team that wins races, you have to design the car in such a way that it can adapt to the conditions at the time of the race. For this reason, sustainability is about the design for the likely changes in the environment that the software will be used. what is next after mobile?
It is quite simply... As long the different (inter)national legislation will allow the representation of sustainability, as the capital is imagining the further "green" robbing of nature and people in remote and poor parts of the world, there will be no real sustainability and care for nature and planet. We have already two decades a horribly rising problem of Arctic methane emissions, totally neglected by majority of governments and science, too... The technical and environmental solutions are known, but behaving of all responsible is catastrophic... There is no control of how we execute even the smallest international agreements...
The software could do this control instead the God. The people with our millions of different interests cannot. We need to adapt our legislation to be handled by the computers. They could be, with proper programming and entry of relevant data, capable to execute the control of human projects and plans and give the final licenses to start or prevent all critical human interventions into the nature.. They could even request our necessary intervention, if we don't see...
The English professor, activist and writer George Monbiot wrote in his book The Age of Consent: "We need the guard, which will guard our guard..." This SW could be that first missing guard...
A starting research version of such a program is already written. I wanted to prove that it would be possible and worked five, six months... The most important is to equalize somehow the form and limitations of the rules (I say "rules" intentionally to distinguish from paper-written laws) with the most important data of projects. The structure of database could be then defined and the core program written with all comparing functions. With connecting all sensible partial comparisons in a "train" then the comparison of the entire intention is possible with all influencing rules... For now, the program is written in C++ and runs under 32-bit Windows... The project then stopped because of enormous work at adaption of a certain law to the defined form of rules... A good team of programmers, environmentalists and jurists is needed... For the beginning and a real test, the consideration of a Constitution could be controlled in such a way...
So, if interesting, give me the contact and we can talk further...
…another perspective: there are some things that have proven to be less sustainable such as hatred, greed, anger; while others seem to be more sustainable such as love, caring, humility… most products seem to be heavily promoted to help separate us all from our money. Self-promotion seems less sustainable than, say, products that help us bring out the good in others
I have worked with a group of Requirements Engineering software types. For example: CiteSeerX — RE4SuSy: Requirements Engineering for Sustainable Systems (psu.edu)