6,554 research outputs found

    Should I Bug You? Identifying Domain Experts in Software Projects Using Code Complexity Metrics

    Full text link
    In any sufficiently complex software system there are experts, having a deeper understanding of parts of the system than others. However, it is not always clear who these experts are and which particular parts of the system they can provide help with. We propose a framework to elicit the expertise of developers and recommend experts by analyzing complexity measures over time. Furthermore, teams can detect those parts of the software for which currently no, or only few experts exist and take preventive actions to keep the collective code knowledge and ownership high. We employed the developed approach at a medium-sized company. The results were evaluated with a survey, comparing the perceived and the computed expertise of developers. We show that aggregated code metrics can be used to identify experts for different software components. The identified experts were rated as acceptable candidates by developers in over 90% of all cases

    Software systems engineering: a journey to contemporary agile and beyond, do people matter?

    Get PDF
    It is fascinating to view the evolution of software systems engineering over the decades. At the first glance, it could be perceived that the various approaches and processes are different. Are they indeed different? This paper will briefly discuss such a journey relating to findings from an empirical study in some organisations in the UK. Some of the issues described in the literature and by practitioners are common across different software system engineering approaches over the time. It can be argued that human-element of software development plays an integral part in the success of software systems development endeavour. After all, software engineering is a human-centric craft. In order to understand such issues, we crossed the discipline to other disciplines in order to adapt theories and principles that will help to better understand and tackle such matter. Other disciplines have well established human related theories and principles that can be useful. From Japanese management philosophies, we have adapted Lean and knowledge management theories. From psychology, we have adapted Emotional Intelligence (EI). With such an interdisciplinary view, some of the issues can be addressed adequately. Which bring the question: is it really the process or the people? The second author will reflect on his experience attending the first SQM conference 25 years ago. The reflection will discuss the evolution of software systems engineering, and what was changed since then, if at all changed

    Empowering Leadership, Transactive Memory Systems and Agility in Software Development Teams: A Theoretical Framework

    Get PDF
    Empowering leadership is crucial in modern software development. However, there is a lack of studies on how empowering leadership affects agility in software development. To fill this gap, we investigate the role of empowering leadership in agility in software development through the lens of transactive memory systems (TMS) theory. In this conceptual paper, we propose a theoretical framework in which TMS plays a mediating role between empowering leadership and agility. This framework advances our understanding of the value of empowering leadership practices in developing TMS, which in turn helps software development teams achieve agility. The proposed leadership practices and their categories also provide guidelines for effectively exercising empowering leadership

    Change-Impact driven Agile Architecting.

    Full text link
    Software architecture is a key factor to scale up Agile Software Development ASD in large softwareintensive systems. Currently, software architectures are more often approached through mechanisms that enable to incrementally design and evolve software architectures aka. agile architecting. Agile architecting should be a light-weight decision-making process, which could be achieved by providing knowledge to assist agile architects in reasoning about changes. This paper presents the novel solution of using change-impact knowledge as the main driver for agile architecting. The solution consists of a Change Impact Analysis technique and a set of models to assist agile architects in the change -decision-making- process by retrieving the change-impact architectural knowledge resulting from adding or changing features iteration after iteration. To validate our approach, we have put our solution into practice by running a project of a metering management system in electric power networks in an i-smart software factory

    Libraries in transition: evolving the information ecology of the Learning Commons: a sabbatical report

    Get PDF
    This sabbatical report studied various models in order to determine best practices for design, implementation and service of Leaning Commons, a library service model which functionally and spatially integrates library services, information technology services, and media services to provide a continuum of services to the user
    • …
    corecore