4 research outputs found

    Shall we play a game?

    Get PDF
    In response to real and perceived short-comings in the quality and productivity of software engineering practices and projects, professionally-endorsed graduate and post-graduate curriculum guides have been developed to meet evolving technical developments and industry demands. Each of these curriculum guidelines identifies better software engineering management skills and soft, peopleware skills as critical for all graduating students, but they provide little guidance on how to achieve this. One possible way is to use a serious game — a game designed to educate players about some of the dynamic complexities of the field in a safe and inexpensive environment. This thesis presents the results of a qualitative research project that used a simple game of a software project to see if and how games could contribute to better software project management education; and if they could, then what features and attributes made them most efficacious. That is, shall we— should we— play games in software engineering management? The primary research tool for this project was a game called Simsoft. Physically, Simsoft comes in two pieces. There is an A0-sized printed game board around which the players gather to discuss the current state of their project and to consider their next move. The board shows the flow of the game while plastic counters are used to represent the staff of the project. Poker chips represent the team’s budget, with which they can purchase more staff, and from which certain game events may draw or reimburse amounts depending on decisions made during the course of the game. There is also a simple Java-based dashboard, through which the players can see the current and historical state of the project in a series of reports and messages; and they can adjust the project’s settings. The engine behind Simsoft is a system dynamics model which embodies the fundamental causal relationships of simple software development projects. In Simsoft game sessions, teams of students, and practicing project managers and software engineers managed a hypothetical software development project with the aim of completing the project on time and within budget (with poker chips left over). Based on the starting scenario of the game, information provided during the game, and their own real-world experience, the players made decisions about how to proceed— whether to hire more staff or reduce the number, what hours should be worked, and so on. After each decision set had been entered, the game was run for another next time period, (a week, a month, or a quarter). The game was now in a new state which the players had to interpret from the game board and decide how to proceed. The findings showed that games can contribute to better software engineering management education and help bridge the pedagogical gaps in current curriculum guidelines. However, they can’t do this by themselves and for best effect they should be used in conjunction with other pedagogical tools. The findings also showed that simple games and games in which the players are able to relate the game world to an external context are the most efficacious

    Überblick zur Softwareentwicklung in Wissenschaftlichen Anwendungen

    Get PDF
    Viele wissenschaftliche Disziplinen mĂŒssen heute immer komplexer werdende numerische Probleme lösen. Die KomplexitĂ€t der benutzten wissenschaftlichen Software steigt dabei kontinuierlich an. Diese KomplexitĂ€tssteigerung wird durch eine ganze Reihe sich Ă€ndernder Anforderungen verursacht: Die Betrachtung gekoppelter PhĂ€nomene gewinnt Aufmerksamkeit und gleichzeitig mĂŒssen neue Technologien wie das Grid-Computing oder neue Multiprozessorarchitekturen genutzt werden, um weiterhin in angemessener Zeit zu Berechnungsergebnissen zu kommen. Diese FĂŒlle an neuen Anforderungen kann nicht mehr von kleinen spezialisierten Wissenschaftlergruppen in Isolation bewĂ€ltigt werden. Die Entwicklung wissenschaftlicher Software muss vielmehr in interdisziplinĂ€ren Gruppen geschehen, was neue Herausforderungen in der Softwareentwicklung induziert. Ein Paradigmenwechsel zu einer stĂ€rkeren Separation von Verantwortlichkeiten innerhalb interdisziplinĂ€rer Entwicklergruppen ist bis jetzt in vielen FĂ€llen nur in AnsĂ€tzen erkennbar. Die Kopplung partitioniert durchgefĂŒhrter Simulationen physikalischer PhĂ€nomene ist ein wichtiges Beispiel fĂŒr softwaretechnisch herausfordernde Aufgaben im Gebiet des wissenschaftlichen Rechnens. In diesem Kontext modellieren verschiedene Simulationsprogramme unterschiedliche Teile eines komplexeren gekoppelten Systems. Die vorliegende Arbeit gibt einen Überblick ĂŒber Paradigmen, die darauf abzielen Softwareentwicklung fĂŒr Berechnungsprogramme verlĂ€sslicher und weniger abhĂ€ngig voneinander zu machen. Ein spezielles Augenmerk liegt auf der Entwicklung gekoppelter Simulationen.Fields of modern science and engineering are in need of solving more and more complex numerical problems. The complexity of scientiïŹc software thereby rises continuously. This growth is caused by a number of changing requirements. Coupled phenomena gain importance and new technologies like the computational Grid, graphical and heterogeneous multi-core processors have to be used to achieve high-performance. The amount of additional complexity can not be handled by small groups of specialised scientists. The interdiciplinary nature of scientiïŹc software thereby presents new challanges for software engineering. A paradigm shift towards a stronger separation of concerns becomes necessary in the development of future scientiïŹc software. The coupling of independently simulated physical phenomena is an important example for a software-engineering concern in the domain of computational science. In this context, different simulation-programs model only a part of a more complex coupled system. The present work gives overview on paradigms which aim at making software-development in computational sciences more reliable and less interdependent. A special focus is put on the development of coupled simulations

    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 Profession of IT Is Software Engineering Engineering?

    Get PDF
    The article of record as published may be found at http://dx.doi.org/10.1145/1467247.1467257Software engineering continues to be dogged by claims it is not engineering. Adopting more of a computer-systems view may help
    corecore