4 research outputs found

    Forecasting the progress of a software project using automatically collected data

    Get PDF
    Avoimen lähdekoodin projekteja isännöivistä palveluista voidaan kerätä projekteihin liittyvää ohjelmistotuotantodataa automaattisella louhinnalla. Tätä dataa voidaan käyttää ohjelmistoprojektin etenemisen ennustamiseen, mikä auttaa projektipäällikköä ennakoimaan projektin resurssitarpeita. Tämän tutkimuksen tavoitteena oli selvittää voiko avoimen lähdekoodin ohjelmistoprojektin työtehtävien määrän kasvua ennustaa käyttämällä automaattisesti louhittua ohjelmistotuotantodataa. Tutkimuksessa etsittiin ennustuspotentiaalia valituista datapareista viiveellisen yhteyden avulla eli kuinka muutos yhdessä aikasarjassa vaikuttaa viiveellä toiseen tai itseensä. Tutkimuksessa käytetty kymmenen projektin aineisto kerättiin GitHub-verkkopalvelusta. Seitsemässä projektissa tuotteena on tekstinkäsittelyohjelma ja kolmessa ei. Projekteja tutkittiin visualisoinnin, ristikorrelaation, impulssivastefunktion ja autokorrelaation avulla. Visualisoinnilla tutkittiin kokonaiskuvaa ja sopivaa aikaväliä ennustuspotentiaalin etsimiseen. Matemaattisilla menetelmillä tutkittiin aikasarjojen välistä viiveellistä yhteyttä eli kuinka samanlainen viivästetty versio yhdestä aikasarjasta on toiseen verrattuna. Suurimmasta osasta projekteja löytyi alle viikon aikajänteellä näkyvä yhteys dataparien välillä. Aikasarjat oli koottu viikkotasolle eli yhteys näkyi ilman viivästystä. Eri dataa sisältävistä datapareista ei löytynyt yleisluontoista viiveellistä yhteyttä yli viikon viiveellä. Työtehtävien sisältä löytyi kuitenkin voimakasta autokorrelaatiota 90% projekteista eli työtehtävien ilmestymisessä on säännönmukaisuutta. Tätä voidaan käyttää ennustamiseen, mutta autokorrelaatiolla ei voida ennustaa yllättäviä muutoksia aikasarjoissa. Projektipäällikkö voi ennustaa alle viikon aikajänteellä näkyvän yhteyden perusteella työtehtävien ilmestymistä, jos työtahti on tiedossa. Esimerkiksi työtahdin lisääminen nopeuttaa myös työtehtävien ilmestymistä. Työtehtävien autokorrelaation avulla olisi mahdollista antaa projektin etenemisestä suuntaa antava ennuste esimerkiksi GitHubin tehtävienhallintajärjestelmän yhteydessä

    Metrics and Visualizations for Managing Value Creation in Continuous Software Engineering

    Get PDF
    Digitalized society is built on top of software. The supplier of a software system delivers valuable new features to the users of the system in small increments in a continuous manner. To achieve continuous delivery of new features, new versions of software are delivered in rapid cycles. The goal is to get timely feedback from the stakeholders of the system in order to deliver business value.The development team needs timely information of the process to be able to improve it. A demonstrative overview of the process helps to get better understanding about the development process. Moreover, the development team is often willing to get retrospective information of the process in order to improve it and to maintain the flow of continuous value creation.The team uses various tools in the daily software engineering activities. The tools generate vast amount of data concerning the development process. For instance, issue management and version control systems hold detailed information on the actual development process. Mining software repositories provides a data-driven view to the development process.In this thesis, novel metrics and visualizations were built on top of the data. The developed artifacts help to understand and manage the value creation process. With this novel, demonstrative information, lean continuous improvement of the development process is made possible. With the novel metrics and visualizations, the development organization can get such new information on the process which is not easily available otherwise.The new information the metrics and visualizations provide help to different stakeholders of the project to get insight of the development process. The automatically generated data reflects the actual events in the development. The novel metrics and visualizations provide a practical tool for management purposes and continuous software process improvement

    Vanishing Point: Where Infrastructures, Architectures, and Processes of Software Engineering Meet

    Get PDF
    In software project management, there exists a triangle-like relation connecting the required time to deliver a certain scope of software features with a certain cost. If one of these three is affected, others must compensate for this. For example, having a faster delivery means either a costlier product or less features, or both. Long delivery times are usually unacceptable in any case as the business environment is changing fast.To deal with this, contemporary software is mostly produced with Agile methods, which emphasise developing small increments to deliver constant stream of value to the customer. A small piece of software is easier to produce and test. Also, rapid feedback can be gained with tight co-operation with the customer. As the increments have become almost infinitesimally small, the working software can be constantly improved as the changes can be delivered to the end user almost instantly. However, this is only possible when the increments are reliably tested and the delivery itself is rapid. Thus, automation in these crucial parts is a must. Furthermore, the customer is not able to comment on every change in person, so the collection of the feedback must be automated. Furthermore, the software product itself has to support the continuous delivery. There exists a certain relation between these aspects–namely the tool infrastructure, processes and the architecture—reminiscent of the project triangle of time, cost, and scope.In this thesis, we examine the crucial properties these aspects in the context of increasing the speed of delivery–up to continuous delivery and deployment combined with the idea of continuous feedback. Also, the ramifications of rapid software delivery are studied. The research is carried out as interviews and related methods, such as surveys, to gain data from the companies involved in software development. Also, some quantitative analysis is used to back up the findings. As a result, a model is introduced based on the research. It can be used to explore the aspects and their interrelationships. We present a set of key enablers of increasing the delivery speed and present a set of side-effects that have to be considered. These can be used as a guideline in the companies which are striving to hasten their delivery pace. Additionally, a comparison of various companies based on their delivery speed is presented

    Concept Development and User Experience Measurement of Dipor Dashboard for Monitoring Status for Digital Service Development Projects

    Get PDF
    In Finland, tax payers’ money is used by public sector organizations to implement open source digital services to solve problem situations raised by common citizens. However, traditional long development cycle often results with solutions that don’t address intended users’ needs. To remedy this, Digipalvelutehdas community introduced a process that would require a 3-month long development phase to produce a testable proof of concept for any digital service. To permit further implementation, the development progress needed to be closely monitored. Digipalvelutehdas brought up the idea of Dipor Dashboard for monitoring service development and Sampo Software Oy was assigned to develop a testable interface. The thesis work focused on defining requirements for this dashboard out of needs from its intended users and proposed a concept using low fidelity design sketches. The goal was to determine how attributes from GitHub repositories could be visualized in a Dashboard view to project development progress. The usability and feasibility of the system developed by Sampo Software was also evaluated. User experience study of the system had been done in a limited scope. The thesis report begins with background work. A competitor analysis for existing market solutions is then provided. A discussion is made on existing work over Dashboard design, Agile development visualization and using GitHub attributes to build Agile workflows. First phase of empirical work involved interviewing the customer and intended users to develop concept for the dashboard using iterative design and evaluation of low fidelity prototypes. Usability evaluation of the implemented system was done in second phase with two heuristic evaluations and five usability tests. A four week long user study was initiated with two participants in the third phase, which was continued for two weeks due to unavoidable circumstances. The implemented Dipor Dashboard focused more on organization hierarchy than on Digital services. The supposed dashboard view turned out to be an integration view for comparing different repository works intended for the same service. Used charts had issues in look & feel, functionality and data representation. Development progress wasn’t visualized following Agile methodology. Major design and functionality rework would be needed to make the system more usable. Although being a better option, the developed concept needs more research on appropriate visualizations and common data framework to integrate systems other than GitHub repositories
    corecore