Showing posts with label Challenges and Work Practices. Show all posts
Showing posts with label Challenges and Work Practices. Show all posts

Wednesday, November 21, 2012

A case study of globally distributed software development with A-Square project.




You can download the paper from here: A case study of globally distributed software development with A-Square project. - Paper
You can download the presentation from here: A case study of globally distributed software development with A-Square project. - Presentation

Implementation of Global software development : a Structured approach.

Abstract:



In Globally distributed software development (GDSD), People are separated over different locations of the world developing software together. The complexity dramatically increases due to the geographical, temporal, and socio-cultural distance. This paper identifies and analyzes problems that occurred in a GDSD project called A-SQUARE, which was carried out as a project-based course called practicum in the KAIST-CMU Master of Science in Information Technology - Software Engineering (MSIT-SE) program.
The three distance dimensions that should be managed to succeed in a project, and they are communication, coordination and control. Communication is the exchange of complete and unambiguous information, so the sender and receiver, both can have shared understanding. Coordination is the management of dependencies
among tasks for achieving a goal. Control is defined as the process of satisfying to goals, policies, standards, or quality level.

GDSD also has three major types of distance: Temporal, Geographical, and Socio-cultural.
Temporal distance is defined as a directional measure of the dislocation in time experienced by two team
members desiring to cooperate.
Geographical distance is a directional measure of the effort required for one member to visit another at the latters site.
Socio-cultural distance is defined as a directional measure of one members understanding of another members values and normative practices.

The paper discusses about a case study which achieved support from the strategies of GSD employed and evaluate for their usage of it.

Objectives of Paper:

  1. The importance of strengthening of documentation (ex; ETVX with google docs) and SE PM technique (ex: wide band delphi estimation).
  2. Selection of reducing dependencies among tasks by feature based assignment rather than layer based.
  3. Understanding the importance of project management tools and technique for managing project artifacts.
  4. Importance of documenting and tracking issues for effective sharing.
  5. Importance of formal and informal communication for its much need coordination among different location team members.

Motivation for Paper:

  1. Understanding the problems of Lack of project management, different cultures in communication and control dimension.
  2. Understanding the difficulty in management of project artifacts at control dimension with increase in geographical and temporal distance.
  3. Understanding the inefficiency of sharing issues, dealing with higher complexity tasks in collaboration dimension.
  4. Evaluation of strategies employed are very necessary to achieve efficiency and increase productivity.
  5. Need to evaluate the methods, processes and environments of software development for their effective use.

Lessons learned through the Paper:

           There are several points that can lead the success of GDSD projects and mitigated the effects of the problems by applying the strategies.
A. Team Building : Building cooperation and trust- enable team by making to learn backgrounds, which results higher productivity of project.
B. Secure Synchronous Communication Channel-Communication should be efficient and concise. The team members should analyze time differences among several separated sites and find overlapped hours to reach each other synchronously as a secure synchronous communication channel.
C. Follow-the-sun Approach- GDSD projects can make a good use of distributed sites time differences for boosting time-to-market of the project.

Concluding Remarks



In the paper, The problems that can occur in a GDSD environment are identified and also evaluated the strategies that the A-SQUARE team took to cope with them and discussed their effectiveness. The problems that can arise from the temporal, geographical and socio-cultural distance with the A-SQUARE project are also dealt in detail and solutions are put in place and evaluated for its effectiveness.

Implementation of Global software development : a Structured approach.



You can download the paper from here: Implementation of Global software development : a Structured approach. - Paper
You can download the presentation from here: Implementation of Global software development : a Structured approach.- Presentation

Implementation of Global software development : a Structured approach.

Abstract:


Globalization of software development is the strategy that organizations endeavoring to gain and maintain competitive advantage. This advantage is attributed to the benefits provided by labour arbitrage, which offers the opportunity for reduced development costs, which continues to be facilitated by the availability of well
educated and technically competent software engineers in low-cost centre's in Eastern Europe, Latin America, India and the Far East. The difficulties encountered include factors such as the problem of
understanding requirements, testing of systems, coordination, cultural and language differences, lack of communication, geographical and temporal distance from team members and the customer, different process maturity levels, development and testing tools, standards, technical ability and experience.

