9 research outputs found

    Equipping Software Engineering Apprentices with a Repertoire of Practices

    No full text
    International audienceArgyris and Schön distinguish espoused theories - those which people speak about - from theory-in-use - those which can be inferred from action. In small software teams, developing reflective thinking about action is a vital necessity in coping with change. We address these issues in a Masters of Software Engineering, performed with an alternation between university and industry. University periods are dedicated to a long-term project performed in a reflective practicum. It aims to develop a repertoire of practices which helps young engineers deal with the 'messiness' of situations. Such a practicum provides students, working in groups, with the possibility of reflecting on action. We propose using the Course-of-Action framework to record observable aspects of the actor's activity into semantic wikis. Two hypotheses are discussed (1) self-analysis and self-assessment help to reveal theories-in-use; (2) the Course-of-Action observatory helps maintain awareness of the repertoire. A case study of a 6-apprentice team illustrates the observatory use and the reconstruction of apprentices' activity. Primary conclusions are that self-observation and self-analysis of a software engineer's activity help raise awareness of the initial structure of the repertoire. We are however unable to conclude that it helps reveal their theory-in-use (w

    Experimenting with Realism in Software Engineering Team Projects: An Experience Report

    Get PDF
    Over Several years, we observed that our students were sceptical of Software Engineering practices, because we did not convey the experience and demands of production quality software development. Assessment focused on features delivered, rather than imposing responsibility for longer term `technical debt'. Academics acting as 'uncertain' customers were rejected as malevolent and implausible. Student teams composed of novices lacked the benefits of leadership provided by more experienced engineers. To address these shortcomings, real customers were introduced, exposing students to real requirements uncertainty. Flipped classroom teaching was adopted, giving teams one day each week to work on their project in a redesigned laboratory. Software process and quality were emphasised in the course assessment, imposing technical debt. Finally, we introduced a leadership course for senior students, who acted as mentors to the project team students. This paper reports on the experience of these changes, from the perspective of different stakeholders

    Observations of a software engineering studio:reflecting with the studio framework

    Get PDF
    Studio-based learning for software engineering is a well-received concept, despite its apparent lack of uptake across institutions worldwide. Studio education affords a variety of highly desirable benefits, and is also popular amongst its students. This paper presents Lancaster University’s software engineering studio, details of its implementation, observations made throughout its first year, evidence of its successes, and reflections against the recently defined studio framework . This paper aims to provide useful information for anyone that is considering utilizing a studio-based approach

    Learning Human Aspects of Collaborative Software Development

    Get PDF
    Collaboration has become increasingly widespread in the software industry as systems have become larger and more complex, adding human complexity to the technological complexity already involved in developing software systems. To deal with this complexity, human-centric software development methods, such as Extreme Programming and other agile methods, have been developed and implemented. Aiming to prepare future software developers for today\u27s software industry, this paper presents a framework for developing collaborative learning tools and activities, and examples that were developed for the course Human Aspects of Software Engineering in order to assist students in learning collaborative software development. The learning processes and knowledge construction undergone by the students in the study were examined empirically, both in general and with respect to collaboration in particular. Results indicate that, based on their individual and group in-class experiences and reflections, students developed skills and constructed both practical and theoretical knowledge relating to successful collaborative software development

    Towards a Model II Theory-in-use for young software engineers and small sofware teams

    No full text
    International audienceSmall teams have to transform in a learning organization to cope with the changes in IT. Argyris and Schon distinguish single-loop and double-loop learning [9]. Single loop learning happens when unintended or counterproductive consequences lead to a change in action but not in the governing variables. Another possibility is to change the governing variables themselves and is called double-loop learning. Single-loop learning is induced from Model I, a prevalent model of theories-in-use - those that can be inferred from action -. Argyris and Schon look to move people from a Model I to a Model II that fosters double-loop learning. In the software engineering field - and especially in small teams, developing a reflective thinking and enhanced learning is a vital issue. We intended to develop these issues in the course of a Master program in Information Technology and Software Engineering. The last year of this program is performed under 'sandwich' conditions with an alternation of study periods in university and training periods in industry. Moreover, alternated university periods are dedicated to a long-term team software project. The education system is a reflective practicum. Such a practicum provides students, working in groups, with the possibility to reflect on her/his action and that may help making explicit theories-in-use. Several reflective practices are seamed in the course of the project providing an students with education of reflective thinking. The work placement system introduces a new challenge that is to relate the university and industrial phases of the student's experience. We propose to use journal writing as a tool to record young engineers' behavior and to extract meaning from events and experiences. The first goal of these different practices is to sustain a reflective thought that may help to question espoused theories and to reveal theories-in-use; a more ambitious goal is that the whole team acts as a learning organization with a theory-in-use mastered by Model II. We report on an experimental case study using a project journal supported by semantic wikis

    What Do We Do When We Teach Software Engineering?

    Get PDF
    Many UK higher education institutions offer software engineering programmes, but the purpose and relevance of these programmes within computing science departments is not always obvious. The reality is that while advanced economies require many more skilled software engineers, universities are not delivering them. This is at least true in the context of the United Kingdom, where there are high numbers of software engineering vacancies and unemployed software engineering graduates. A possible explanation could be that curriculum content of software engineering programmes in universities needs to be reconsidered to meet the needs of industry. However, reconsidering curriculum content alone is unlikely to be transformative as there is little to be gained from changing to an emerging methodology, language or framework. Instead, an alternative direction could be to reconsider curriculum delivery and the identity of software engineering within computing science itself. In this paper, we contextualise the challenge by considering the history of software engineering education and some of its key developments. We then consider some of the alternative delivery approaches, before arguing cooperative programmes provide a opportunity for institutions to reconsider software engineering education

    Student perceptions and learning approaches of using blogs in IT education for reflection and knowledge construction

    Get PDF
    Blogging is a commonly-used tool in supporting reflection in student learning. The present research explored the possibility of using blogs as an assessment tool for promoting self-reflection and knowledge construction to the associate-degree students from four different cohorts who were taught by the researcher. Students were required to write reflective journals weekly in their blog as part of the course assessment. The primary goal of the study was to explore any evidence of the student constructing knowledge via the blogging exercises and evaluate the blogging technology in promoting in-depth self-reflection. The research adopted a mixed research method which combines both quantitative and qualitative methods. The study included a questionnaire which is composed of two previously developed questionnaires, the Reflection Questionnaire (RQ) (Kember, 2000) and the Revised Study Process Questionnaire (R-SPQ-2F) (Biggs et al., 2001) for exploring the relationships between students’ perceptions of blogging and their learning approaches and their level of reflective thinking. The results would then triangulate with the findings of content analysis of blog posts and student interviews. The study showed that deep approach scores and scores of reflective thinking scales have been found as a significant contribution to the explanation of the portfolio and total course marks. It also showed that there is strong relationship between the learning approach and the students’ habit of reflective thinking. By comparing the pre-teaching with post-teaching scores, it is found that a positive change in the total scores of deep approach in particular in deep strategy subscale and a positive change in the total scores of higher levels of reflective thinking (reflection and critical reflection). Furthermore, the results showed that a negative change in the total scores of the lowest level of reflective thinking – habitual action. These implied that blogging may motivate students to learn deeper and drive them to think reflectively

    TOWARDS A REFLECTIVE-AGILE LEARNING MODEL AND METHOD IN THE CASE OF SMALL-SHOP SOFTWARE DEVELOPMENT: EVIDENCE FROM AN ACTION RESEARCH STUDY

    Get PDF
    The ascension and use of agile and lightweight software development methods have challenged extant software design and development paradigms; this is especially notable in the case of small-team and small-shop software development. In this dissertation, a Reflective-Agile Learning Method and Methodology (RALMM) for small-shop software development, is proposed to enhance communication and learning in the use of agile methods. The purpose of the inquiry in this dissertation pertains to: the nature of the professional practice of small team software development; the implications of the epistemology of Reflective Practice has for the professional practice of small-team software development; and whether the introduction of Reflective Practice to an extant agile methodology improves process, productivity and professional confidence for a small development team. This dissertation uses Dialogical Action Research (MĂ„rtensson and Lee 2004), or Dialogical AR, a qualitative and interpretive research approach, to iteratively develop and refine the Reflective-Agile Learning Model and Method (RALMM). The proposed model and method also considers Hazzan and Tomayko’s (2002, 2004, and 2005) synthesis of Schön’s (1983, 1987) Reflective Practice and Extreme Programming (XP). RALMM is shaped by Argyris and Schön’s theories of practice (1974) and Organizational Learning (1978, 1996) and Schön’s ancillary work on generative metaphor (1979) and frames (Schön et al. 1994). The RALMM artifact was developed in a Dialogical AR Partnership using Lee’s (2007) framework for synthesizing design science and action research. The development and use of RALMM facilitated theorizing on the role of Reflective Practice in the successful use of agile methods. To assist in interpretation and analysis, the data collected during Dialogical AR cycles are analyzed using Strauss and Corbin’s (1998) Grounded Theory as a mode of analysis to guide in the coding and analysis of qualitative evidence from the research. As a result of this research, RALMM improved the practitioners’ processes and productivity. Furthermore, RALMM helped to establish, formalize and reinforce a team learning system for the continued development of the practitioners’ professional repertoire. Additionally, the iterative development of RALMM provides a basis for theorizing on Reflective Practice as an epistemology, paradigm, metaphor and frame of reference for the professional practice of small-shop software development

    The reflective practitioner perspective in software engineering education

    No full text
    This position paper is based on our articles: Hazzan, O. (2002). The reflective practitioner perspective in software engineering education, Th
    corecore