  Agile techniques recently have received attention in developing
safety-critical systems. However, a lack of empirical knowledge of performing
safety assurance techniques in practice, especially safety analysis into agile
development processes prevents further steps. In this article, we aim at
investigating the feasibility and the effects of our S-Scrum development
process, and stepwise improving and proposing an Optimized S-Scrum development
process for safety-critical systems in a real environment. We conducted an
exploratory case study in a one-year student project "Smart Home" at the
University of Stuttgart, Germany. We participated in the project and collected
quantitative and qualitative data from questionnaire, interviews, participant
observation, physical artifacts, and documentation review. Furthermore, we
evaluated the Optimized S-Scrum in industry by conducting interviews. The
first-stage results showed that by integrating STPA (System-Theoretic Process
Analysis) can ensure the safety during each sprint and enhance the safety of
delivered products, while the agility of S-Scrum is slightly worse than the
original Scrum. Six challenges have been explored: Management changes the
team's priorities during an iteration; Disturbed safety-related communication;
Non-functional requirements are determined too late; Insufficient upfront
planning; Insufficient well-defined completion criteria; Excessive time to
perform upfront planning. We investigated further the causalities and
optimizations. The second-stage results revealed that the safety and agility
have been improved after the optimizations. We have gained a positive
assessment and suggestions from industry. The optimized S-Scrum is feasible for
developing safety-critical systems concerning the capability to ensure safety
and the acceptable agility in a student project. Further attempt is still
needed in industrial projects.