Distance has been identified as a key problem and by its very nature introduces barriers and complexity into the management of globally distributed projects
1. Geographical distance introduces physical separation between team members and management.
2. Temporal distance hinders and limits opportunities for direct con-tact and cooperation
3. Linguistic distance limits the ability for coherent communication to take place
4. Cultural distance negatively impacts on the level of understanding and appreciation of the activities and efforts of remote colleagues and teams Coordination, visibility, communication and cooperation are all negatively impacted with distance.

The paper explains the 10 key GSD factors needed to establish and facilitate the operation of globally distributed virtual teams. Each of these factors are implemented in five phases namely, Initiating, provisioning, establishing, managing, and leveraging.


Objectives of Paper:

  1. To understand the opportunity for round the clock development facilitated by the temporal difference between remote development locations.
  2. To come up with a strategy for the establishment, operation and the effective management of virtual software teams (GSD).
  3. To understand the difficulties in GSD caused by cultural and language differences, lack of communication, geographical and temporal distance from team members and the customer, different process maturity levels, development and testing tools, standards, technical ability and experience.
  4. Building up effective project management strategy, popular communication tool, effective coordination and control structure needed.
  5. Achieving a motivated and cohesive team with a common purpose and shared goals and objectives in a globally distributed virtual team.

Motivation for Paper:

  1. Understanding the GSD key factors enable us to achieve a simpler and structured approach in implementing GSD, which has complex barriers.
  2. Change of Strategy in Implementation of an outsourcing needed than that of prior applying strategy of collocated software development.
  3. Benefiting from competitive pricing and reduce time to market, thus enabling companies to compete more effectively in global market.
  4. To study on facilitating collaboration and cooperation within the distributed team, Enforcement of trust between team members.
  5. To study on the importance of investment in key infrastructure, pervasive risk management, investing time, effort and money in training.

Lessons learned through the Paper:

           There is a need to facilitate competitive pricing and reduce time to market, thus enabling companies to compete more effectively by gaining, expanding or maintaining their market share, when operating in what are increasingly dynamic and volatile markets.

The IDEAL-sm model presented a simple, but comprehensive framework on which the GSD Implementation Model could be based. The GSD Implementation Model had five phases with their constituent key factors. They are as follows:

INITIATING - Determine why, if and how the GSD approach is to be implemented.
1. Understand why and at what cost and risk the strategy is undertaken.
PROVISIONING - Ensure provision of effective infrastructure and documented process.
2. Provision of effective infrastructure, process and documentation
ESTABLISHING - Requirement to effectively establish the GSD teams.
3. Requirement to effectively establish the teams
MANAGING - Implementation of an efficient GSD project management strategy.
4. Implement an efficient distributed team project management strategy
5. Ensure the development of common goals, objectives and rewards
6. Need for the clear definition of roles and responsibilities
7. Address issues related to culture, communication, motivation and fear
8. Ensure provision of adequate training and knowledge transfer
9. Facilitate and monitor the operation of collaborative and supportive teams
LEVERAGING- Document and leverage lessons learned for existing and future projects.
10. Document and leverage lessons learned

Concluding Remarks



The GSD Implementation Model provides a process through which organizations can approach the implementation of a GSD strategy. Within its five phases it addresses the specific requirements of operating in a GSD environment,taking the ten GSD Key Factors which we identified into account. The required infrastructure, processes and supports are put in place, Senior management support, and an effective project management strategy based on the needs of the GSD environment is implemented. The documenting and leveraging of the experience gained during implementing is the key for long term success of this GSD approach.

Global software development in practice - lessons learned


You can download the paper from here: Global software development in practice - lessons learned - Paper
You can download the presentation from here: Global software development in practice - lessons learned - presentation

Global software development in practice - lessons learned

Abstract:


Organizations seeking lower costs and access to skilled resources began to experiment with remotely located software development facilities. This change is having a profound impact not only on marketing and distribution but also on the way products are conceived, designed, constructed, tested, and delivered to customers. As a result, software development is becoming a multi-site, multicultural and globally distributed undertaking.

This Paper explains types of Offshore Outsourcing and Offshore In-sourcing, factors and outcome with GSD trend. The paper also explains about other models namely Carmel (1999) model of software development for global teams, Evaristo (2003) model of distributed project, and a case study involving different stakeholders having differences in distance. Lessons were learned on the basis of case studies in two software development units from multinational organizations.

