62 research outputs found
Blueprint and Evaluation Instruments for a Course on Software Engineering for Sustainability
We report on a summer school course on Software Engineering for Sustainability (SE4S). We provide a detailed blueprint of the contents taught and its evaluation with the instruments that were used
Summary of the First Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE1)
Challenges related to development, deployment, and maintenance of reusable software for science are becoming a growing concern. Many scientists’ research increasingly depends on the quality and availability of software upon which their works are built. To highlight some of these issues and share experiences, the First Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE1) was held in November 2013 in conjunction with the SC13 Conference. The workshop featured keynote presentations and a large number (54) of solicited extended abstracts that were grouped into three themes and presented via panels. A set of collaborative notes of the presentations and discussion was taken during the workshop.
Unique perspectives were captured about issues such as comprehensive documentation, development and deployment practices, software licenses and career paths for developers. Attribution systems that account for evidence of software contribution and impact were also discussed. These include mechanisms such as Digital Object Identifiers, publication of “software papers”, and the use of online systems, for example source code repositories like GitHub. This paper summarizes the issues and shared experiences that were discussed, including cross-cutting issues and use cases. It joins a nascent literature seeking to understand what drives software work in science, and how it is impacted by the reward systems of science. These incentives can determine the extent to which developers are motivated to build software for the long-term, for the use of others, and whether to work collaboratively or separately. It also explores community building, leadership, and dynamics in relation to successful scientific software
Sustainability Competencies and Skills in Software Engineering: An Industry Perspective
Achieving the UN Sustainable Development Goals (SDGs) demands adequate levels
of awareness and actions to address sustainability challenges. Software systems
will play an important role in moving towards these targets. Sustainability
skills are necessary to support the development of software systems and to
provide sustainable IT-supported services for citizens. While there is a
growing number of academic bodies, including sustainability education in
engineering and computer science curricula, there is not yet comprehensive
research on the competencies and skills required by IT professionals to develop
such systems. This study aims to identify the industrial sustainability needs
for education and training from software engineers' perspective. We conducted
interviews and focus groups with experts from twenty-eight organisations with
an IT division from nine countries to understand their interests, goals and
achievements related to sustainability, and the skills and competencies needed
to achieve their goals. Our findings show that organisations are interested in
sustainability, both idealistically and increasingly for core business reasons.
They seek to improve the sustainability of processes and products but encounter
difficulties, like the trade-off between short-term financial profitability and
long-term sustainability goals. To fill the gaps, they have promoted in-house
training courses, collaborated with universities, and sent employees to
external training. The acquired competencies make sustainability an integral
part of software development. We conclude that educational programs should
include knowledge and skills on core sustainability concepts, system thinking,
soft skills, technical sustainability, sustainability impact and measurements,
values and ethics, standards and legal aspects, and advocacy and lobbying
Scenario-based design and evaluation for capability
Scenarios are frequently used within techniques for planning and designing systems. They are an especially helpful means of visualizing and understanding the incorporation of new systems within systems of systems. If used as the basis for decisions about candidate designs, then it is important that such decisions can be rationalized and quantitative assessment is particularly important. In this paper, an approach for developing complex scenarios, which incorporates the phases of systems development and deployment, is presented and a quantitative method of comparison is described. This approach is based on the development of measures of merit and measures of performance. The techniques are illustrated using cases that are relevant to Network Enabled Capability
Report on the Third Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE3)
This report records and discusses the Third Workshop on Sustainable Software
for Science: Practice and Experiences (WSSSPE3). The report includes a
description of the keynote presentation of the workshop, which served as an
overview of sustainable scientific software. It also summarizes a set of
lightning talks in which speakers highlighted to-the-point lessons and
challenges pertaining to sustaining scientific software. The final and main
contribution of the report is a summary of the discussions, future steps, and
future organization for a set of self-organized working groups on topics
including developing pathways to funding scientific software; constructing
useful common metrics for crediting software stakeholders; identifying
principles for sustainable software engineering design; reaching out to
research software organizations around the world; and building communities for
software sustainability. For each group, we include a point of contact and a
landing page that can be used by those who want to join that group's future
activities. The main challenge left by the workshop is to see if the groups
will execute these activities that they have scheduled, and how the WSSSPE
community can encourage this to happen
Scenario-based design and evaluation for capability
Scenarios are frequently used within techniques for planning and designing systems. They are an especially helpful means of visualizing and understanding the incorporation of new systems within systems of systems. If used as the basis for decisions about candidate designs, then it is important that such decisions can be rationalized and quantitative assessment is particularly important. In this paper, an approach for developing complex scenarios, which incorporates the phases of systems development and deployment, is presented and a quantitative method of comparison is described. This approach is based on the development of measures of merit and measures of performance. The techniques are illustrated using cases that are relevant to Network Enabled Capability
Software Sustainability: Research and Practice from a Software Architecture Viewpoint
Context:
Modern societies are highly dependent on complex, large-scale, software-intensive systems that increasingly operate within an environment of continuous availability, which is challenging to maintain and evolve in response to the inevitable changes in stakeholder goals and requirements of the system. Software architectures are the foundation of any software system and provide a mechanism for reasoning about core software quality requirements. Their sustainability – the capacity to endure in changing environments – is a critical concern for software architecture research and practice.
Problem:
Accidental software complexity accrues both naturally and gradually over time as part of the overall software design and development process. From a software architecture perspective, this allows several issues to overlap including, but not limited to: the accumulation of technical debt design decisions of individual components and systems leading to coupling and cohesion issues; the application of tacit architectural knowledge resulting in unsystematic and undocumented design decisions; architectural knowledge vaporisation of design choices and the continued ability of the organization to understand the architecture of its systems; sustainability debt and the broader cumulative effects of flawed architectural design choices over time resulting in code smells, architectural brittleness, erosion, and drift, which ultimately lead to decay and software death. Sustainable software architectures are required to evolve over the entire lifecycle of the system from initial design inception to end-of-life to achieve efficient and effective maintenance and evolutionary change.
Method:
This article outlines general principles and perspectives on sustainability with regards to software systems to provide a context and terminology for framing the discourse on software architectures and sustainability. Focusing on the capacity of software architectures and architectural design choices to endure over time, it highlights some of the recent research trends and approaches with regards to explicitly addressing sustainability in the context of software architectures.
Contribution:
The principal aim of this article is to provide a foundation and roadmap of emerging research themes in the area of sustainable software architectures highlighting recent trends, and open issues and research challenges
Preface Re4SuSy:8th International Workshop on Requirements Engineering for Sustainable Systems
The RE4SuSy workshop series has established a strong and growing research community around the different aspects of sustainability and how to support them in requirements engineering. Since requirements define how and what a software will do, we maintain that requirements engineering is the key point in software engineering through which sustainability can be fostered. Thus, the RE4SuSy workshop series is concerned with research on techniques, tools, and processes for sustainability through requirements engineering. Last year the workshop spanned a series of application domains and the discussion centered on the challenge of growing the research community and the potential steps required to achieve growth. Two main factors identified were the potential connection to empirical investigations on scientific software and the more systematic integration into computer science and software engineering education. This edition of the RE4SuSy workshop will build on the discussions from last year, and explore further application domains as well as the local perceptions of sustainability in the hosting country. Furthermore, we will pick up the conference theme and explore tackling sustainability challenges through collective intelligence. RE4SuSy is an interactive workshop: the contributors and prospective participants engage well before the workshop date through on-line collaborative writing, discussion, and peer feedback. We foster community growth by supporting new collaborations, holding preliminary case studies, discussions, and birds-of-a-feather group work
- …