452 research outputs found

    An approach to modeling and supporting the rework process in refactoring

    Full text link

    Challenges to Architecture Decision-Making in Agile Development Environments

    Get PDF
    Käesoleva magistritöö eesmärk on uurida väljakutseid, mis võivad esineda tarkvaraarhitektuuri kombineerimisel väleda tarkvaraarendusega ning selgitada välja põhjused, mis neid esile toovad. Kuigi antud teema on olnud juba päevakorras mõnda aega, siis jätkuvalt esineb vastuolusid väleda tarkvaraarenduse ja tarkvaraarhitektuuri sobitamisel nii teadlaste kui praktikute seas. Väleda tarkvaraarenduse ning arhitektuuri toetajaid võib leida sama palju kui mittetoetajaid, kes väidavad, et neid kahte kokku sobitada pole võimalik. Käesolevas magistritöös püstitatud uurimisküsimuste vastamisel on kasutatud kahte uurimismetoodikat: kirjanduse ülevaade ning juhtumiuuring. Kirjanduse ülevaade käsitleb varem avaldatud uurimistöid ning raskuseid, mida on antud valdkonnas senimaani täheldatud. Lisaks sellele on arutlusse võetud kirjanduses välja toodud soovitused, mida järgida arhitektuuri arendamisel väledas arenduskeskkonnas. Magistritöö teine osa käsitleb Eestis tegutsevas tarkvara idufirmas Stagnation Lab ja Siseministeeriumi IT osakonnas (SMIT) läbi viidud juhtumiuuringut. Stagnation Labis analüüsiti kahte projekti ning intervjueeriti mõlema projekti rollis olnud tarkvaraarhitekte, et uurida, milliseid raskusi kohati süsteemi ning eelkõige tarkvara arhitektuuri arenduse käigus. Samal eesmärgil intervjueeriti ka SMITi projekti eestvedanud tarkvaraarhitekti.The goal of this master thesis is to explore challenges of architecture decision-making in agile environments and trying to find out what causes issues regarding agile architecture - the latter being a set of values and practices supporting the effective evolution of the design and system architecture, concurrent with the implementation of new business functionality. Although the topic has been existent for some time, there are still tensions between software architecture and agility that are not well understood by agile practitioners and researchers alike. While there are many active promoters of agile architecture design, there can be found equally many non-believers who state that agility and architecture cannot work together. To find answers to the research questions stated in this thesis, two research methodologies have been used: a literature survey and a case study. The literature survey covers related work on agility in software architecture and the challenges that come with it. The survey includes difficulties that have been observed regarding the use of agile development methods when building the architecture. In addition, recommended practices are discussed for applying agile processes associated with sound architectural principles. The second part of the thesis is a case study within a software startup company, Stagnation Lab, and the SMIT (Ministry of the Interior IT and Development Centre). In Stagnation Lab, two projects were analyzed. The main architects behind the design of each project were interviewed to look deeper into potential challenges when applying agile practices in architecture development. Similarly, at SMIT, the main architect responsible for the design of a monitoring information system for the Rescue and Fire Department was interviewed

    Strategic project management approach to the study of large-scale software development using system dynamics

    Get PDF
    Thesis (S.M.)--Massachusetts Institute of Technology, Engineering Systems Division, 2012.Cataloged from PDF version of thesis.Includes bibliographical references (p. 122-123).Large-scale software engineering organizations have traditionally used plan-driven, heavyweight, waterfall-style approaches for the planning, execution, and monitoring of software development efforts. This approach often results in relatively long development schedules that are susceptible to failure, especially in a rapidly changing environment: Schedule pressure, defects and requirements changes, can drive endless redesign, delay the project, and incur extra cost. Many in the commercial software world have dealt with these pressures by adopting Agile Software Development, an approach designed to be flexible and responsive to high-change environments. Software development teams that are said to employ "Agile development" in effect practice a variety of "agile methods". These practices are advertised to reduce coordination costs, to focus teams, and to produce stable product iterations that can be released incrementally. Agile software development has become a de-facto approach to the engineering of software systems in the commercial world, and is now entering the aerospace and defense sectors. The APD model developed in this research aids in the understanding of the impact that alternative combinations of Agile practices, combined with different management policies, have on project performance, compared to a waterfall approach. This research culminates in a formulation of insights and recommendations for how to integrate Agile practices into a large-scale software engineering organization.by Firas Glaiel.S.M

    Extreme Programming Approach in E-PANJO Design to Support Information Management at Nursing Home

    Get PDF
    Abstrak. Selain melaksanakan pelayanan perawatan lansia, panti jompo juga melaksanakan pekerjaan rutin terkait pengelolaan informasi. Informasi ini didapat dari berbagai kegiatan, mulai dari lansia yang masuk ke panti jompo hingga keluar dari panti jompo. Penelitian ini bertujuan untuk merancang sebuah aplikasi “EPANJO” yang dapat digunakan sebagai alat untuk mendukung pengelolaan informasi panti jompo. Agar perancangan dapat menghasilkan aplikasi yang tepat dan sesuai dengan kebutuhan maka pengembangannya akan menggunakan metode Extreme Programming (XP). XP dipilih karena kemampuannya untuk mendukung proses pengembangan aplikasi skala kecil. XP merupakan metode yang terdiri dari fase eksplorasi, fase perencanaan, fase iterasi hingga fase rilis, fase produksi, dan fase kematian. Hasil dari penelitian ini menunjukkan bahwa XP efektif dalam mendukung perancangan E-PANJO dibuktikan dengan uji fungsionalitas black box yang dapat mengakomodir kebutuhan pengelolaan informasi panti jompo seperti pengelolaan informasi pemantauan riwayat kesehatan, mutasi lansia, kunjungan keluarga , menerima sumbangan dan biaya bulanan untuk orang tuaKata Kunci: E-PANJO, Extreme Programming, Panti Werdha Abstract. In addition to carrying out elderly care services, nursing homes also carry out routine work related to information management. This information was obtained from various activities, from the elderly entering the nursing home to leaving the nursing home. This study aims to design an "E-PANJO" application as a tool to support the management of nursing home information. So that the design can produce the proper application and according to the needs, the development used the Extreme Programming (XP) method. XP was chosen because of its ability to support small-scale application development processes. XP is a method consisting of an exploration phase, planning phase, iteration to release phase, production phase, and death phase. The results of this study indicate that XP is effective in supporting the design of E-PANJO as evidenced by a black box functionality test that can accommodate the needs of nursing home information management such as managing information on monitoring health history, elderly mutations, family visits, receiving donations and monthly fees for the elderly.Keywords: E-PANJO, Extreme Programming, Nursing Hom

    Analyzing the concept of technical debt in the context of agile software development: A systematic literature review

    Full text link
    Technical debt (TD) is a metaphor that is used to communicate the consequences of poor software development practices to non-technical stakeholders. In recent years, it has gained significant attention in agile software development (ASD). The purpose of this study is to analyze and synthesize the state of the art of TD, and its causes, consequences, and management strategies in the context of ASD. Using a systematic literature review (SLR), 38 primary studies, out of 346 studies, were identified and analyzed. We found five research areas of interest related to the literature of TD in ASD. Among those areas, managing TD in ASD received the highest attention, followed by architecture in ASD and its relationship with TD. In addition, eight categories regarding the causes and five categories regarding the consequences of incurring TD in ASD were identified. Focus on quick delivery and architectural and design issues were the most popular causes of incurring TD in ASD. Reduced productivity, system degradation and increased maintenance cost were identified as significant consequences of incurring TD in ASD. Additionally, we found 12 strategies for managing TD in the context of ASD, out of which refactoring and enhancing the visibility of TD were the most significant. The results of this study provide a structured synthesis of TD and its management in the context of ASD as well as potential research areas for further investigation
    corecore