40,228 research outputs found

    Assessing software development teams' efficiency using process mining

    Get PDF
    Context. Improving the efficiency and effectiveness of software development projects implies understanding their actual process. Given the same requirements specification, different software development teams may follow different strategies and that may lead to inappropriate use of tools or non-optimized allocation of effort on spurious activities, non-aligned with the desired goals. However, due to its intangibility, the actual process followed by each developer or team is often a black box. Objective. The overall goal of this study is to improve the knowledge on how to measure efficiency in development teams where a great deal of variability may exist due to the humanfactor. The main focus is on the discovery of the underlying processes and compare them in terms of efficiency and effectiveness. By doing so, we expect to reveal potentially hidden costs and risks, so that corrective actions may take place on a timely manner during the software project life cycle. Method. Several independent teams of Java programmers, using the Eclipse IDE, were assigned the same software quality task, related to code smells detection for identifying refactoring opportunities and the quality of the outcomes were assessed by independent experts. The events corresponding to the activity of each team upon the IDE, while performing the given task, were captured. Then, we used process mining techniques to discover development process models, evaluate their quality and compare variants against a reference model used as ”best practice”. Results. Teams whose process model was less complex, had the best outcomes and vice-versa. Comparing less complex process variants with the ”best practice” process, showed that they were also the ones with less differences in the control-flow perspective, based on activities frequencies. We have also determined which teams were most efficient through process analysis. Conclusions. We confirmed that, even for a well-defined software development task, there may be a great deal of process variability due to the human factor. We were able to identify when developers were more or less focused in the essential tasks they were required to perform. Less focused teams had the more complex process models, due to the spurious / non-essential actions that were carried out. In other words, they were less efficient. Experts’ opinion confirmed that those teams also were less effective in their expected delivery. We therefore concluded that a self-awareness of the performed process rendered by our approach, may be used to identify corrective actions that will improve process efficiency (less wasted effort) and may yield to better deliverables, i.e. improved process effectiveness.info:eu-repo/semantics/acceptedVersio

    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

    Software development process mining: discovery, conformance checking and enhancement

    Get PDF
    Context. Modern software projects require the proper allocation of human, technical and financial resources. Very often, project managers make decisions supported only by their personal experience, intuition or simply by mirroring activities performed by others in similar contexts. Most attempts to avoid such practices use models based on lines of code, cyclomatic complexity or effort estimators, thus commonly supported by software repositories which are known to contain several flaws. Objective. Demonstrate the usefulness of process data and mining methods to enhance the software development practices, by assessing efficiency and unveil unknown process insights, thus contributing to the creation of novel models within the software development analytics realm. Method. We mined the development process fragments of multiple developers in three different scenarios by collecting Integrated Development Environment (IDE) events during their development sessions. Furthermore, we used process and text mining to discovery developers’ workflows and their fingerprints, respectively. Results. We discovered and modeled with good quality developers’ processes during programming sessions based on events extracted from their IDEs. We unveiled insights from coding practices in distinct refactoring tasks, built accurate software complexity forecast models based only on process metrics and setup a method for characterizing coherently developers’ behaviors. The latter may ultimately lead to the creation of a catalog of software development process smells. Conclusions. Our approach is agnostic to programming languages, geographic location or development practices, making it suitable for challenging contexts such as in modern global software development projects using either traditional IDEs or sophisticated low/no code platforms.Contexto. Projetos de software modernos requerem a correta alocação de recursos humanos, técnicos e financeiros. Frequentemente, os gestores de projeto tomam decisões suportadas apenas na sua própria experiência, intuição ou simplesmente espelhando atividades executadas por terceiros em contextos similares. As tentativas para evitar tais práticas baseiam-se em modelos que usam linhas de código, a complexidade ciclomática ou em estimativas de esforço, sendo estes tradicionalmente suportados por repositórios de software conhecidos por conterem várias limitações. Objetivo. Demonstrar a utilidade dos dados de processo e respetivos métodos de análise na melhoria das práticas de desenvolvimento de software, colocando o foco na análise da eficiência e revelando aspetos dos processos até então desconhecidos, contribuindo para a criação de novos modelos no contexto de análises avançadas para o desenvolvimento de software. Método. Explorámos os fragmentos de processo de vários programadores em três cenários diferentes, recolhendo eventos durante as suas sessões de desenvolvimento no IDE. Adicionalmente, usámos métodos de descoberta e análise de processos e texto no sentido de modelar o fluxo de trabalho dos programadores e as suas características individuais, respetivamente. Resultados. Descobrimos e modelámos com boa qualidade os processos dos programadores durante as suas sessões de trabalho, usando eventos provenientes dos seus IDEs. Revelámos factos desconhecidos sobre práticas de refabricação, construímos modelos de previsão da complexidade ciclomática usando apenas métricas de processo e criámos um método para caracterizar coerentemente os comportamentos dos programadores. Este último, pode levar à criação de um catálogo de boas/más práticas no processo de desenvolvimento de software. Conclusões. A nossa abordagem é agnóstica em termos de linguagens de programação, localização geográfica ou prática de desenvolvimento, tornando-a aplicável em contextos complexos tal como em projetos modernos de desenvolvimento global que utilizam tanto os IDEs tradicionais como as atuais e sofisticadas plataformas "low/no code"

    How can SMEs benefit from big data? Challenges and a path forward

    Get PDF
    Big data is big news, and large companies in all sectors are making significant advances in their customer relations, product selection and development and consequent profitability through using this valuable commodity. Small and medium enterprises (SMEs) have proved themselves to be slow adopters of the new technology of big data analytics and are in danger of being left behind. In Europe, SMEs are a vital part of the economy, and the challenges they encounter need to be addressed as a matter of urgency. This paper identifies barriers to SME uptake of big data analytics and recognises their complex challenge to all stakeholders, including national and international policy makers, IT, business management and data science communities. The paper proposes a big data maturity model for SMEs as a first step towards an SME roadmap to data analytics. It considers the ‘state-of-the-art’ of IT with respect to usability and usefulness for SMEs and discusses how SMEs can overcome the barriers preventing them from adopting existing solutions. The paper then considers management perspectives and the role of maturity models in enhancing and structuring the adoption of data analytics in an organisation. The history of total quality management is reviewed to inform the core aspects of implanting a new paradigm. The paper concludes with recommendations to help SMEs develop their big data capability and enable them to continue as the engines of European industrial and business success. Copyright © 2016 John Wiley & Sons, Ltd.Peer ReviewedPostprint (author's final draft

    Replacing the Irreplaceable: Fast Algorithms for Team Member Recommendation

    Full text link
    In this paper, we study the problem of Team Member Replacement: given a team of people embedded in a social network working on the same task, find a good candidate who can fit in the team after one team member becomes unavailable. We conjecture that a good team member replacement should have good skill matching as well as good structure matching. We formulate this problem using the concept of graph kernel. To tackle the computational challenges, we propose a family of fast algorithms by (a) designing effective pruning strategies, and (b) exploring the smoothness between the existing and the new team structures. We conduct extensive experimental evaluations on real world datasets to demonstrate the effectiveness and efficiency. Our algorithms (a) perform significantly better than the alternative choices in terms of both precision and recall; and (b) scale sub-linearly.Comment: Initially submitted to KDD 201

    Supply Chains and Porous Boundaries: The Disaggregation of Legal Services

    Get PDF
    The economic downturn has had significant effects on law firms, and is causing many of them to rethink some basic assumptions about how they operate. In important respects, however, the downturn has simply intensified the effects of some deeper trends that preceded it, which are likely to continue after any recovery that may occur. This paper explores one of these trends, which is corporate client insistence that law firms “disaggregate” their services into discrete tasks that can be delegated to the least costly providers who can perform them. With advances in communications technology, there is increasing likelihood that some of these persons may be located outside the formal boundaries of the firm. This means that law firms may need increasingly to confront the make or buy decision that their corporate clients have regularly confronted for some time. The potential for vertical disintegration is a relatively recent development for legal services, but is well-established in other sectors of the global economy. Empirical work in several disciplines has identified a number of issues that arise for organizations as the make or buy decision becomes a potentially more salient feature of their operations. Much of this work has focused in particular on the implications of relying on outsourcing as an integral part of the production process. This paper discusses research on: (1) the challenges of ensuring that work performed outside the firm is fully integrated into the production process; (2) coordinating projects for which networks of organizations are responsible; (3) managing the transfer of knowledge inside and outside of firms that are participants in a supply chain; and (4) addressing the impact of using contingent workers on an organization’s workforce, structure, and culture. A review of this research suggests considerations that law firms will need to assess if they begin significantly to extend the process of providing services beyond their formal boundaries. Discussing the research also is intended to introduce concepts that may become increasingly relevant to law firms, but which currently are not commonly used to analyze their operations. Considering how these concepts are applicable to law firms may prompt us to rethink how to conceptualize these firms and what they do. This paper therefore is a preliminary attempt to explore: (1) the extent to which law firms may come to resemble the vertically disintegrated organizations that populate many other economic sectors and (2) the potential implications of this trend for the provision of legal services,the trajectory of legal careers, and lawyers’ sense of themselves as members of a distinct profession

    Impact of new technologies in hard rock underground mining taking into account operational efficiencies and production rates

    Get PDF
    Purpose: The purpose of this paper is to discuss the impact that new technology will have and a few of the key areas to be addressed that will ensure a successful and sustained adoption of new technologies within mining organizations. Methods: Analysis and the practical experience of implementing technology to enable organization wide transformations across multiple industries. Findings: Five key areas will need to be taken into account in driving to improved levels of production rates, greater operational efficiencies and higher health and safety levels namely technology, mechanization, people, equipment and economic sustainability. Originality: Ensuring that all five areas are addressed holistically and no one area in isolation will result in improved production levels and efficiencies and ultimately the achievement of autonomous mining. Practical implications. There will have to be a significant organisational culture transformation within mining organisations and the ability to foster a culture of learning is going to be critical to the successful adoption of new technology in mining and the subsequent improvements in operational efficiencies and production rates that will result.Мета. Метою даної статті є аналіз впливу, який буде чинити нова технологія, а також деякі з розглянутих ключових областей, які забезпечують успішне та стабільне впровадження новітніх технологій на гірничодобувних підприємствах. Методика. Аналіз і практичний досвід технологічних впроваджень для забезпечення значного перетворення підприємства в різних галузях промисловості. Результати. Встановлено, що для досягнення поліпшення рівня темпів виробництва, підвищення експлуатаційної ефективності й більш високих рівнів охорони здоров’я та безпеки, необхідно враховувати п’ять ключових факторів, а саме: технологію, механізацію, людей, обладнання та економічну стійкість. Наукова новизна. Новизна роботи забезпечується тим, що всі п’ять факторів розглядаються як єдине ціле і жоден з них окремо не призводить до підвищення рівня виробництва та ефективності, й у кінцевому підсумку – досягнення автономного видобутку. Практична значимість. Повинно бути значне перетворення корпоративної культури на гірничодобувних підприємствах, також повинна бути можливість сприяння формуванню культури навчання, що буде мати вирішальне значення для успішного впровадження нових технологій у гірничодобувній промисловості та в результаті – подальшого поліпшення експлуатаційної ефективності й темпів виробництва.Цель. Целью данной статьи является анализ воздействия, которое будет оказывать новая технология, а также некоторые из рассматриваемых ключевых областей, обеспечивающих успешное и стабильное внедрение новейших технологий на горнодобывающих предприятиях. Методика. Анализ и практический опыт технологических внедрений для обеспечения обширного преобразования предприятия в различных отраслях промышленности. Результаты. Установлено, что для достижения улучшения уровня темпов производства, повышения эксплуатационной эффективности и более высоких уровней охраны здоровья и безопасности, необходимо учитывать пять ключевых факторов, а именно: технологию, механизацию, людей, оборудование и экономическую устойчивость. Научная новизна. Новизна работы обеспечивается тем, что все пять факторов рассматриваются как единое целое и ни один из них в отдельности не приводит к повышению уровня производства и эффективности, и в конечном итоге – достижению автономной добычи. Практическая значимость. Должно быть значительное преобразование корпоративной культуры на горнодобывающих предприятиях, также должна быть возможность содействия формированию культуры обучения, что будет иметь решающее значение для успешного внедрения новых технологий в горнодобывающей промышленности и в результате – последующего улучшения эксплуатационной эффективности и темпов производства.The paper did not originate under any project and no funding was raised
    corecore