Under Carmel model for global teams, The centrifugal forces were loss of communication richness, coordination breakdown, geographic dispersion, loss of teamness and Cultural differences. The Centripetal forces were Development Methodology, Collaborative Technology, Managerial Techniques, Product Architecture, Team Building and Telecom Infrastructure.

The dimensions of distributed projects under Evaristo model were: Trust, levels of dispersion, Synchronicity, Complexity, Systems Methodology, Culture, Percieved distance, Policies and standards, type of projects and stakeholders.


Objectives of Paper:

  1. Distinguishing GSD from normal (centralized) with respect to Software development.
  2. Identifying the Strategic Issues, Cultural issues, knowledge management and technical issues effected by distance, time-zone and culture changes.
  3. Understanding the Centrifugal and Centripetal forces involved in the Carmel's Model of Software development for the global teams.
  4. Discussing and managing of the critical problems associated with model of Dimensions for Distributed projects (Evaristo).
  5. Finding Solutions for identified problems with focus on technical (or, and) non-technical dimension. ( starting from planning to Integration phase).

Motivation for Paper:

  1. The business market proximity advantages, including knowledge of customers and local conditions favor GSD to have footprint globally.
  2. Pressure to improve time-to-market by using time-zone differences in round-the-clock development favor quick product delivery and low costs.
  3. Cost-competitive global resource pool, wherever located need to be used successfully.
  4. The need for study on work standardization, investment in planning, process engagement, and continuous risk management can be solutions.
  5. Exploring the effectiveness of leadership, communication, culture,context sharing, project management, and technical training.

Lessons learned through the Paper:

           As the software community appreciates the economy of merging diverse development skills and domain expertise and as communication media become more sophisticated, the cost and technology
pressures push more organizations toward GSD. The Author describes 8 lessons that can be learnt from this paper. They are:

Lesson 1: Project management and, in particular, risk management need additional effort and steps.
Lesson 2: The existence of a well-defined software development process is responsible for many advantages in distributed projects.
Lesson 3: Knowledge management stimulates the information sharing and stimulates the learning from experience.
Lesson 4: Requirements engineering is the main challenge for the software development process point of view.
Lesson 5: The planning phase is important to organize and manage the distributed projects properly.
Lesson 6: The investment in recruiting and training global teams can minimize the difficulties related
to the nontechnical dimension.
Lesson 7: Tools can act as a facility in the distributed interaction.
Lesson 8: Distributed Software Development is a maturity process

Concluding Remarks


The existence of a formal software development process, Large investments in training resulting in improved relationships, Process engagement, Integration activities improved soft skills of individuals, increasing trust and minimizing cultural differences resulting in improved the communication and feedback. The search for greater formalism and the selective utilization of international patterns will provide full conditions to overcome the problems originating from the dispersion of software development, with support from communication techniques, primarily e-mail, conferencing. The challenge in GSD is to create strategies, techniques and practical lessons from experience to alleviate such problems.

Global Software Engineering and its Challenges

You can download the paper from here: Päivi Parviainen - Global Software Engineering and its challenges
You can download the presentation from here: Global Software Engineering and its Challenges

Global Software Engineering and its Challenges

Abstract:



Global Software Engineering means product-development activity that involves two or more companies, departments or teams that combine their competencies and technologies to create new shared value while, at the same time, managing their respective costs and risks.

Global Software Engineering has a number of potential benefits, including
• Shortening time-to-market cycles by using time-zone differences.
• Improving the ability to quickly respond to local customer needs.
• Organizations benefit from access to a larger qualified resource pool with the promise of reduced development costs.
• Innovation, as the mix of developers with different cultural backgrounds may trigger new ideas.
• To reduce development costs, to acquire competence (technology competence or knowledge of a specific market)
• To avoid investing in a company's non-core competence areas.

