Sustainable Software Systems: The Core Characteristics and Their Achievement

Sustainable software is fully aligned with the sustainability goals, thus, to develop sustainable systems it is necessary to understand the factors that hamper or contribute to sustainability. Table below provides a complete list of text passages and the factors that are considered critical for sustainable software systems.
# Study Citation Factor Success/Risk Classification
1 [1][3][23] Rich communication and collaboration Comunication and colaboration Success Communication
2 [2][4][13] Develop and generate forms consistently minimize their utilization of regular power and resources Energy Consume Success Resource utilization
3 [2] Power usage is a primary perspective from environment circle of triple base of Sustainability Energy Consume Success Resource utilization
4 [19] Ill-chosen energy-saving libraries Energy-saving libraries Risk Resource utilization
7 [4][13] Filtration of requirements through green evaluator Green Evaluator Success Tools
8 [4][13] Efficient estimation strategies Efficient estimation strategies Success Measures / Metrics
9 [3][4][13][23] Efficient resources utilization Resource utilization Success Resource utilization
10 [4][13] Paperless Comunication Technologies for communication Success Communication
11 [4][13] Green utilization of the software Resource utilization Success Resource utilization
12 [4][13] Software reusability Software reusability Success Reuse / Refactor
13 [19] Use of Refactoring techniques Refactoring techniques Success Reuse / Refactor
14 [19] Using security applications, Incorporating an encryption element in software architecture Security applications and encryption Risk Security
15 [19] Filtering adware in mobile systems Filter adware in mobile systems Risk Security
16 [1][3][4] Green and sustainable management of product life cycle Product life-cycle and Project management Success Sustainable Practices
17 [2] Acquisition and use fallout must be persistently assessed and enhanced Aquisition and use fallout assessment and improvement Success Sustainable Practices
22 [4][13] Green project management Product life-cycle and Project management Success Sustainable Practices
23 [4][13] Provision of green infrastructure Green infrastructure Success Sustainability Planning
24 [13] Softwares focused on time-to-market force and are often less conversant about green software practices and techniques\n Time-to-market pressure Risk Sustainability Planning
25 [16] High importance of concrete sustainability goals Sustainability goals Success Sustainability Planning
26 [8] Write energy efficient codes that minimize the use of system resources. Energy efficient Coding Success Efficient Coding
27 [4][13] Green graphical user interface Graphical user interface Success Efficient Coding
28 [19] Transform code using desing patterns Design Patterns Success Efficient Coding
29 [19] Use Program analisys techniques Program analysis techniques Success Efficient Coding
30 [1][3] Polymorphic design Polymorphic Design Success Sustainable design
31 [2][4][13] Proper requirement engineering Requirement engineering Success Sustainable design
32 [4][13] Green economy Resource utilization Success Resource utilization
33 [3][16] High costs for sustainable development Monetary Cost Risk Resource utilization
34 [1][3] Minimal documentation Minimal documentation Success Sustainable practices
35 [1][3] Continuous validation Continous validation Success Sustainable practices
37 [4][13] Low carbon emission throughout the software development process Carbon emission Success Sustainable practices
38 [4][13] Sustainable maintenance of the software Maintenance Success Sustainable practices
39 [4][13][22][23] Sustainable testing Testing Success Sustainable practices
40 [4][13] Use of agile strategies Agile strategies Success Sustainable practices
41 [4][13] Software flexibility Flexibility Success Flexibility
42 [4][13] Legacy systems support Legacy system support Success Flexibility
43 [16][22] Lack of motivation for sustainable development Motivation for sustantable development Risk Team Motivation
44 [1] Efficient utilization of time and computing resources Resource utilization Success Resource utilization
45 [19] Bad use of Programming languages, runtime scope of android-based systems, video quality level, sorting algorithms, video compression strategies, using libraries and frameworks, compiler optimization flags, data structures, web server, web application features, PHP frameworks, program size, using cache Bad use of Programming languages, runtime scope of android-based systems, video quality level, sorting algorithms, video compression strategies, using libraries and frameworks, compiler optimization flags, data structures, web server, web application features, PHP frameworks, program size, using cache Risk Technical excellence
47 [4][13] Use of cloud for software distribution Cloud for software distribution Success Tools
48 [19] Improve usability of: recommender system, carbon footprint calculator. Using UI-based design techniques Carbon footprint calculator Success Tools
49 [19] Practices for enhancing performance of mobile devices, compressing file streams, memoization techniques, filtering ads in mobile web-based systems, energy-aware libraries Mobile devices performance, compressing, memoization techniques, ads filter, energy-aware libraries Success Resource utilization
50 [3][4][13] E-waste management E-waste management Success E-waste
51 [4][13] Green application development environment Green application development environment Success Sustainable practices
52 [3] Limited support for real-time systems and large systems Support for real-time systems and large systems Risk Sustainable practices
53 [3] Management overhead Management overhead Risk Team Management
54 [3] Lack of customer’s presence Customer presence and knowledge Risk Sustainable practices
55 [3][22] Insufficient knowledge of the customer. Customer presence and knowledge Risk Sustainable practices
56 [3] Lack of long term planning Long-term planning Risk Sustainability Planning
57 [3] Lack of formal communication Comunication and colaboration Risk Communication
58 [3] Limited support for reusability Software reusability Risk Reuse / Refactor
59 [3] Accelerated delivery Delivery Success Sustainable practices
60 [3] Continuous integration Software continous validation and integration Success Sustainable practices
61 [3] Flexibility towards change Flexibility Success Flexibility
62 [3] Improved quality Quality Success Technical excellence
63 [3] Iterative development Iterative development Success Sustainable design
64 [3] Minimal reengineering Minimal reengineering Success Sustainable design
65 [3] Optimization of processes and code Processes and code Success Efficient coding
66 [22] Lack of methodologies and tool support Support tools Risk Tools
67 [22] Lack of education Knowledge Management Risk Knowledge management
68 [22] Lack of experience Experience Risk Team Skills
69 [22] Poor adaptation of sustainability practice Adaptation of sustainability practice Risk Sustainable practices
70 [22] Varying and unidentified situations Varying and unidentified situations Risk Sustainability Planning
71 [22] Lack of higher management support Higher management support Risk Team management
72 [22] Poor communication of sustainability values Comunication and colaboration Risk Communication
73 [22] Unavailability of resources Resource utilization Risk Resource utilization
74 [22] Time pressure Time pressure Risk Team management
75 [22] Lack of software engineer ethical and responsible behavior Competencies, skills, experience, productivity, ethical behavior Risk Team Skills
76 [22] Lack of sustainable software engineering practices Sustainable software guidelines and practices Risk Sustainable practices
77 [22] Lack of satisfaction of software engineer with their job, facilities, and work environment Satisfaction with work enviroment Risk Team Motivation
78 [22] Variation in the productivity of individual software engineers Variation in productivity Risk Team management
79 [22] Lack of sustainable software engineering guidelines Sustainable software guidelines and practices Risk Sustainable practices
80 [22] Lack of competencies, skills, efficiency, and productivity of software engineers Competencies, skills, experience, productivity, ethical behavior Risk Team Skills
81 [22] Lack of understanding of the difference between individual and social sustainability dimensions knowledge about sustainability Risk Team training
82 [22] Lack of awareness of sustainable software engineering practices knowledge about sustainability Risk Team training
83 [22] Lack of sustainable software engineering degree programs knowledge about sustainability Risk Team training
84 [22] Lack of information and communication technologies Technologies for communication Risk Communication
85 [23] Efficient Knowledge sharing Knowledge Management Success Knowledge management
86 [23] Source Code Change Attributes Source code atributes and documentation changes Risk Efficient coding
87 [23] Source Code Change Documentation Source code atributes and documentation changes Risk Efficient coding
88 [23] Defect Defect - Technical excellence
89 [23] Review Concentration Review Concentration - Sustainable practices
90 [23] Organization policy, practices, standarts, attributes Organization policy, practices, standarts, attributes. - Team management
91 [23] Project Attributes Project attributes and release management - Sustainability planning
92 [23] Project Release Management Project attributes and release management - Sustainable practices
93 [23] Technology Maturity Technology maturity and accessibility - Technical Excellence
94 [23] Technology Accessibility Technology maturity and accessibility - Technical Excellence
95 [23] Training Training - Team training
Return to index See references