9 research outputs found

    Collaborative Requirements Engineering Notation for Planning Globally Distributed Projects

    Get PDF
    Requirements engineering represents a critical phase of the software development lifecycle in which requirements describing the functional and non-functional behaviors of a system are elicited, modeled, analyzed, negotiated, agreed, and specified. In traditional software systems these tasks are typically performed in face-to-face meetings between requirements engineers and the project level stakeholders. However, in today’s global software development environment, it is becoming increasingly commonplace for stakeholders to be dispersed across multiple geographical locations and time zones. Under these circumstances, face-to-face meetings become expensive, and often impossible to facilitate, and as a result the success of the requirements process relies, at least partially, on tools and processes that support distributed communication and collaboration. To investigate the challenges and effective practices for performing requirements activities in distributed environments, we conducted a series of in-depth interviews with project managers and business analysts who have worked with non-co-located stakeholders. Since many project managers fail to plan and deploy the necessary infrastructures to support quality communication, and in practice requirements are often elicited and managed via email exchanges; we introduced a visual modeling notation to help project managers proactively plan the collaboration infrastructures needed to support requirements-related activities in globally distributed projects. An underlying meta-model defines the elements of the modeling language, including locations, stakeholder roles, communication flows, critical documents, and supporting tools and repositories. The interview findings were further analyzed to identify practices that led to success or created significant challenges for the projects; resulting in a set of patterns for globally distributed requirements engineering

    Software development processes for games: a systematic literature review

    Get PDF
    This paper describes the methodology and results from a Systematic Literature Review (SLR) of the software processes used in game development. A total of 404 papers were analyzed as part of the review and the various process models that are used in industry and academia/research are presented. Software Process Improvement (SPI) initiatives for game development are dis-cussed. The factors that promote or deter the adoption of process models, and implementing SPI in practice are highlighted. Our findings indicate that there is no single model that serves as a best practice process model for game development and it is a matter of deciding which model is best suited for a particular game. Agile models such as Scrum and XP are suited to the knowledge intensive domain of game development where innovation and speed to market are vital. Hybrid approaches such as reuse can also be suitable for game development where the risk of the upfront investment in terms of time and cost is mitigated with a game that has stable requirements and a longer lifespan

    Considerations for Effective Requirements Analysis in Offshore Software Development Projects: Lessons from Multi-method Research

    Get PDF
    Offshore software development using geographically distributed teams is an accepted practice in software development today. However, software development companies have largely only offshored the software development lifecycle’s coding and testing phases. However, lately, offshoring the requirements analysis (RA) phase has become increasingly viable for several reasons including the software industry’s maturation and improved communication technologies. However, successfully evaluating this highly interactive phase between geographically dispersed client and provider teams requires special considerations. In this paper, we present practical insights garnered from conducting experiments and surveys of IS professionals from the Indian software industry and from extensively examining the literature. Our findings confirm that, subject to certain best practices, one can effectively conduct RA in software projects offshore. We present these practices as lessons learned and provide related recommendations for industry and academia

    On the Influence of Representation Type and Gender on Recognition Tasks of Program Comprehension

    Get PDF
    RÉSUMÉ L’objectif de la maintenance logicielle est d’amĂ©liorer les logiciels existants en prĂ©servant leur intĂ©gritĂ©. La maintenance peut reprĂ©senter jusqu’à 60% du budget d’un logiciel. Ainsi, amĂ©liorer la maintenabilitĂ© des logiciels est bĂ©nĂ©fique aussi bien pour les fournisseurs que les utilisateurs de logiciels. Les dĂ©veloppeurs de logiciels consacrent un effort considĂ©rable Ă  la comprĂ©hension des programmes, qui est une Ă©tape primordiale Ă  la maintenance logicielle. Nous faisons l’hypothĂšque que le genre des dĂ©veloppeurs de logiciels et le type de reprĂ©sentation peut affecter leur effort et leur efficacitĂ©. Ces facteurs doivent ĂȘtre considĂ©rĂ©s et minutieusement analysĂ©s dans la mesure oĂč ils peuvent cacher certains effets significatifs pouvant ĂȘtre identifiĂ©s en analysant le processus de comprĂ©hension. Dans cette thĂšse, nous nous inspirons de l’utilisation de l’occulomĂštre pour l’étude du processus cognitif lors de la rĂ©solution des problĂšmes. Nous avons effectuĂ© une Ă©tude fonctionnelle pour Ă©valuer tous les travaux de recherche faisant usage de l’occulomĂštre en gĂ©nie logiciel. Les rĂ©sultats obtenus nous ont motivĂ© Ă  utiliser l’occulomĂštre pour effectuer un ensemble d’études afin analyser l’effet de deux facteurs importants sur la comprĂ©hension des programmes : le type de reprĂ©sentation (textuelle ou graphique) et le genre du dĂ©veloppeur. Afin de comprendre comment les diffĂ©rents types de reprĂ©sentations et le genre influencent les stratĂ©gies de visualisation, nous avons Ă©tudiĂ© la diffĂ©rence de stratĂ©gie entre dĂ©veloppeurs. Les rĂ©sultats obtenus montrent que, comparĂ© Ă  une reprĂ©sentation graphique, la reprĂ©sentation sous forme de texte structurĂ© aide mieux le dĂ©veloppeur dans son processus cognitif lors de la comprĂ©hension des programmes de petite taille. Ainsi, la reprĂ©sentation textuelle requiert moins de temps et d’effort aux participants. Par contre, la reprĂ©sentation graphique est celle prĂ©fĂ©rĂ©e par les dĂ©veloppeurs. Nos rĂ©sultats montrent que la structure topologique de la reprĂ©sentation graphique aide les dĂ©veloppeurs Ă  mĂ©moriser l’emplacement des Ă©lĂ©ments et Ă  retrouver plus rapidement les Ă©lĂ©ments pertinents comparĂ© Ă  la reprĂ©sentation textuelle. En plus, la structure hiĂ©rarchique de la reprĂ©sentation graphique guide les dĂ©veloppeurs Ă  suivre une stratĂ©gie de visualisation spĂ©cifique. Nous avons observĂ© que les femmes et les hommes ont des stratĂ©gies de visualisation diffĂ©rentes lors de la lecture du code ou de la mĂ©morisation des noms des identificateurs. Les femmes ont tendance Ă  inspecter minutieusement toutes les options afin de procĂ©der Ă  l’élimination de la mauvaise rĂ©ponse. Au contraire, les hommes ont tendance Ă  inspecter briĂšvement certaines rĂ©ponses. Pendant que les femmes consacrent plus de temps Ă  analyser chaque type d’entitĂ© l’un aprĂšs l’autre, les hommes alternent leur attention entre diffĂ©rents type d’entitĂ©.----------ABSTRACT The purpose of software maintenance is to correct and enhance an existing software system while preserving its integrity. Software maintenance can cost more than 60% of the budget of a software system, thus improving the maintainability of software is important for both the software industry and its customers. Program comprehension is the initial step of software maintenance that requires the major amount of maintenance’s time and effort. We conjuncture that developers’ gender and the type of representations that developers utilize to perform program comprehension impact their efficiency and effectiveness. These factors must be considered and carefully studied, because they may hide some significant effects to be found by analyzing the comprehension process. In this dissertation, inspired by the literature on the usefulness of eye-trackers to study the cognitive process involved in problem solving activities, we perform a mapping study and evaluate all research relevant to the use of eye-tracking technique in software engineering. The results motivate us to perform a set of eye-tracking studies to analyze the impact of two important factors on program comprehension: representation type (textual vs. graphical) and developers’ gender. Moreover, we investigate and compare viewing strategies variability amongst developers to understand how the representation type and gender differences influence viewing strategies. Overall, our results indicate that structured text provides more cognitive support for developers while performing program comprehension with small systems compared to a graphical representation. Developers spend less time and effort working with textual representations. However, developers mostly preferred to use graphical representations and our results confirm that the topological structure of graphical representations helps developers to memorize the location of the elements and to find the relevant ones faster in comparison with textual representation. Moreover, the hierarchical structure of the representation guides developers to follow specific viewing strategies while working with representations. Regarding the impact of gender, our results emphasize that male and female developers exploit different viewing strategies while reading source code or recalling the names of identifiers. Female developers seem to carefully weigh all options and rule out wrong answers, while male developers seem to quickly set their minds on some answers and move forward. Moreover, female developers spend more time on each source code entity and analyze it before going to the next one. In contrast, male developers utilize several attention switching strategies between different source code entities

    Research review: Globally distributed requirements engineering and agility

    No full text
    Getting requirements right is considered the most important and difficult part of the software development process. As organizations and stakeholders become more globally distributed, getting requirements right will pose a greater challenge. Today, organizations are offered a sophisticated array of multimedia meeting systems with video, audio and computer support for remotely specifying requirements. In the context of present day’s global workforce scenario, distributed requirements engineering is now being explored by researchers as well as industry to build an understanding of the dynamics of this highly interactive phase in a globally distributed context. Accordingly, this paper addresses the timely need of reviewing the literature on globally distributed requirements engineering. Findings highlight paucity of literature in this area. Additionally, the paper presents an innovative approach to globally distributed requirements engineering by reviewing the literature on the applicability of agile development approach in a globally distributed setting. Contributing to academic and practitioner literature, the author discusses emerging directions for future research in this area

    Research review: Globally distributed requirements engineering and agility

    No full text
    Yadav, V ORCiD: 0000-0001-5237-1186Getting requirements right is considered the most important and difficult part of the software development process. As organizations and stakeholders become more globally distributed, getting requirements right will pose a greater challenge. Today, organizations are offered a sophisticated array of multimedia meeting systems with video, audio and computer support for remotely specifying requirements. In the context of present day’s global workforce scenario, distributed requirements engineering is now being explored by researchers as well as industry to build an understanding of the dynamics of this highly interactive phase in a globally distributed context. Accordingly, this paper addresses the timely need of reviewing the literature on globally distributed requirements engineering. Findings highlight paucity of literature in this area. Additionally, the paper presents an innovative approach to globally distributed requirements engineering by reviewing the literature on the applicability of agile development approach in a globally distributed setting. Contributing to academic and practitioner literature, the author discusses emerging directions for future research in this area

    Research review : globally distributed requirements engineering and agility

    No full text
    Getting requirements right is considered the most important and difficult part of the software development process. As organizations and stakeholders become more globally distributed, getting requirements right will pose a greater challenge. Today, organizations are offered a sophisticated array of multimedia meeting systems with video, audio and computer support for remotely specifying requirements. In the context of present day's global workforce scenario, distributed requirements engineering is now being explored by researchers as well as industry to build an understanding of the dynamics of this highly interactive phase in a globally distributed context. Accordingly, this paper addresses the timely need of reviewing the literature on globally distributed requirements engineering. Findings highlight paucity of literature in this area. Additionally, the paper presents an innovative approach to globally distributed requirements engineering by reviewing the literature on the applicability of agile development approach in a globally distributed setting. Contributing to academic and practitioner literature, the author discusses emerging directions for future research in this area

    A communication process for global requirements engineering

    Get PDF
    Globally distributed software development teams face problems with software development life cycle phases, as the distributed nature of each of these phases make it even more challenging to communicate between the stakeholders. Global distance can give rise to incomplete requirements handovers which make the situation more difficult. It is important to address this issue as the end product is likely to deliver less business value when such problems arise. In this research, we propose a process to facilitate non-verbal communication among globally distributed requirements engineering teams. The focus of this research is the situation that occurs after requirements are handed to another site. Our proposed process endeavors to ensure that incomplete and conflicting requirements are identified and mitigated
    corecore