The general risks mentioned in the Paper are:
• had to do with the openness of communication between partners; for example, problem-hiding may be an issue in customer supplier relations.
• Furthermore, unclear assignments, lack of trust between partners, difficulties in agreeing on intellectual property rights and the unreliability of the partners development schedule were seen as risk factors for any mode of collaboration.
• From the suppliers or licencor's viewpoint, the risks mentioned concerned the continuation of the collaboration in the future and predicting the most sale-able product features correctly during road-mapping.
• From the customers point of view, the quality of the acquired product (e.g.,reliability and performance) and becoming too dependent on one partner were seen as risks.
• Finally, competence issues such as the competence of new partner's and a weakening of ones own competence were also mentioned as risks.



Objectives of Paper:


  1. It talks about various GSE interaction modes like Hierarchical, Swap meet, Asymmetrical and Dialogic.
  2. It describes about mode of collaboration : 1. Equity and non-equity. 2. Upstream, horizontal and downstream. 3. Dyadic alliances, alliance constellations and alliance networks. 4.Explorative and exploitative.
  3. Capturing the industrial views under Contracting and requirements definition, Project planning and tracking, Architecture analysis/design, Integration and testing, Co-operative work.
  4. It talks about modes for coordinating R and D work across multiple sites like Functional areas of expertise, Product structure, Process steps, Customization.
  5. Root causes of challenges into Basic Circumstance, derivative cause and Consequent Cause.

Motivation for Paper:

  1. As World market is getting closer day by day, It is necessary to understand the benefits and risks involved in Global software engineering.
  2. Detailed viewpoint of the stakeholders involved can help to understand the challenges at the root level and help to solve it at lower level, thus not eliciting such problems to the higher level of decisions.
  3. This paper is a step towards better, more productive and higher quality GSE, as it helps companies to be aware and address potential challenges early via the GSE framework.
  4. Although GSE is common, it is still challenging and companies should carefully weigh the benefits and costs of doing the work in distributed setting vs. doing it single site.
  5. Analyzing the problems in more detail helps to improve situation that can be implemented in practice. Under the current market pressures, companies need to use their existing resources(also global resource and expertise pool) as effectively as possible.

Lessons learned through the Paper:

           For a successful implementation of any project, It is very necessary to carry out background knowledge, survey to better understand the scenarios that can come across. Hence, better preparation of solutions can be implemented to minimize the risk and to increase benefit to cost ratio. 

