10,330 research outputs found

    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

    Teaching Agile Development with DevOps in a Software Engineering and Database Technologies Practicum

    Full text link
    [EN] DevOps is a new concept for Software Engineering. Teaching DevOps can be challenging with the limited resources that are available at many universities. This paper exams how to teach of an Agile Development Methodology using a DevOps approach for the Regis University (RU) M.S. in Software Engineering and Database Technologies Practicum. With faculty support, heavy stakeholder involvement and RU Information Technology Services (Operations Support) mentoring, students were able to successfully follow the Agile Development methodology to create an application that was incoporated into the RU Web-site infrastructure.Mason, R.; Masters, W.; Stark, A. (2017). Teaching Agile Development with DevOps in a Software Engineering and Database Technologies Practicum. En Proceedings of the 3rd International Conference on Higher Education Advances. Editorial Universitat Politècnica de València. 1353-1362. https://doi.org/10.4995/HEAD17.2017.5607OCS1353136

    Analysis and Comparison of Multiple Approaches for Software Development Management as Applied to a Design Studio Project

    Get PDF
    This research analyzes multiple approaches to software development management through the lens of my experience in the Raikes Design Studio capstone program. The Design Studio project I participated in was a project for the company Hudl, and throughout its course we used techniques from the Agile framework of Scrum. I compared the Scrum principles to my team’s own application over the course of the project, and I researched other software development methodologies such as Extreme Programming and Lean in order to determine whether they could improve the effectiveness of the current Design Studio experience. The proposed solution to this question is to continue using Scrum methods, but to also take inspiration from Extreme Programming and to encourage pair programming in all Design Studio teams, as well as to make an effort to improve Design Studio sponsor communication

    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

    Annotation Studio: multimedia text annotation for students

    Get PDF
    Annotation Studio will be a web-based application that actively engages students in interpreting literary texts and other humanities documents. While strengthening students' new media literacies, this open source web application will develop traditional humanistic skills including close reading, textual analysis, persuasive writing, and critical thinking. Initial features will include: 1) easy-to-use annotation tools that facilitate linking and comparing primary texts with multi-media source, variation, and adaptation documents; 2) sharable collections of multimedia materials prepared by faculty and student users; 3) multiple filtering and display mechanisms for texts, written annotations, and multimedia annotations; 4) collaboration functionality; and 5) multimedia composition tools. Products of the start-up phase will include a working prototype, feedback from students and instructors, and a white paper summarizing lessons learned

    Custom Windows Patching Methodology - Comparative Analysis

    Get PDF
    Windows Server Update Services has been a common mainstay among organizations with a heavy footprint of Windows operating systems since it was originally released as Software Update Services in 2002. While the product has grown in scope, the primary allure remains the same: WSUS offers organizations greater control over the patches that are released to their environment and saves bandwidth by allowing a centralized device to download and offer patches to internal clients rather than having each of those clients download the content they require from the Internet. Unfortunately, the product has a structural limitation in that it lacks the capacity to provide high-availability to the metadata synchronization process that must occur in order to deliver the most up-to-date patches to endpoints. WSUS metadata contains details about the individual updates, EULAs, and supersedence relationships. Due to design limitations and the growing concern of outages, a solution was developed to supplement and perhaps replace WSUS in certain scenarios. This solution, dubbed the Custom Patching Manager (CPM), is an extension of a concept originally started by Alejandro GĂłmez Galindo and finds middle-ground between Windows Server Update Services and Windows Update using freely available software. The solution assesses the vulnerabilities of a system or systems, determines whether or not the patches are part of an approved list, determines whether or not the content for missing updates is available locally, acquires that content depending on the previous step, and applies the patches to the endpoint. This proof-of-concept proved functional and reliable but would benefit from some optimizations that have been recommended as future works

    Verkkosovellusten jatkuva kehitys ja julkaisuautomaatio

    Get PDF
    Software development methods have evolved towards more agile practices for getting changes implemented more quickly. While the new features are finished faster, the release processes are also made more automated to get the changes in production environment reliably, repeatably and rapid. This thesis examines the practices used for continuous software development and web application release automation. The main objective is to find out and implement a way for making changes agilely and getting them tested and released in several environments effortlessly. After the research, different tools are sought for, compared and suitable tools are selected. Lean software development is chosen as the working practice for the development. GitHub enterprise is used for version control, JetBrains TeamCity for continuous integration and Octopus Deploy for deployment automation. SonarQube is used for static code analysis and UseTrace for automated functionality testing. The lean development practice is found well fit for real world use. The deployment pipeline is also well operational, founding issues early and deployments are enabled steady, effortless and fast. Some issues with code analysis are found due to the decisions in the application implementation. UseTrace tests have occasionally some false positives in the failing test results but overall they worked as expected.Sovelluskehitysmenetelmät ovat kehittyneet ketterämmiksi, jotta muutokset saataisiin toteutettua nopeammin. Kun uudet ominaisuudet valmistuvat nopeammin, myös julkaisuprosesseista tehdään automatisoidumpia, jotta muutokset saadaan tuotantoon luotettavasti, toistettavasti ja nopeasti. Tässä työssä tutkitaan menetelmiä, joita käytetään jatkuvaan sovelluskehitykseen ja verkkosovellusten julkaisuautomaatioon. Pääasiallisena tavoitteena on selvittää ja toteuttaa tapa, jolla muutoksia voidaan tehdä ketterästi ja julkaista testattuina moniin ympäristöihin pienellä vaivalla. Tutkimuksen jälkeen etsitään erilaisia työkaluja, joita vertaillaan keskenään ja soveltuvat työkalut valitaan. Lean-malli valitaan sovelluskehityksessä käytettäväksi tavaksi. GitHub enterprise:a käytetään versionhallintaan, JetBrains TeamCity:ä jatkuvaan integraatioon ja Octopus Deploy:ta jatkuvaan toimittamiseen. SonarQube:a käytetään staattiseen koodianalyysiin ja UseTrace:a automaattiseen funktionaalisuustestaamiseen. Lean-sovelluskehitysmalli todetaan hyvin toimivaksi todellisessa käytössä. Julkaisuputki on myös hyvin toimiva, löytäen ongelmat ajoissa ja mahdollistaen julkaisut luotettavasti, vaivattomasti ja nopeasti. Koodianalyysin osalta joitain ongelmia ilmenee sovellustoteutukseen liittyvistä päätöksistä johtuen. UseTrace-automaattitestit tuottavat satunnaisesti virheellisiä ongelmia testituloksissa, mutta yleisesti ottaen ne toimivat odotetusti
    • …
    corecore