9 research outputs found

    ‘Computing’ Requirements in Open Source Software Projects

    Get PDF
    Due to high dissimilarity with traditional software development, Requirements Engineering (RE) in Open Source Software (OSS) remains poorly understood, despite the visible success of many OSS projects. In this study, we approach OSS RE as a sociotechnical and distributed cognitive activity where multiple actors deploy heterogeneous artifacts to ‘compute’ requirements as to reach a collectively-held understanding of what the software is going to do. We conduct a case study of a popular OSS project, Rubinius (a Ruby programming language runtime environment). Specifically, we investigate the ways in which this project exhibits distribution of cognitive efforts along social, structural, and temporal dimensions and how its requirements computation takes place accordingly. In particular, we seek to generalize to a theoretical framework that explains how three temporally-ordered processes of distributed cognition in OSS projects, denoted excavation, instantiation, and testing-in-the-wild, tie together to form a powerful distributed computational structure to manage requirements

    “Computing” Requirements for Open Source Software: A Distributed Cognitive Approach

    Get PDF
    Most requirements engineering (RE) research has been conducted in the context of structured and agile software development. Software, however, is increasingly developed in open source software (OSS) forms which have several unique characteristics. In this study, we approach OSS RE as a sociotechnical, distributed cognitive process where distributed actors “compute” requirements—i.e., transform requirements-related knowledge into forms that foster a shared understanding of what the software is going to do and how it can be implemented. Such computation takes place through social sharing of knowledge and the use of heterogeneous artifacts. To illustrate the value of this approach, we conduct a case study of a popular OSS project, Rubinius—a runtime environment for the Ruby programming language—and identify ways in which cognitive workload associated with RE becomes distributed socially, structurally, and temporally across actors and artifacts. We generalize our observations into an analytic framework of OSS RE, which delineates three stages of requirements computation: excavation, instantiation, and testing-in-the-wild. We show how the distributed, dynamic, and heterogeneous computational structure underlying OSS development builds an effective mechanism for managing requirements. Our study contributes to sorely needed theorizing of appropriate RE processes within highly distributed environments as it identifies and articulates several novel mechanisms that undergird cognitive processes associated with distributed forms of RE

    Evaluating Sociotechnical Factors Associated With Telecom Service Provisioning: A Case Study

    Get PDF
    Provisioning Internet services remains an area of concern for Internet service providers. Despite investments to improve resources and technology, the understanding of sociotechnical factors that influence the service-provisioning life cycle remains limited. The purpose of this case study was to evaluate the influence of sociotechnical factors associated with telecom service provisioning and to explore the critical success and failure factors, specifically in the telecommunication industry of Kuwait. Guided by sociotechnical systems theory, this qualitative exploratory case study approach examined a purposeful sample of 19 participants comprising of managers, engineers, and technicians who had the knowledge and experience of the service-provisioning life cycle. Semistructured interviews, project logs, and a self-created follow-up questionnaire were the primary sources of data. Thematic analysis techniques assisted in coding the data and developing themes, which resulted in a set of critical success and failure factors that influence the service-provisioning life cycle. Cross-functional communication, risk management practices, infrastructure availability, and employee skill development were among the emergent factors that influenced the service implementation. Internet service providers may use the results from this study to improve the service-provisioning life cycle. Successful implementations will promote an environment of positive social change that will increase employee motivation, productivity, and employee morale

    Die Betrachtung der Earned Value Methodik im agilen Projektumfeld hinsichtlich des Projekterfolgs

    Get PDF
    The Earned Value analysis has proven to be beneficial in waterfall and located software projects for monitoring the project management triangle. Nowadays, more and more virtual and agile project teams are used to manage the software requirements process. However, it remains unclear whether using the Earned Value metrics’ general positive effect generates project success in such an area too as additional challenges arise like communication or coordination difficulties. This thesis examines the assumption of a positive influence of the Earned Value technique on the project success during the software requirements process within a virtual, global project team in an agile software project environment. In addition, it should be clarified whether coordination and communication elements moderate this effect. The research is achieved with a sample size of 190,051 international people, mainly extracted from the consulting company Capgemini. Therefore, a mixed methods approach is used which consists of a partially-standardized and structured online survey as well as non-standardized and semi-structured guided interviews. The analyses of the latter ones are based on Mayring’s content analysis. This dissertation has not revealed any evidence of a positive influence on the project success by the Earned Value analysis during the requirements process in virtual project teams of an agile software project. This outcome is based on an inconsistent view of how to successfully apply this project controlling approach, whereby the subjective perception of project success played an important role. In this particular context, the Earned Value metrics reached their practical limits due to certain challenges named within this research. Although, the moderation analysis showed no significant effects of communication or coordination on the relation between the Earned Value method and the project success during the requirements process in a virtual agile software project team, a positive tendency emerged from both dimensions. The thesis presents some prerequisites that must be fulfilled in order to weaken or even reduce the problems in the application of the Earned Value analysis in this research context. Lastly, consistent definitions as well as standardized utilization understandings are required for a successful implementation of the Earned Value controlling instrument in this particular field

    Domain- and Quality-aware Requirements Engineering for Law-compliant Systems

    Get PDF
    Titel in deutscher Übersetzung: DomĂ€nen- und qualitĂ€tsgetriebene Anforderungserhebung fĂŒr gesetzeskonforme Systeme Der bekannte Leitsatz in der Anforderungserhebung und -analyse besagt, dass es schwierig ist, das richtige System zu bauen, wenn man nicht weiß, was das 'Richtige' eigentlich ist. Es existieren ĂŒberzeugende Belege, dass dieser Leitsatz die Notwendigkeit der Anforderungserhebung und -analyse exakt definiert und beschreibt. Zum Beispiel ergaben Studien, dass das Beheben von Defekten in einer Software, die bereits produktiv genutzt wird, bis zu 80 mal so teuer ist wie das frĂŒhzeitige Beheben der korrespondierenden Defekte in den Anforderungen. Generell hat es sich gezeigt, dass das DurchfĂŒhren einer angemessenen Anforderungserhebung und -analyse ein wichtiger Erfolgsfaktor fĂŒr Softwareentwicklungsprojekte ist. WĂ€hrend der Progression von den initialen WĂŒnschen der beteiligten Interessensvertretern fĂŒr ein zu entwickelndes System zu einer Spezifikation fĂŒr eben dieses Systems mĂŒssen Anforderungsanalysten einen komplexen Entscheidungsprozess durchlaufen, der die initialen WĂŒnsche in die Spezifikation ĂŒberfĂŒhrt. TatsĂ€chlich wird das Treffen von Entscheidungen als integraler Bestandteil der Anforderungsanalyse gesehen. In dieser Arbeit werden wir versuchen zu verstehen welche AktivitĂ€ten und Information von Nöten sind, um eine fundierte Auswahl von Anforderungen vorzunehmen, welche Herausforderungen damit verbunden sind, wie eine ideale Lösung zur Anforderungswahl aussehen könnte und in welchen Bereichen der aktuelle Stand der Technik in Bezug auf diese ideale Lösung lĂŒckenhaft ist. Innerhalb dieser Arbeit werden wir die Informationen, die notwendig fĂŒr eine fundierte Anforderungsauswahl sind, identifizieren, einen Prozess prĂ€sentieren, um diese notwendigen Informationen zu sammeln, die Herausforderungen herausstellen, die durch diesen Prozess und die damit verbundenen AktivitĂ€ten adressiert werden und eine Auswahl von Methoden diskutieren, mit deren Hilfe man die AktivitĂ€ten des Prozesses umsetzen kann. Die gesammelten Informationen werden dann fĂŒr eine automatisierte Anforderungsauswahl verwendet. FĂŒr die Auswahl kommt ein Optimierungsmodell, das Teil des Beitrags dieser Arbeit ist, zum Einsatz. Da wir wĂ€hrend der Erstellung dieser Arbeit zwei große LĂŒcken im Stand der Technik bezĂŒglich unseres Prozesses und der damit verbundenen AktivitĂ€ten identifiziert haben, prĂ€sentieren wir darĂŒber hinaus zwei neuartige Methoden fĂŒr die Kontexterhebung und die Erhebung von rechtlichen Anforderungen, um diese LĂŒcken zu schließen. Diese Methoden sind Teil des Hauptbeitrags dieser Arbeit. Unsere Lösung fĂŒr der Erhebung des Kontext fĂŒr ein zu entwickelndes System ermöglicht das Etablieren eines domĂ€nenspezifischen Kontextes unter Zuhilfenahme von Mustern fĂŒr verschiedene DomĂ€nen. Diese Kontextmuster erlauben eine strukturierte Erhebung und Dokumentation aller relevanten Interessensvertreter und technischen EntitĂ€ten fĂŒr ein zu entwickelndes System. Sowohl die Dokumentation in Form von grafischen Musterinstanzen und textuellen Vorlageninstanzen als auch die Methode zum Sammeln der notwendigen Informationen sind expliziter Bestandteil jedes Kontextmusters. ZusĂ€tzlich stellen wir auch Hilfsmittel fĂŒr die Erstellung neuer Kontextmuster und das Erweitern der in dieser Arbeit prĂ€sentierten Kontextmustersprache zur VerfĂŒgung. Unsere Lösung fĂŒr die Erhebung von rechtlichen Anforderungen basiert auch auf Mustern und stellt eine Methode bereit, welche es einem erlaubt, die relevanten Gesetze fĂŒr ein zu erstellendes System, welches in Form der funktionalen Anforderungen bereits beschrieben sein muss, zu identifizieren und welche die bestehenden funktionalen Anforderungen mit den rechtlichen Anforderungen verknĂŒpft. Diese Methode beruht auf der Zusammenarbeit zwischen Anforderungsanalysten und Rechtsexperten und schließt die VerstĂ€ndnislĂŒcke zwischen ihren verschiedenartigen Welten. Wir veranschaulichen unseren Prozess unter der Zuhilfenahme eines durchgehenden Beispiels aus dem Bereich der service-orientierten Architekturen. ZusĂ€tzlich prĂ€sentieren wir sowohl die Ergebnisse der Anwendung unseres Prozesses (bzw. Teilen davon) auf zwei reale FĂ€lle aus den Bereichen von Smart Grids und Wahlsystemen, als auch alle anderen Ergebnisse der wissenschaftlichen Methoden, die wir genutzt haben, um unsere Lösung zu fundieren und validieren.The long known credo of requirements engineering states that it is challenging to build the right system if you do not know what right is. There is strong evidence that this credo exactly defines and describes the necessity of requirements engineering. Fixing a defect when it is already fielded is reported to be up to eighty times more expensive than fixing the corresponding requirements defects early on. In general, conducting sufficient requirements engineering has shown to be a crucial success factor for software development projects. Throughout the progression from initial stakeholders' wishes regarding the system-to-be to a specification for the system-to-be requirements engineers have to undergo a complex decision process for forming the actual plan connecting stakeholder wishes and the final specification. Indeed, decision making is considered to be an inherent part of requirements engineering. In this thesis, we try to understand which activities and information are needed for selecting requirements, which the challenges are, how an ideal solution for selecting requirements would look like, and where the current state of the art is deficient regarding the ideal solution. Within this thesis we identify the information necessary for an informed requirements selection, present a process in which one collects all the necessary information, highlight the challenges to be addressed by this process and its activities, and a selection of methods to conduct the activities of the process. All the collected information is then used for an automated requirements selection using an optimization model which is also part of the contribution of this thesis. As we identified two major gaps in the state of the art considering the proposed process and its activities, we also present two novel methods for context elicitation and for legal compliance requirements elicitation to fill the gaps as part of the main contribution. Our solution for context elicitation enables a domain-specific context establishment based on patterns for different domains. The context patterns allow a structured elicitation and documentation of relevant stakeholders and technical entities for a system-to-be. Both, the documentation in means of graphical pattern instances and textual template instances as well as the method for collecting the necessary information are explicitly given in each context pattern. Additionally, we also provide the means which are necessary to derive new context patterns and extend our context patterns language which is part of this thesis. Our solution for legal compliance requirements elicitation is a pattern-based and guided method which lets one identify the relevant laws for a system-to-be, which is described in means of functional requirements, and which intertwines the functional requirements with the according legal requirements. This method relies on the collaboration of requirements engineers and legal experts, and bridges the gap between their distinct worlds. Our process is exemplified using a running example in the domain of service oriented architectures. Additionally, the results of applying (parts of) the process to real life cases from the smart grid domain and voting system domain are presented, as well as all other results from the scientific means we took to ground and validate the proposed solutions
    corecore