Authors:
Rodrigo Correa
1
;
Márcia Lima
2
and
Tayana Conte
1
Affiliations:
1
Instituto de Computação, Universidade Federal do Amazonas, Manaus, Brazil
;
2
Universidade do Estado do Amazonas, Manaus, Brazil
Keyword(s):
Systems Thinking, Critical Systems Heuristics, CSH, Software Engineering Education.
Abstract:
Context: The rapid evolution of software engineering in response to the complex demands of the modern digital society has led to increased pressure on developers to adapt quickly. However, a pragmatic approach often overlooks the deeper theoretical foundations, which can result in inefficient software development practices. Systems Thinking (ST), particularly through Critical Systems Heuristics (CSH), offers a reflective and holistic approach to address these challenges, especially in the software requirements elicitation phase. Goal: This research aims to relate an experience of introducing Systems Thinking to undergraduate students using Critical Systems Heuristics as a support tool in a requirement elicitation process. Method: A mixed-methods educational experience was conducted with 36 undergraduate software engineering students. The students applied the CSH framework during an assignment on software requirements elicitation. The effectiveness of CSH was assessed through both qua
ntitative measures (number and categorization of elicited requirements) and qualitative feedback (students’ perceptions and reflections). At the end of the project, we collected the students’ reflections about the application experience to gather students’ feedback Results: The application of CSH led to the elicitation of 372 total requirements, of which 25 were derived using the CSH framework. Students reported a positive impact on their overall understanding of the system but also highlighted challenges related to the complexity and time-consuming nature of the framework. Conclusion: The study demonstrates that the CSH framework can be a valuable tool in software requirements elicitation, aiding in the understanding the problem’s context and in the confirmation of requirements. While students acknowledged its benefits, they also recognized its limitations, suggesting that further refinement is needed for practical use. This experience contributes to the integration of Systems Thinking in software engineering education and offers insights into its potential and challenges.
(More)