Green Software Engineering. Sheryl John. Introducing green elements and guidelines in Software Engineering. Why Go Green ??. Why Green Software Engineering??. Green IT is a holistic approach that applies to green concepts to IT and hardware. Some of the areas that Green IT focuses are:
Introducing green elements and guidelines in Software Engineering
Green IT is a holistic approach that applies to green concepts to IT and hardware.
Some of the areas that Green IT focuses are:
a. power management
b. server virtualization
c. Data center design layout
Green software engineering is an approach that applies the “green” principles known from hardware products on to software product, product life cycles and processes.
We need to models or steps to implement these steps in software engineering or product development to produce green and sustainable software.
Green software engineering is an approach to developing, operating and maintaining sustainable software that recognizes and counteracts the threats to the environments.
Sustainable software is software whose direct and indirect negative results impacts on economy, society, human beings and environment that result frommdevelopment, deployment, and usage of the software and/ or has positive effects on sustainable development.
Green Software Engineering(GREENSOFT) is an ongoing project undertaken by Institute of Software Systems of the University of Applied Science Trier (Germany).
They have developed a conceptual reference model for the sustainable development and usage of software:
The development model for Sustainable Software Engineering spans from Product Definition to Disposal.
In ICSM, we can integrate “green” principles in various activities that take place in each phase.
i. Explore the current system :
- Check for areas where Green IT can be applied. Eg. Virtualization
- Reuse and Refurbish hardware after establishing hardware requirements.
- Propose new sustainable operational concept. E.g. Process that will reduce paper work, reuse resources etc.
ii. Plan and Manage Project:
- Project Manager : Assign a team member who will ensure that the design with the material of technologies is directed towards sustainability. This is can be a separate role or integrated with the duties of the OCE.
- Business/Client meetings: Transportation to meetings
- Focus on the energy-saving goals.
- The benefits chain diagram should reflect the benefits that the company will get by implementing the proposed sustainable system.
- QFP should ensure that the traceability of all requirements should match with the sustainable operational goals.
- Faster code over future hardware : Use old machines and run code with acceptable performance
- Include environmental costs in cost analysis: This includes rack costs, cooling costs, bandwidth costs, software costs.
- Resolve critical areas: Go back and solve the code again and figure out more efficient way to run the code.
- Optimize graphical design elements, logos and photographs.
- Optimize videos and animations.
- For transition, provide videos for demos and e-copies of manuals.
Though Green software engineering is a relatively new field, it is slowly gaining popularity.
Software engineers in industry should be encouraged to apply the principles.
Since we are next generation of software engineers we should start integrating these guidelines while developing code/software.
Possible areas of research in this field are developing metric and assessment tools that will enable developers and users of software system in monitoring the energy consumption or comparing the results of applying the green principles.