18,613 research outputs found

    Transitioning from Waterfall to Agile: Shifting Student Thinking and Doing from Milestones to Sprints

    Get PDF
    Delivering an information system is the project in most MIS capstone courses. Students use a methodology to accomplish their project. According to Dima and Maassen (2018), Waterfall and Agile design methodologies are the two main models for software development. Waterfall follows a sequential set of milestones that leads from concept to implementation. The process does not move to the next step until the current step is complete (Kasser, 2002; Balaji & Murugaiyan, 2012; Mahalakshmi & Sundararajan, 2013). According to Lu and DeClue (2011) agile methodologies are lightweight, short cycled, less wasteful, and focus more on the human aspect in software development (p. 295). Agile methodologies are cyclic and iterative rather than focused on completing individual milestones. By nature, an academic course is set up to assess assignments. Most MIS courses that use a design methodology usually use the Waterfall methodology. While Waterfall consists of several milestones making it easier to assess, agile also lends itself to being assessed as well. Allowing students the opportunity to use the agile methodology while developing an information system provides an experience and skillset that they can use to market themselves when seeking employment (Lu & DeClue, 2011). Focusing on the instructional techniques of using agile in the classroom and providing students the opportunity to practice agile on their capstone project is looked at for best practices. This study addresses challenges inherent in developing a structure to assist students in using agile as the design methodology for an MIS capstone course. Through SCRUM activities, students have the opportunity to shift their thinking from a milestone mentality to a sprint mentality. This shift allows them to learn the differences between a Waterfall design methodology and an iterative cyclical methodology when developing an information system for an organization. This experience is beneficial by providing them two lenses to look through when developing an information system

    (MU-CTL-01-12) Towards Model Driven Game Engineering in SimSYS: Requirements for the Agile Software Development Process Game

    Get PDF
    Software Engineering (SE) and Systems Engineering (Sys) are knowledge intensive, specialized, rapidly changing disciplines; their educational infrastructure faces significant challenges including the need to rapidly, widely, and cost effectively introduce new or revised course material; encourage the broad participation of students; address changing student motivations and attitudes; support undergraduate, graduate and lifelong learning; and incorporate the skills needed by industry. Games have a reputation for being fun and engaging; more importantly immersive, requiring deep thinking and complex problem solving. We believe educational games are essential in the next generation of e-learning tools. An extensible, freely available, engaging, problem-based game platform that provides students with an interactive simulated experience closely resembling the activities performed in a (real) industry development project would transform the SE/Sys education infrastructure. Our goal is to extend the state-of-the-art research in SE/Sys education by investigating a game development platform (GDP) from an interdisciplinary perspective (education, game research, and software/systems engineering). A meta-model has been proposed to provide a rigourous foundation that integrates the three disciplines. The GDP is intended to support the semi-automated development of collections of scripted games and their execution, where each game embodies a specific set of learning objectives. The games are scripted using a template based approach. The templates integrate three approaches: use cases; storyboards; and state machines (timed, concurrent, hierarchical state machines). The specification templates capture the structure of the game (Game, Acts, Scenes, Screens, Challenges), storyline, characters (player, non-player, external), graphics, music/sound effects, rules, and so on. The instantiated templates are (manually) transformed into XML game scripts that can be loaded into the SimSYS Game Play Engine. As a game is played, the game play events are logged; they are analyzed to automatically assess a player’s accomplishments and automatically adapt the game play script. Currently, we are manually defining a collection of games. The games are being used to ensure the GDP is flexible and reliable (i.e., the prototype can load and correctly run a variety of game scripts), the ontology is comprehensive, and the templates assist in defining well-organized, modular game scripts. In this report, we present the initial part of an Agile Software Development Process game (Act I, Scenes 1 and 2) that embodies learning objectives related to SE fundamentals (requirements, architecture, testing, process); planning with Gantt charts; working with budgets; and selecting a team for an agile development project. A student player is rewarded in the game by getting hired, scoring points, or getting promoted to lead a project. The game has a variety of settings including a classroom, job fair, and a work environment with meeting rooms, cubicles, and a water cooler station. The main non-player characters include a teacher, boss, and an evil peer. In the future, semi-automated support for creating new game scripts will be explored using a wizard interface. The templates will be formally defined, supporting automated transformation into XML game scripts that can be loaded into the SimSYS Game Engine. We also plan to explore transforming the requirements into a notation that can be imported into a commercial tool that supports Statechart simulation

    Beyond Surveys: Analyzing Software Development Artifacts to Assess Teaching Efforts

    Full text link
    This Innovative Practice Full Paper presents an approach of using software development artifacts to gauge student behavior and the effectiveness of changes to curriculum design. There is an ongoing need to adapt university courses to changing requirements and shifts in industry. As an educator it is therefore vital to have access to methods, with which to ascertain the effects of curriculum design changes. In this paper, we present our approach of analyzing software repositories in order to gauge student behavior during project work. We evaluate this approach in a case study of a university undergraduate software development course teaching agile development methodologies. Surveys revealed positive attitudes towards the course and the change of employed development methodology from Scrum to Kanban. However, surveys were not usable to ascertain the degree to which students had adapted their workflows and whether they had done so in accordance with course goals. Therefore, we analyzed students' software repository data, which represents information that can be collected by educators to reveal insights into learning successes and detailed student behavior. We analyze the software repositories created during the last five courses, and evaluate differences in workflows between Kanban and Scrum usage

    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

    Open Source Tools to Support Teaching Agile Software Development

    Get PDF
    Learning agile software development methodologies are important due to the popularity of agility in software industry. Agile software development has several practices and each practice needs specific tools to work with. Fortunately, there are plenty of open source tools to support working with the agile practices. However, each tool is a separate tool and there is no information about the interrelation of those open source tools. In this paper we propose a set of open source tools to support agile software development course. We start from identifying the principles and practices of agile software development and continue with examining open source tools that fit with agile practices. The relationship between the open source tools is also determined, based on their functionalities
    • …
    corecore