Behavior-Driven Development (BDD) is a set of software engineering practices which uses a ubiquitous language, one that business and technical people can understand, to describe and model a system by a series of textual scenarios. However, we believe that the value of those textual scenarios is connected with how well they convey and document the details discussed by the team about the behaviors needed to fulfill customer needs. Thus, there is the need to define what would be a \good\ BDD scenario and how to evaluate scenarios. On this research design paper, we describe a study designed to understand how known quality attributes from other types of requirements specifications (like use cases or user stories) can be used with BDD scenarios. We also report our preliminary findings after performing it with novice evaluators. Those findings indicate that some of those attributes can be used to support BDD scenarios assessments.
Requirements engineering involves collaboration among many project team members. Driven by coordination needs, this collaboration relies on communication and knowledge that members have of their colleagues and related activities. Ineffective coordination with those who work on requirements dependencies may result in project failure. In this paper, we report on a study of roles and communication structures in the collaboration driven by interdependent requirements in a software team. Through on-site observations, interviews with the developers and application of social network analysis, we found that there was significant communication between diverse roles in the project, and identified what were the reasons for communication between the different roles. We also found that these interactions typically involved a core of requirements analysts and testers in close communication, that most often they involved critical members whose absence, whether temporary or permanent, would disrupt the information flow if removed from the project, as well as that new hires were mostly isolated from the team collaboration. Most interestingly we found that the emergent communication structure between the different roles in the project did not conform to the planned communication structure prescribed by the organization. These findings further our knowledge about collaboration driven by requirements, and provide some useful implications for research and development of collaborative tools to support the effective coordination of cross-functional teams in software development.
DOI : 10.1109/re.2011.6051643 Anahtar Kelimeler :
Collaboration, Organizations, Social network services, Interviews, Software, Lead, groupware, project management, software engineering, systems analysis, team working, project team member, communication structures, requirement engineering, software team, social network analysis, information flow, team collaboration, research and development, collaborative tools, software development, requirements-driven collaboration, coordination, communication structure, communication patterns, interdependent requirements, cross-functional teams, social network analysis, case study
Distribution of development processes has become common as a side effect of globalization. Working in a distributed setting brings challenges inherent to distance. The Software Engineering community has been investigating these challenges for over a decade, and issues regarding communication, coordination, and trust are frequently reported in literature. However, a few studies discuss solutions for these challenges. Frequently, best practices are described in a general context. In this paper we report our findings from a systematic literature review that aimed at identifying reported challenges and the proposed solutions to solve such challenges. In a time that distributed development has established its roots, it is important to move towards solutions to well-known problems. Our report aims to establish a baseline of problems that still need solutions. This baseline brings awareness to the global software engineering community. We finish discussing the implications for furthering the body of knowledge in the field.
DOI : 10.1109/icgse.2012.43 Anahtar Kelimeler :
Software, Software engineering, Collaboration, Process control, Systematics, Cultural differences, Conferences, distributed processing, globalisation, software engineering, global software development, globalization, distributed setting, distributed development, global software engineering community, global software development, systematic literature review, challenges, problems, solutions, mitigation strategies
Trust is often defined as the belief that the trustee will meet the positive expectations of the trustor. Although several studies have discussed the topic, little is still known about the impact of trust (or lack of it) in the performance of distributed software projects. In this paper we present initial findings of an empirically informed study that aimed to identify which factors influence positively or negatively one's perceived trustworthiness of others in the project and the impact of such factors on specific project performance measures. Availability, competence, expertise, face-to-face communication, and leadership are among the factors considered to positively influence the development of trust and the consequent achievement of performance metrics. This is a first step on a larger investigation aiming to develop a theoretical model of the impact of trust in the performance of distributed software projects. Such a model can be used by researchers as a reference framework to further investigate the topic and by practitioners to better manage and organize distributed software teams.
Software development is a collaborative activity in which social relationships among those involved throughout the life cycle are paramount for achieving the project goals. For instance, communication with, awareness of, and trust in others are relevant and necessary to facilitate collaboration. The identification of social relationships and their patterns can help us to better understand the dynamics of a project team. This understanding is crucial when working in a global setting where members have to virtually establish relationships and collaborate with remote colleagues. Social network analysis allows us to reveal relationship patterns in a fine-grained level. This tutorial provides basic concepts and measures on social network analysis and discusses their application in global software engineering. Practicing on a dataset from a real distributed software project is also part of this tutorial. The tutorial is suitable for anyone interested in global software development and the social relationships established among software developers in distributed teams.
DOI : 10.1109/icgsew.2013.14 Anahtar Kelimeler :
Tutorials, Software, Collaboration, Software engineering, Social network services, Atmospheric measurements, Particle measurements, groupware, project management, social networking (online), software engineering, software management, social network analysis, global software engineering, fine-grained perspective, software development, collaborative activity, social relationships, project goals, project team dynamics, real distributed software project, distributed teams, global software engineering, collaboration patterns, social network analysis
Requirements engineering requires intensive collaboration among team members. Agile methods also require constant collaboration among those involved in the project. While working on certain interdependent tasks, team members develop social and technical relationships that instigate socio-technical dependencies. The main goal of our research is to investigate socio-technical aspects that underlie requirements-driven collaboration among agile teams and their influence on project performance. In this paper we present our research approach to achieve such goal and briefly report on preliminary findings. A survey revealed that communication and awareness are the most relevant socio-technical aspects that underlie requirements-driven collaboration in agile teams. Initial findings of a case study aiming to identify requirements-driven collaboration patterns suggest that teams well aware of each other have lesser communication gaps and require lesser rework. Findings will contribute to a better understanding of the relationship between collaboration and performance in agile teams.
In the Software Crowdsourcingcompetitive model, crowd members seek for tasks in a platform and submit their solutions seeking rewards. In this model, the task description is important to support the choice and the execution of a task. Despite its importance, little is known about the role of task description as support for these processes. To fill this gap, this paper presents a study that explores the role of documentation on TopCoder platform, focusing on the task selection and execution. We conducted a two-phased study with professionals that had no prior contact with TopCoder. Based on data collected with questionnaires, diaries, and a retrospective session, we could understand how people choose and perform the tasks, and the role of documentation in the platform. We could find that poorly specified or incomplete tasks lead developers to look for supplementary material or invest more time and effort than initially estimated. To better support the crowd members, we proposed a model on how to structure the documentation that composes the task description in competitive software crowdsourcing. We evaluated the model with another set of professionals, again relying on questionnaires, reports, and a retrospective session. Results showed that although the documentation available covered the elements of the proposed model, the participants had issues to find the necessary information, suggesting the need for a reorganization. Participants agreed that the proposed model would help them understand the task description. Therefore, our study provides a better understanding of the importance of task documentation in software crowdsourcing and points out what information is important to the crowd.
Because of intense collaborative needs, requirements engineering is a challenge in global software development. How do distributed teams manage the development of requirements in environments that require significant cross-site collaboration and coordination? In this paper, we report research that used social network analysis to explore collaboration and awareness among team members during requirements management in an industrial distributed software team. Using the lens of a requirements-centred social network to group team members who work on a particular requirement, we collected data to characterize requirements-centric collaborations in a project, and to examine aspects of awareness of requirements changes within these networks. Our findings indicate organic patterns of collaboration involving considerable cross-site interaction, in which communication of changes was the most predominant reason for interaction. Although we did not find evidence that distance affects developers' awareness of remote team members who work on the same requirements, distance affected how accessible the remote colleagues were. We discuss implications for knowledge sharing and coordination of work on a requirement in distributed teams, and propose directions for the design of collaboration tools that support awareness in distributed requirements management.
DOI : 10.1109/re.2007.51 Anahtar Kelimeler :
Social network services, Collaborative work, Collaborative software, International collaboration, Programming, Environmental management, Computer industry, Lenses, Collaborative tools, Knowledge management
Project collaborators in a software development project need to stay aware not only of changes to requirements and other artifacts, but also of each other's current work. The set of team members working on a requirement is dynamic, and team members who were not assigned to the requirement in the plan may be involved. If this requirement changes, those team members who are dependent on that requirement must be notified quickly before they do outdated work. However, project plans often do not provide an easy method of listing all of the emergent team members who should be notified of changes to a requirement. We propose a requirements-dependency diagram that displays interdependent requirements and team members who are assigned to these interdependent requirements. The visualization highlights prominent collaborators, lists each collaborator and each requirement only once, marks emergent collaborators, and is simple and clutter-free. By viewing this diagram, collaborators will know who to contact to notify others of changes to requirements, and can contact experts working on interrelated requirements.
DOI : 10.1109/re.2007.55 Anahtar Kelimeler :
Collaborative work, Programming, Displays, Visualization, Collaborative software, International collaboration, Software engineering, Documentation, Delay, Lead, formal specification, software development management, team working, project collaborators, interrelated requirements, software development project, dynamic teams, requirements-dependency diagram, clutter-free
The purpose of this paper is to present the MuNDDoS Research Group, located at PUCRS University, in Porto Alegre, Brazil. This group was created in 2001, and since then is conducting several research projects on Global Software Development in Brazil, collaborating with research groups from other universities in Brazil and other countries. We present the research group goals, some of the projects developed, and the current projects.
DOI : 10.1109/icgse.2006.261245 Anahtar Kelimeler :
Programming, Software engineering, Knowledge management, International collaboration, Costs, Project management, Risk management, Collaborative software, Collaborative work, Globalization, research and development management, software development management, MuNDDoS Research Group, global software development, PUCRS University
Testing aims at identifying whether the software product attends its specification and the customer needs. It is a collaborative task since it requires coordination and communication of activities with those responsible for defining the project scope and for developing the source-code in order to clarify requirements, to stay up-to-date about changes, and to coordinate working schedule. It is a challenging but necessary activity in any software development life cycle. Distribution exacerbates the difficulties faced by testing team members. This paper presents empirical exploratory preliminary findings on challenges faced by testing teams in distributed projects and discusses best practices adopted by such teams to facilitate coordination and, as a consequence, increase the efficiency of their work. Our findings suggest corroboration of preliminary literature that focuses mainly in requirements engineering and in development activities. We aim to replicate our investigation in a larger scale. Meanwhile, our work provides initial contributions to practitioners and inspires our future research.
DOI : 10.1109/icgsew.2013.7 Anahtar Kelimeler :
Testing, Software, Best practices, Documentation, Companies, Interviews, distributed processing, groupware, program testing, project management, collaborative task, source code, software development life cycle, testing team members, empirical exploratory preliminary findings, distributed software projects, requirements engineering, testing activities, software testing, challenges, best practices, distributed software teams, empirical study
The outsourcing of software development processes has become a common practice in the IT market due to its reported benefits in terms of cost reduction, process improvement, and optimal resource usage. However, a considerable proportion of outsourcing projects fail to materialize the anticipated results. The failure reasons are often traced back to Requirements Engineering (RE) processes. This establishes the importance of RE for software development outsourcing. We aim to help reducing RE issues in software development outsourcing by proposing a literature and empirically-based framework that maps RE issues to relevant best practices. We intend to perform a literature review, employ questionnaire-based surveys, and conduct semi-structured interviews with practitioners to identify RE issues and best practices to resolve these issues. In this paper we present our research plan to achieve our goal and briefly present our preliminary findings.
DOI : 10.1109/empire.2014.6890119 Anahtar Kelimeler :
Software, Outsourcing, Software engineering, Industries, Interviews, Object recognition, Educational institutions, business data processing, formal specification, formal verification, outsourcing, resource allocation, systems analysis, requirements engineering, RE, software development outsourcing, cost reduction, process improvement, optimal resource usage, Requirements engineering, software development outsourcing, RE issues, RE practices, framework, empirical work
Achieving effective collaboration is an ongoing challenge in software development, and requirements engineering inherits this challenge. By taking a requirements perspective on collaboration we can better understand how cross-functional teams coordinate work throughout the project life-cycle. In this paper we report on a case study of a global IT company that investigated requirements-driven collaboration in a cross-functional team. We studied collaboration by examining the congruence between the technical dimension of work and social relationships team members establish. We calculated the mismatch between the social and technical dimensions. Based on the results, we critically analyzed the applicability of congruence to the study of cross-functional software teams as well as the limitations of current socio-technical congruence measures, which have been applied to only study developer teams. Based on this work, methods to investigate congruence between the social and technical dimensions of work have to be extended to incorporate information about pre-defined structures in the organization.
DOI : 10.1109/circus.2009.2 Anahtar Kelimeler :
Collaborative software, Collaborative work, Programming, International collaboration, Software engineering, Software testing, Lenses, Software systems, Online Communities/Technical Collaboration, Current measurement, DP industry, software development management, systems analysis, team working, cross-functional software teams, software development, requirements engineering, project lifecycle, global IT company, requirements-driven collaboration
Software companies have been using Design Thinking (DT) as a user-centered design approach, putting the user at the center of the software development process. In this article, we report a Systematic Mapping Study to investigate the use of DT in software development. We evaluated 127 papers from 2010 to 2021. We analyzed how DT is integrated in software development, what are the models and techniques, what are the criteria used for selecting DT techniques, and what are the key points that DT practitioners should be aware of when using DT. As a result, we identified 3 strategies to integrate DT in software development, 16 models, and 85 techniques. We also found that the selection of techniques is related to the models’ working spaces being performed, and identified 7 criteria used for selecting DT techniques. Furthermore, we summarized 16 key points that DT practitioners should pay attention when using DT, and we proposed 4 takeaways for applying DT in software development Thus, our study contributes to DT practitioners by providing information to be used either as a starting point, or to integrate it into activities already performed by teams, or as a strategy to foster changes in the entire organization’s mindset.
DOI : 10.1016/j.jss.2022.111217 Anahtar Kelimeler :
Software development, User-centered design, Design thinking, Literature review, Systematic mapping study
ISSN: 0164-1212 Cilt: 187 Sayfa: 111217
Even though agile actively seeks collaboration from all its stakeholders, most agile projects do not extend themselves toward the operations people. To solve this problem, DevOps is introduced. DevOps is a conceptual framework for reintegrating development and operations of Information Systems, which is able to break the wall between developers and operations professionals. DevOps improves the work through a collection of principles and practices, centered around close collaboration between Development and Operations personnel. However, both sides have paid little attention to issues faced by each other. Communication gaps is a recurrent problem in agile teams that is also eminent in the relationship between developers and operations. Literature offers little research on this aspect of communication in DevOps. This position paper describes the communication practices from a distributed agile team composed of developers and operations based on communication challenges (geographical, socio-cultural, and temporal distance) and strategies (frequency, direction, modality, and content). From the results we outline possible research focus for future work, aiming to enrich the academia research on the matter as well as to help practitioners to improve their working practices.
DOI : 10.1109/icgse.2016.28 Anahtar Kelimeler :
Software, Interviews, Collaboration, Companies, Production, Personnel, distributed processing, communication challenge, communication strategy, distributed DevOps framework, information system, communication gaps, geographical challenge, socio-cultural challenge, temporal distance challenge, frequency strategy, direction strategy, modality strategy, content strategy, working practices, DevOps, communication challenges, communication strategy, distributed teams
Big companies in the Information Technology (IT) industry have been increasingly distributing on a world scale their software development units to countries in Asia, Eastern Europe and Latin America through offshore development centers. This is a strategy to increase competitiveness and reduce costs. In this context, emerging countries, like Brazil and its initiatives focused on the development of hardware and software industry, have become an attractive option to receive investments in the IT sector. This paper analyzes the major factors that have attracted foreign IT companies to investment in Brazil. The challenges of keeping these investments in the country are also analyzed. This study is an exploratory case study based on the concrete experience of implementation of an offshore software development center, belonging to Dell Inc., in Brazil.
Information security is a key topic for most organizations. With the digital revolution, smartphones have become popular not only for personal use but also within organizations where many employees use them for business purposes. As smartphones are increasingly present in organizations, it is necessary to understand what recommendations the literature provides for the safe use of such devices, helping organizations to protect themselves from threats. ISO 27000 is a well-known standard for information security in a business context. It provides a set of controls that must be observed to ensure more secure organizational information. Therefore, the goal of this study is to identify which controls presented in ISO 27000, more specifically ISO 27001, are present in the Mobile Software Ecosystem (MSECO) literature. To do so, we conducted a systematic mapping review supplemented by a snowballing process to identify studies in the field of MSECO that have addressed any subject that is present in ISO 27001. We found that 34 out of the 114 ISO 27001 controls are covered by the MSECO literature. Also, some of the ISO sections (e.g., Asset Management) have not yet been explored in the MSECO literature. Our results can inspire future and further studies on the topic of MSECO information security.
DOI : 10.1109/icsa-c50368.2020.00047 Anahtar Kelimeler :
ISO Standards, Organizations, Ecosystems, Standards organizations, Software, business data processing, ISO standards, mobile computing, organisational aspects, security of data, smart phones, organizational IT security, smartphones, ISO 27000 standard, organizational information security, ISO 27001, MSECO information security, mobile software ecosystems, Mobile Software Ecosystem, Organizational Information Security, ISO 27000, Security controls, Literature Review
Requirements interdependencies create technical dependencies among project members that generally belong to different functional groups in an organization, but who need to coordinate activities during processes of requirements change management. Effective knowledge management is needed to disseminate information on requirement changes across teams working on interdependent requirements to avoid mis-interpretations. Social networks are regarded as important in fostering knowledge management, where brokers or gatekeepers have the role of project members facilitating information flow. However, little is known about processes of information flow and brokerage in social networks built around interdependent requirements. In a field study of requirement interdependencies in a large IT manufacturing organization, we found that brokers holding pockets of knowledge have an impact on information flow in requirement-interdependent teams. We discuss a number of patterns of information flow and draw implications for processes of requirements change management.
DOI : 10.1109/re.2008.26 Anahtar Kelimeler :
knowledge management, social sciences, information brokers, requirement-dependency social networks, requirements interdependencies, technical dependencies, effective knowledge management, Change management, Requirements dependencies, Social networks, Information flow, Information brokers
Presents the introductory welcome message from the conference proceedings. May include the conference officers' congratulations to all involved with the conference event and publication of the proceedings record.
Software Crowdsourcing (SW CS) is an emerging area in Software Engineering (SE). It has a dynamic nature in which problems are opened up to crowds of people through an open call to solve problems with the incentive of prizes for the best solutions. Although SW CS has been increasingly adopted in the software industry, many open issues are still to be elucidated. For instance, collaboration aspects are one of those issues. They impact communication and coordination practices. This study aims to identify barriers to collaboration in SW CS and communication practices that might help overcome these barriers. We identified the barriers and practices from a qualitative data analysis study considering an available literature review report. Our study contributes to the SE area by providing insights for researchers, tool designers, and managers that might help them to better understand collaboration issues and proposed solutions to solve them.
Context In Global Systems Engineering teams, researchers have found that trust can be transitive to some degree or imported (swift trust) under certain conditions. We argue that trust can be contagion and seeded by tools (spread from one individual to another through tools). Objective We sought to investigate the potential for using tools to support the development of trust in such teams and facilitate contagion trust. Specifically, we sought to investigate whether any existing tools support the development of trust in such teams and which information helps such development, whether the visualization of past collaborations would help developing trust, and what tools or features practitioners would wish for, if they had a magic wand. Method We interviewed 71 employees from five multinational organizations. We focused on gaining an understanding of the tools that are currently used to engender trust and the information needed to facilitate contagion, in which conditions visualizations of past collaborations are helpful, and what software tool features could help develop trust. Our analysis was guided by grounded theory. Results We found evidence that supports the theory of contagion trust and tools can be used to initiate the development of trust. These tools include software tools, office technologies, or organizational structures. Practitioners’ needs were functional (e.g. audio channel with remote colleagues) and/or non-functional (e.g. can be adopted in sites with poor infrastructure). Conclusion Our study illustrates that tools can be used to facilitate contagion trust and provides three main contributions. First, our exploration of how existing tools are used provides a guide to effective practices in such teams. Second, the descriptions of features that can facilitate contagion trust provide useful design implications for future tools. Third, the identification of the kind of information that facilitates contagion trust provides an understanding of practitioners’ underlying needs that can be used to develop collaboration tools.
Time zone differences are a challenge to global software engineering. This column surveys the key technologies and tools that support collaboration across time zones. The insights on technologies derive from a meta- analysis of the 2010 and 2011 IEEE International Conference on Global Software Engineering (ICGSE), among others.
DOI : 10.1109/ms.2012.68 Anahtar Kelimeler :
Collaboration, Synchronization, Software, Software engineering, Programming, Conferences, Educational institutions, software engineering, time zone differences, software engineering, meta analysis, software, technology, global, time zones, distributed software development, global software engineering, international conference on global software engineering, icgse
ISSN: 0740-7459 Sayı: 3 Cilt: 29 Sayfa: 10-13
ORG, fictitious name, is a large company with complex-globally distributed projects that has recently started a \big-bang\ transition to agile. About a year ago the new CIO announced it was time to aim for faster deliveries and decided on a company-wide roll-out to agile, including legacy systems. In this paper we report on an interview-based qualitative study that aimed to identify the reasons of why the company is moving to an agile approach, the steps took towards becoming agile during this first year of work, and the main concerns of management given the size of the company, the complexity of the projects developed, and the team's global distribution. We interviewed 18 managers, including members of the board committee that support the CIO in strategic decisions. Our findings add to the current literature on the topic by discussing the transformation in a large-complex scenario that, to the best of our knowledge, has never been reported in literature.
DOI : 10.1109/wbma.2015.13 Anahtar Kelimeler :
Companies, Software, Interviews, Planning, Finance, distributed processing, project management, software maintenance, software prototyping, strategic planning, agile transformation, large-complex globally distributed company, ORG, complex-globally distributed projects, big-bang transition, CIO, legacy systems, interview-based qualitative study, company size, project complexity, team global distribution, strategic decisions, Agile Transformation, Large Company, ComplexSystem, Global Software Development, Empirical Study
Non-functional requirements define the overall qualities or attributes of a system. Although important, they are often neglected for many reasons, such as pressure of time and budget. In agile software development, there is a focus on the feature implementation and delivery of value to the customer and, as such, non-functional aspects of a system should also be of attention. Non-functional requirements testing is challenging due its cross-functional aspects and lack of clarity of their needs by business in the most part of projects. The goal of this paper is to empirically investigate how do agile team members handle non-functional testing in their projects, aiming to identify preliminary factors influencing the testing of non-functional requirements, specifically performance and security in agile development. We conducted interviews with twenty IT professionals in large multinational company. As result we could identify seven main factors influencing non-functional testing and four main practices adopted by them to overcome the challenges faced. We aim to replicate our investigation in a larger scale. Meanwhile, our work provides initial contributions to practitioners and inspires our future research.
DOI : 10.1109/ares.2016.98 Anahtar Kelimeler :
Testing, Business, Security, Interviews, Software, Context, Time factors, formal specification, personnel, program testing, project management, software development management, software prototyping, team working, agile team members perceptions, nonfunctional requirements testing, performance requirements, security requirements, agile software development, IT professionals, non-functional testing, agile development, factors, empirical study
According to changes in the concept of quality of software products in recent years and in the profiles of professionals and customers, more and more companies prioritize agility and quality of their deliveries in order to meet their demands. A new way to guide the development of projects, which is adapted to this recent reality, is becoming increasingly popular in the IT market around the world: Agile methods. To maximize the benefits of adopting agile methods, professionals need to well understand their concepts. The goal of this study is to identify the understanding that IT professionals located in some influential IT capital in Brazil have about such methods, how and which agile practices are being used in practice, and, finally, what are the main skills professionals need to work with such methods. A questionnaire-based survey was conducted and results show that: there is a strong evidence that professionals have a good understanding of the fundamental values of agile methods, Scrum and XP are the most popular methods, and behavioral and cultural factors have higher influence over the difficulty of adopting agile than technical factors.
DOI : 10.1109/wbma.2015.10 Anahtar Kelimeler :
Companies, Software, Industries, Planning, Standards organizations, Sociology, cultural aspects, project management, software prototyping, software quality, agile methods, Brazilian professionals, software product quality, project development, IT market, IT professionals, Brazil, questionnaire-based survey, Scrum, XP, behavioral factors, cultural factors, Agile Development, Agile Practices, Agile Skills, Brazilian IT Professionals, Survey
Context: Agile methods have limitations concerning problem understanding and solution finding, which can cause organizations to push misguided products and accrue waste. Some authors suggest combining agile methods with discovery-oriented approaches to overcome this, with notable candidates being User-Centered Design (UCD) and Lean Startup, a combination of which there is yet not a demonstrated, comprehensive study on how it works. Objective: To characterize a development approach combination of Agile Software Development, UCD, and Lean Startup; exposing how the three approaches can be intertwined in a single development process and how they affect development. Method: We conducted a case study with two industry software development teams that use this combined approach, investigating them through interviews, observation, focus groups, and a workshop during a nine-month period in which they were stationed in a custom-built development lab. Results: The teams are made up of user advocates, business advocates, and solution builders; while their development approach emphasizes experimentation by making heavy use of build-measure-learn cycles. The combined approach promotes a problem-oriented mindset, encouraging team members to work together and engage with the entire development process, actively discovering stakeholders needs and how to fulfill them. Each of its approaches provide a unique contribution to the development process: UCD fosters empathy with stakeholders and enables teams to better understand the problem they are tasked with solving; Lean Startup introduces experimentation as the guiding force of development; and Extreme Programming (the teams’ agile method) provides support to experimentation and achieving technical excellence. Conclusion: The combined approach pushes teams to think critically throughout the development effort. Our practical example provides insight on its essence and might inspire industry practitioners to seek a similar development approach based on the same precepts.
DOI : 10.1016/j.infsof.2021.106718 Anahtar Kelimeler :
Agile Software Development, Extreme Programming, User-Centered Design, Lean Startup, Case study
ISSN: 0950-5849 Cilt: 141 Sayfa: 106718
Unlike traditional software development methods, agile methods are marked by extensive collaboration, i.e. face-to-face communication. Although claimed to be beneficial, the software development community as a whole is still unfamiliar with the role of the requirements engineering practices in agile methods. The term “agile requirements engineering” is used to define the “agile way” of planning, executing and reasoning about requirements engineering activities. Moreover, not much is known about the challenges posed by collaboration-oriented agile way of dealing with requirements engineering activities. Our goal is to map the evidence available about requirements engineering practices adopted and challenges faced by agile teams in order to understand how traditional requirements engineering issues are resolved using agile requirements engineering. We conducted a systematic review of literature published between 2002 and June 2013 and identified 21 papers, that discuss agile requirements engineering. We formulated and applied specific inclusion and exclusion criteria in two distinct rounds to determine the most relevant studies for our research goal. The review identified 17 practices of agile requirements engineering, five challenges traceable to traditional requirements engineering that were overcome by agile requirements engineering, and eight challenges posed by the practice of agile requirements engineering. However, our findings suggest that agile requirements engineering as a research context needs additional attention and more empirical results are required to better understand the impact of agile requirements engineering practices e.g. dealing with non-functional requirements and self-organising teams.
DOI : 10.1016/j.chb.2014.10.046 Anahtar Kelimeler :
Agile software development methods, Agile requirements engineering, Collaboration, Traditional requirements engineering, Systematic review
ISSN: 0747-5632 Cilt: 51 Sayfa: 915-929
This paper presents a preliminary communication maturity model named C2M. The C2M model aims to help organizations to identify the maturity of communication-related aspects and processes providing a tool to reveal what practices need to be improved. The model is composed of three maturity areas respectively organized into factors, goals, and practices. It has been preliminarily evaluated in two steps. First, two focus group meetings were conducted in two organizations aiming to identify how fit the model is to attend its purpose. Second, a diagnosis activity was conducted in two organizations aiming to observe how the model is perceived when used in practice. The experts who participated in the diagnosis activity reported that the application of the model allowed them to become aware of communication issues their teams were facing that they had no knowledge of. Their positive feedback is an initial indication that the model is fit to point out the maturity of communication processes and practices in distributed software projects.
Trust is an integral element of any collaboration. We sought to investigate the interplay among trust, risk, and reliance within the context of Global Systems Engineering (GSE) teams. To this end, we conducted an empirical study of individuals' processes and considerations when presented with hypothetical scenarios that required long-term and short-term commitments, in addition to relinquishing control to others in their team. In this paper, we present the results of our 1-1 interviews of 57 individuals collaborating in GSE teams within five organizations. Our results suggest that study participants often readily trust their peers and those higher in the organizational hierarchy when no long-term commitment is required, and the participant retains control of the scenario. Our study findings also suggest that this finding does not necessarily extend to scenarios in which their decision entailed loss of control and thus higher risk and reliance. Our investigation of an individual's decision-making processes and the influence of trust on these processes provide us with insights that can be used to refine GSE managers' strategies and guide future research.
DOI : 10.1109/icgse.2014.29 Anahtar Kelimeler :
Decision making, Interviews, Organizations, Context, Systems engineering and theory, Software, Benchmark testing, decision making, human factors, project management, risk management, software development management, team working, global systems engineering teams, collaboration, GSE teams, long-term commitments, short-term commitments, peer trust, organizational hierarchy, risk, reliance, individual decision making process, GSE management strategies, software development, naturalistic decision making, NDM, trust, distributed teams, global systems engineering, virtual teams, decision-making, empirical study