P.M. Heck
Please Note
4 records found
1
Technology brings exciting opportunities to improve our interactions with the natural surroundings. However, that same technological development might also negatively impact the environment. Every new technology has a carbon footprint, whether from its construction or operation. And most technological developments require software systems, and more recently AI-based software systems. For these software systems to positively impact our environment, they need to be developed and operated with sustainability in mind, also called 'green' in the discipline of software engineering. This chapter explores various dimensions of sustainability in software system development, drawing on existing software quality frameworks. We highlight green software best practices for development and knowledge transfer. We examine AI-based software systems, emphasising the importance of energy efficiency and carbon impact in the next generation of intelligent systems. This entails considering decisions at different stages of the AI lifecycle, ranging from underlying design choices in training pipelines to selecting optimal hardware for training and serving models. This chapter presents the intersection of green software, sustainable software engineering, and green AI as of major importance for future innovation. By prioritising sustainability in software development and AI, we can foster a more sustainable and eco-friendly future, with the potential to reduce energy consumption and mitigate the environmental impact of technology.
This chapter discusses how to build production-ready machine learning systems. There are several challenges involved in accomplishing this, each with its specific solutions regarding practices and tool support. The chapter presents those solutions and introduces MLOps (machine learning operations, also called machine learning engineering) as an overarching and integrated approach in which data engineers, data scientists, software engineers, and operations engineers integrate their activities to implement validated machine learning applications managed from initial idea to daily operation in a production environment. This approach combines agile software engineering processes with the machine learning-specific workflow. Following the principles of MLOps is paramount in building high-quality production-ready machine learning systems. The current state of MLOps is discussed in terms of best practices and tool support. The chapter ends by describing future developments that are bound to improve and extend the tool support for implementing an MLOps approach.
A framework for quality assessment of just-in-time requirements
The case of open source feature requests
Quality criteria for just-in-time requirements
Just enough, just-in-time?
Just-in-time (JIT) requirements drive agile teams in planning and implementing software systems. In this paper, we start with the hypothesis that performing informal verification of JIT requirements is useful. For this purpose we propose a framework for quality criteria for JIT requirements. This framework can be used by JIT teams to define 'just-enough' quality criteria. The framework also includes a time dimension such that quality criteria can be defined as 'just-in-time'. We demonstrate the application of this framework to feature requests in open source projects and explain how it could be customized for other JIT environments. We present our results for feature requests in open source projects, to show that there is a difference between creation-time quality and just-in-time quality. As this is ongoing research, we also list several points for discussion and future work.