The risk associated with GSE are: Project-delivery failures, Insufficient quality, Distance and culture
clashes, Staff turnover (mostly for captive centre's), Poor supplier services (only for outsourced GSE), Instability with overly high change rates, Insufficient competences, Wage and cost inflation, Lock-in (only for outsourced GSE), Inadequate IPR management etc.

The top-five challenges for GSE were effective communication, cultural differences, coordination, time-zone differences and trust.

The reasons or causes for these Challenges are: Communication breakdown (loss of communication richness), Coordination break-down, Control breakdown (geographical dispersion), Cohesion barriers (loss of teamness) and Culture clash (cultural differences). 

The root causes can be classified into:
1. Basic Circumstances: Caused by Time difference and distance, Multiple parties/ Stakeholders. 
2. Derivative Cause: Lack of communication, communication breakdown, different backgrounds and tacit knowledge. 
3. Consequent Cause : Lack of Teamness, Trust.

Concluding Remarks

In Today’s market, the increasingly complex and competitive market situation has resulted in Global Software Engineering (GSE) becoming more and more common practice. Companies need to use their existing resources as effectively as possible.They also need to employ resources on a global scale from different sites within the-company and even from partner companies throughout the world, in order to produce software at a competitive level.Thus, the ability to collaborate effectively has become a critical factor in today’s software development.

The main expected benefits from GSE are improvements in development time, being closer to the customers and having flexible access to better specialized and less costly resources. Main reasons behind this productivity drop are misunderstood or mismatched processes between teams, and poor visibility into and
control of the development activities atall sites involved. This paper helps us to understand and improve the situation that is in practice in companies.


Saturday, November 10, 2012

Implementation of Global Software Development: A Structured Approach

 You can find the related paper attached here Implementation of Global Software Development: A Structured Approach.

Also, you can find the presentation slides here Implementation of Global Software Development: A Structured Approach



  • The sustained popularity for the selection of software development, considered as a globally sourced commodity and its strategy is ascribed to organisations endeavoring to gain and maintain competitive advantage from the globalization of software development.
  • The potential for achieving this advantage is attributed to the benefits provided by labour arbitrage, which offers the opportunity for reduced development costs. This continues to be facilitated by the availability of well educated and technically competent software engineers in low-cost centres in Eastern Europe, Latin America, India and the Far East.
  • It can facilitate competitive pricing and reduce time to market, thus enabling companies to compete more effectively by gaining, expanding or maintaining their market share. This is seen as particularly important when operating in what are increasingly dynamic and volatile markets



The difficulties encountered include factors such as the problem of understanding requirements, testing of systems and the coordination of these types of projects. It is further compounded by cultural and language differences, lack of communication, geographical and temporal distance from team members and the customer, different process maturity levels, development and testing tools, standards, technical ability and experience.


Distance has been identified as a key problem and by its very nature introduces barriers and complexity into the management of globally distributed projects
1. Geographical distance introduces physical separation between teammembers and management.
2. Temporal distance hinders & limits opportunities for direct contact & cooperation
3. Linguistic distance limits the ability for coherent communication to take place
4. Cultural distance negatively impacts on the level of understanding and appreciation of the activities and efforts of remote colleagues and teams.


Coordination, visibility, communication and cooperation are all negatively impacted with distance.

GSD KEY FACTORS



  • Understand why, at what cost and what risk a distributed strategy is undertaken.
  •  Provision of effective infrastructure and documented process.
  •  Requirement to effectively establish the teams.
  •  Implement an efficient distributed team project management strategy.
  •  Ensure the development of common goals, objectives and rewards.
  •  Need for the clear definition of roles and responsibilities
  •  Address issues related to culture, communication, motivation and fear
  •  Ensure provision of adequate training and knowledge transfer
  •  Facilitate and monitor the operation of collaborative and supportive teams
  • Document and leverage lessons learned.





The ten key factors which our research identified were divided into five distinct phases.
( The model as a whole was designed for iterative execution. )
INITIATING – Determine why, if and how the GSD approach is to be implemented.
PROVISIONING – Ensure provision of effective infrastructure and documented process.
ESTABLISHING – Requirement to effectively establish the GSD teams.
MANAGING – Implementation of an efficient GSD project management strategy.
LEVERAGING – Document and leverage. lessons learned for existing and future projects.



The GSD Implementation Model provides a process through which organisations can approach the implementation of a GSD strategy. On the basis of the IDEALsm model, it is practical and comprehensive in its structured and iterative approach. Within its five phases it addresses the specific requirements of operating in a GSD environment, taking the ten GSD Key Factors which we identified into account. Senior management support is secured on achievable expectations based on the accurate evaluation of costs and risks. The required infrastructure, processes and supports are put in place to facilitate the operation of the GSD teams. Time and efforts are put into effectively establishing and managing the teams. Key to the long-term success of this approach is the documenting and leveraging of the experience gained implementing such a strategy.






Case Study of GDSD with A-Square Project

You can find the presentation slide attached here A Case Study of GDSD with A-Square project

The relevant paper present can be downloaded here Case Study of GDSD in A-SQUARE Project



Since a group of people have to work together, software development is a complex activity. In the case of globally distributed software development (GDSD), in which people separated over different locations of the world develop software together, the complexity dramatically increases due to the geographical, temporal, and sociocultural distance. In this paper, we identify and analyze from a case study various problems that people can encounter while working in a GDSD setting. We also describe the strategies that we used to solve those problems and evaluate their effectiveness.


Software development conducted by people who have geographical and temporal distance, diverse nationalities and/or different organization cultures amongst them is called globally distributed software development (GDSD), For GDSD, methods, processes and environments for typical software development may not be suitable. In particular, they were not designed for collaboration in which communication is more costly and therefore requires a more disciplined approach.


The three distance dimensions that should be managed to succeed in a project, and they are communication, coordination and control.

  1. Communication is the exchange of complete and unambiguous information, so the sender and receiver, both can have shared understanding. 
  2. Coordination is the  management of dependencies among tasks for achieving a goal.
  3. Control is defined as the process of satisfying to goals, policies, standards, or quality level.


GDSD also has three major types of distance: Temporal, Geographical, and Socio-cultural.

  • Temporal distance is defined as a directional measure of the dislocation in time experienced by two team members desiring to cooperate.
  • Geographical distance is a directional measure of the effort required for one member to visit another at the latter’s site. 
  • Socio-cultural distance is defined as a directional measure of one member’s understanding of another member’s values and normative practices

PROBLEMS THAT CAUSED DIFFICULTIES AND REDUCED PRODUCTIVITY IN GDSD PROJECTS are : 
  1. Lack of Project Management
  2. Lack of Understanding of Different Cultures 
  3. Inefficiency of Sharing Issues
  4. High Complexity of the Tasks Assigned for the Legacy System Analysis
  5. Difficulties in Management of Project Artifacts

There are lot of strategies to solve these problems, which has been explained in the paper.



LESSONS LEARNED



A. Team Building : Building cooperation and trust

Activities for team building improving teamwork to build the trust should be hold before or during the project.

Problems of Lack of Understanding of Different Cultures above could have been mitigated by having a study group for learning backgrounds using our team resources.

This positive effect might lead to the higher productivity of the project which results in shorter project duration and better quality of products. Therefore, these activities of team building have positive effects on management of socio-cultural distance among team members.




B. Secure Synchronous Communication Channel

If communication among team members does not go well, then it negatively affects to control and collaboration aspects of the project.

GDSD may need strict rules for enhancing documentation to enhance communication, because it is carried out by people who have different nationalities, cultures and languages.

Communication should be efficient and concise. It should not be burden and have any overhead to communication among team members through synchronous ways.

Therefore, in GDSD projects, they should analyze time differences among several separated sites and find overlapped hours to reach each other synchronously as a secure synchronous communication channel.


C. Follow-the-sun Approach

One main advantage that GDSD projects share is partially extended work hours. It means that GDSD projects are usually distributed to several areas which have temporally distance among them. 
Typical workers in software companies usually work 9 hours. However, workers in GDSD projects can work 24 hours in a day. 
GDSD projects can make a good use of distributed sites’ time differences for boosting time-to-market of the project.



Saturday, November 3, 2012

Global Software Development in Practice Lessons Learned

You can find the ppt attachment here  Global Software Development in Practice Lessons Learned

Organizations searching for competitive advantages in terms of cost, quality and flexibility in the area of software development, looking for productivity increases as well as risk dilution.

Many times the search for these competitive advantages force organizations to search for global solutions, where two main options are currently under use:
 1. Offshore outsourcing (contracting services with an external organization located in another country), and
 2. Off-shore in-sourcing (contracting with a wholly owned subsidiary also located in another country).

 As the software community appreciates the economy of merging diverse development skills and domain expertise and as communication media become more sophisticated, the cost and technology pressures push more organizations toward GSD.

 The challenge in GSD is to create strategies, techniques and practical lessons from experience to alleviate problems associated.

Global Software Engineering and its challenges

The link of ppt can be found here GLobal Software Engineering and its Challenges.



 --- The increasingly complex and competitive market situation places intense demands on companies, requiring them to respond to customer needs, and to deliver more functionality and higher quality software faster.

Companies need to use their existing resources as effectively as possible, and they also need to employ resources on a global scale from different sites within the company and from partner companies throughout the world.

GSE means software engineering that is carried out in globally distributed settings in various geographical locations. The work can be done either within a company (multi-site development) or in collaboration between two or more companies in different locations.

GSE, as used in this, means product-development activity that involves two or more companies, departments or teams that combine their competencies and technologies to create new shared value while, at the same time, managing their respective costs and risks.

Challenges and Work practices of Global Software Development

The papers selected for Global Software Development are as follows

  1. A case study of globally distributed software development with A-Square project.
  2. Global Software Development in Practice Lessons Learned from Rafael Prikladnicki, Jorge Luis Nicolas Audy and Roberto Evaristo [ source from Research Section of SOFTWARE PROCESS IMPROVEMENT AND PRACTICE ]
  3.  Knowledge-related challenges and solutions in GSD Paivi Parviainen and Maarit Tihinen [IEEE Paper]
  4. Implementation of Global Software Development: A Structured Approach by Valentine Casey and Ita Richardson [ source from Research Section of SOFTWARE PROCESS IMPROVEMENT AND PRACTICE ]