We share the experience of a globally distributed software development organization in transitioning from a plan-driven approach to a lean methodology with a focus on role-specific practices. We outline how the new practices supported effective working in a global setup by strengthening trust, increasing communication, fostering openness, and encouraging faster decisions.
Pair Programming1 has quickly become a widespread technique for teams adopting Agile. The interest has gained even more popularity for those implementing Extreme Programming (XP) which is a well-known Agile methodology. There is a general agreement that pair programming works well with a pair of developers working side by side. However, that is not always possible. Distributed teams and distributed team members are becoming the norm. With that said, is distributed pair programming possible? And if so, can it be done effectively? This paper examines a project where distributed pair programming was extremely effective. Contrary to agile dogma, some individuals may perform better in a distributed manner over collocated.
Samsung R&D Institute Brazil (SRBR) is one of Samsung's research centers in the world in which there is research focused on software areas. SRBR teams have worked in collaboration with Samsung headquarter and outsourcing partners for producing software that aggregates value on Samsung products. SRBR has different partners with different levels of skill, maturity and that work in different contexts. For this reason, managing software development projects and guaranteeing the quality of resulting products have been challenging for SRBR. This experience report describes the process created to improve partners' management and proposes methods for tracking and improving the methods applied for validating the work delivered by outsourcing partners in order to guarantee that it meets Samsung quality requirements.
Tough economic conditions, competition, ever-shortening time-to-market and need for better product quality has increased demand for more attention towards good project management approaches. Traditional Control Based Project Management Methodologies (TCBPMM) prevents change, by extensive planning before system is developed. The industry always demands for project management methodologies with the ability to adapt to changing needs of the users.
The paper focuses mainly on how we in SIEMENS setup agile approach with technical excellence and an objective to create T shaped teams, involving transformation from control based to self-organizing work culture. Also it mentions the encountered barriers like change resistance, delay in adapt, ambiguities, unidirectional thoughts, misconceptions, lack of coordination.
The team followed the principle "Happy team produces great work". A Project Manager of a team works as "servant leader" enabling the team to perform to its fullest potential. The main goal of the project manager is team empowerment, efficient process with a look towards continuous improvement that satisfies both team & customer. A work agreement was set with core work points of Guiding, Coaching, Collaboration and Team based ownership. We aimed to create an environment of provide and seek constructive feedback on a regular basis, respect for every individuals is key, Embrace Transparency, Team-Shared leadership & recognize good work.
Stack Overflow (SO) is the reference for asking and answering programming-related questions. In early 2014 Stack Overflow em Português (SO-PT) was announced with the goal to reach developers that are not sufficiently proficient in the English language to fully participate in SO. Almost four years later we study how the simultaneous availability of SO and SO-PT impacted Brazilian software developers. A priori, the impact could have been either empowering or impeding. To address this question, we combine interviews, analysis of trace data from SO and SO-PT and a survey of 229 Brazilian software developers. Our results indicate that the developers recognize availability of the information, response speed and accessibility as strong points of SO, and lower barrier to entry and presence of Brazilian-specific information as strong points of SO-PT. In large, SO remains more popular than SO-PT, and SO-PT is not perceived as a viable alternative to SO.
Global software engineering poses unique challenges to distributed teams and tasks. Engineering education should reflect these real-world scenarios as closely as possible. Due to budgetary constraints and the complexity of conducting global software engineering education, students have limited opportunities to gain international experience. A global software engineering class conducted by the Ritsumeikan University in Japan and the Technical University of Nuremberg in Germany is described. A problem-based learning approach provided students experience working in international software development teams.
In a large sized project with globally distributed environment, it is challenging to have a common information radiator across all global locations and it is difficult to make sense of the long list of tasks displayed on a single dashboard. Different time zones make it difficult to collaborate and cater to a customer who demands frequent releases and transparency. This paper demonstrates a unique solution driven by a novel mix of digitization and machine learning to solve this ubiquitous problem.
After value stream mapping the team developed a tool backed with machine learning, helped us to deliver our concepts faster to market. We derived unconventional digital dash boards which helped in building collaborative environment across different time zones.
This paper also highlights the critical role of machine learning in project management, proposes improvements various in areas like task estimation, team velocity and turnaround time prediction. This paper is targeted to agile practitioners who are interested in improving workflows and building intelligent process systems using new modern technologies in globally distributed environment.
Samsung R&D Center Brazil (SRBR) is one of the Samsung research centers in the world in which there is research focused on software areas. SRBR teams have worked in collaboration with Samsung headquarter and outsourcing partners for producing software that aggregates value on Samsung products.
Considering the complexity of the scenario (different locations and different levels of access to internal tools environment and different maturity level of teams) it has been a challenge to produce high quality software. This report describes DMZ ("Demilitarized Zone"), a remote software engineering environment built by SRBR to minimize differences and distances among teams that work on the same software project. DMZ development and deployment include the definition of SRBR outsourcing process, improvements to the SRBR software process and setup/deployment of a set of integrated tools to support projects.
Proprietary enterprise software is commonly embedded in multinational organizations and therefore has multiple sources of global or local demand. This type of software is subject to constant evolutions motivated by improvements in the features or by changes in the legal and economic context of its environment. Problems arising from the demand for requirements are associated with the suitability of a particular local requirement to its global context, for example: tax rules are characteristic of a specific country while a business rule can achieve every global structure. In addition, software customization can be implemented by the software producer, external partners, programmers allocated within the customer company, and so on. The coordination of this scenario is considered critical for the productive sector company that uses proprietary enterprise software. If the software does not evolve, the company processes can be temporarily compromised, and the software becomes obsolete. We report a case study of a large proprietary ERP system in a multinational company located in Brazil that is among the three largest exporters in its market segment. As a contribution, we present the current structure of the distributed evolution process of the software in question and how the stakeholder coordination of this scenario occurs.
Today it is very common for software systems to be built by teams located in more than one country. For example, a project team may be located in the US while the team lead resides in Sweden. How then should students be trained for this kind of work? Senior design or capstone projects offer students real-world hands-on experience but rarely while working internationally. One reason is that most instructors do not have international business contacts that allow them to find project sponsors in other countries. Another reason is the fear of having to invest a huge amount of time managing an international project. In this paper we present the general concepts related to "International Capstone Project Exchanges", the basic model behind the exchanges (student teams are led by an industry sponsor residing in a different country) and several alternate models that have been used in practice. We will give examples from projects in the US, Germany, Sweden, Australia, and Colombia. We have extended the model beyond software projects to include engineering projects as well as marketing, and journalism. We conclude with a description of an International Capstone Project Exchange website that we have developed to aid any university in establishing their own international project exchange.
Agile software development has become increasingly common in software vendor organisations, and their impact on practices and roles is now extending beyond the project level across the entire organisation. In this study, we investigate how a major Australia-based multi-site global software vendor transitioned from a structured to a Scaled Agile approach.
We demonstrate how practices and roles in a distributed software vendor evolved over time across the organisation in an on-going process of their global agile transformation. Through this elaboration, we identify three major agile transitions and the contribution of a scaled agile approach in the building of market driven capabilities. We theorised a relationship between increased dynamic capabilities of the firm and a scaled agile transition. Supporting our view, we noted that agile practices and roles across the organisation contributed as expected to improved internal process capability. More surprisingly, they were also found to increase our vendor's ability both to identify and take advantage of opportunities and to innovate in global product and service development and delivery.
Follow-the-sun has evolved to follow-the-talent. Managing a product thus has a true global perspective. Products increasingly are developed in virtual teams using agile set-up and gig economy practices. The success of a product or service depends on its product management. Recently software product management has moved closer to software development in its understanding that market decisions have technical impact, and vice versa. This research provides results from an empirical field study with twenty companies on software product management in its global context. The empirical study provides concrete practices to fertilize and evolve software product management in global teams and thus the success of products in terms of predictability, quality and efficiency. We show that with institutionalization of a consistent and empowered product management role, global product development benefits in terms of schedule, quality and duration.
This paper presents our experiences with a 120-person matrixed software engineering product team, spread across three countries that successfully scaled their adoption of Scrum. The product is a legacy, mission-critical software system that conforms to stringent healthcare regulatory standards. We are practicing Obeya wall that brings solution to our large team communication challenges and OYA day that helps solving challenges in fostering innovation, and learning culture and collaboration. We also are describing our experience of defining focus areas of project manager and product manager. These roles are not defined in scrum guide, however, is relevant in our experience in scaled up distributed scrum environment. The authors bring our experiences as a Scrum Master, Product Owner and an architect who have been integral part of the journey and establishing these practices over several years. These practices have helped in scaling as well as stabilizing the team to an extent where each product version is meeting milestones on time and taking strong steps towards shorter release cycles of quarterly releases. This paper also summaries our lessons learned, and recommendations.
High staff turnover has a negative impact on software development productivity and product quality. Further, offshore outsourcing has a widely held reputation for particularly poor employee retention. Interestingly, in-house sites (regardless of location) do not suffer such high levels of staff turnover.
We want to understand the factors affecting employee retention in-house and offshore outsourced settings, to better understand the potential impact of staff turnover on global software development.
We employed a mixed-method approach comprising two empirical case studies in industry involving 62 practitioners at three global companies conducting in-house and offshore outsourced software development. We collected practitioner perceptions of causal factors for employee retention and performed a cross-case analysis to triangulate our findings.
Practitioners cited employment policies, work-life balance, workplace innovation, product quality, alignment of offshore work hours with onshore, long working hours and adverse impact on health as factors affecting staff retention. In-house offshore have more family friendly employment policies. In the outsourcing sector, the focus on customer satisfaction sometimes leads to less attractive work patterns.
Offshore outsourcing service providers could improve development team member retention by improving work-life balance and adopting family friendly employment policies.
Large-scale distributed projects are typically the results of collective efforts performed by multiple developers, each one having a different personality. The study of developers' personalities has the potential of explaining their' behavior in various contexts. For example, the propensity to trust others, a critical factor to the success of global software engineering - has been found to influence positively the result of code reviews in distributed projects.
In this paper, we perform a quantitative analysis of developers' personality in open source software projects, intended as an extreme form of distributed projects in which no single organization controls the project. We mine ecosystem-level data from the code commits and email messages contributed by the developers working on the Apache Software Foundation (ASF) projects, as representative of large scale-distributed projects.
We find that developers become over time more conscientious, agreeable, and neurotic. Moreover, personality traits do not vary with their role, membership, and extent of contribution to the projects. We also find evidence that more open and more agreeable developers are more likely to become project contributors.1
Even though agile methods have been flourishing in the last decades, their implementation in (globally) distributed arrangements still present hard challenges. Due to this tension, practices are either modified or added to compensate with the additional control required by the setup. In this paper, we present a case study about a company that managed to incrementally design a process that does not compromise the foundations of the agile philosophy by embracing the characteristics of distributed development. We show how a virtual work environment has been crafted by continuously improving practices and carefully selecting technologies to allow each team member to fully participate regardless of the actual physical location. Aware of the single nature limitation of the reported case, we present extensive information to frame the context allowing meaningful comparisons by researchers and providing concrete examples for practitioners.
Global software engineering education is steadily advancing to fully prepare students for future challenges at work, by providing opportunities for real-life experiences, especially in distributed project-based courses. These international student teams are, as in real companies, susceptible to various risks stemming from different internal and external factors, being the sources of stress and impacting team resilience.
In this paper, we focus on studying the resilience of teams affected by two adversities specific to project team composition and project dynamics. The first, internal one, is the teams' ability to compensate for the missing efforts of its non-contributing members in a distributed project environment. The second, external, is the ability to cope with changes of customer requirements, which can be real, or just perceived by the team members.
Based on the empirical data, acquired from a number of Distributed Software Development course instances, we identify different sub-factors of these two risks and analyze the correlations of these elements to the final project evaluations, more specifically on the evaluation of both the final product and project process.
The adoption, scaling and tailoring of agile methods depends on several factors, such as the size of the software development organization, business goals, and operative model. The Scaled Agile Framework (SAFe) was developed to support organizations in scaling agile practices across the enterprise.
Large multi-national enterprises report that adoption of SAFe led to significant productivity and quality gains. However, whether these benefits translate to small to medium sized enterprises (SMEs) is unknown.
As such, in this study we ask: To what extent can SAFe practices be implemented in a global SME? We administrated three surveys to members of the development organization of an Irish SME, to identify and evaluate the adoption rate of SAFe practices in the Global environment.
We found teams and program level personnel are transitioning well towards SAFe. But the Portfolio level personnel appear not to have, as yet, adopted many SAFe practices.
In an SME context it might not be necessary for Portfolio level members to fully adopt SAFe providing they are supportive of their teams. The SAFe self-assessment highlighted where training is required, to improve the vertical communication between teams, program level and upper management.
In this extended abstract, we propose a conceptual framework that leverages distributed ledger technology and smart contracts to create a decentralized system to capture the occurrence of interesting development activities (e.g., a development build) and associated contextual data, and automatically audit and evaluate compliance to governance policies. Our hypothesis is that such a framework will facilitate easier sharing of information across all participants of a distributed development team, compliance evaluation and early mitigation actions, leading to greater visibility and compliance. Currently, the proof of concept we are working on is focused on sharing and compliance evaluation of the open-source components used in software development.
It is a usual practice for software companies to develop their products using Distributed Software Development (DSD). Moreover, many times the software companies work with multidisciplinary teams to satisfy their customer demands. These multidisciplinary teams are composed of IT professionals and professionals from multiple areas not related to software development or IT. There are several problems associated with communication and information dissemination that severely compromise the software product development. This work presents a case study of a company that uses DSD. The Scrum-based process shown in this work promotes a communication improvement between the client company functional areas.
In this study we dig for scrum application practices in distributed offshore development teams of a multinational company which has in-source offshore development centers across the world. Main location of the research is the Turkey center of the company.
Software security is an important aspect that needs to be considered during the entire software development life cycle (SDLC). Integrating software security at each phase of SDLC has become an urgent need. To address software security, various approaches, techniques, methods, practices, and models have been proposed and developed. However, recent research shows that many software development methodologies do not explicitly include methods for incorporating software security during the development of software as it evolves from requirements engineering to its final disposal. The primary objective of this research is to study the state-of-the-art of security in the context of SDLC by following systematic mapping study (SMS). In the second phase, we will identify, through systematic literature review (SLR) and empirical study in the industry, the software security contributions, security challenges and their practices for global software development (GSD) vendors. The ultimate aim is to develop a Software Security Assurance Model (SSAM) to assist GSD vendor organisations in measuring their readiness towards the development of secure software.
There has been a tremendous increase in the rate of agile method adoption across large and globally distributed large organizations. Despite of several challenges, organizations have shown profound interest due to the potential benefits of agile at small scale. Several scaling frameworks and scaling practices have been proposed by the consultants and practitioners to support globally distributed large scale agile transformations. The present research has 3 dimensions: (i) scaling practices (ii) scaling frameworks (iii) enterprise agile. Various research methods have been adopted in the study to address the these dimensions. This would help agile practitioners and consultants to reflect on the scaling approaches and help them during the agile transformation process across large and globally distributed large organizations.
Context: Communication plays an essential role in the professional software development, as it stands as one of the pillars of this collaborative activity. Communication is also one of the leading challenges in Distributed Software Development (DSD) teams, which may be hindered by this business model. Still, little is known about how communication occurs in this specific context. Objective: This work aims to present a doctoral research proposal for studying communication in DSD teams to propose a new theory, and thereby, establish a theoretical base for future studies. Additionally, to stimulate discussions about the relevance of this proposal. Method: I propose Grounded Theory research. Results: To help in the consolidation of this study gap, I present the preliminary results of a non-extensive literature review. Conclusions: Based on preliminary findings, I conclude that a new, and specific communication theory in DSD may have its place in literature.