SW project work H.Sten 2016 Content Introduction Dimensions of - - PowerPoint PPT Presentation

sw project work
SMART_READER_LITE
LIVE PREVIEW

SW project work H.Sten 2016 Content Introduction Dimensions of - - PowerPoint PPT Presentation

Distribution of SW project work H.Sten 2016 Content Introduction Dimensions of distribution Reasoning Centrifucal forces Implications (benefits & disadvantages) Processes & Methods Research results 27.1.2016


slide-1
SLIDE 1

Distribution of SW project work

H.Sten 2016

slide-2
SLIDE 2

Content

27.1.2016 2

  • Introduction
  • Dimensions of distribution
  • Reasoning
  • Centrifucal forces
  • Implications (benefits & disadvantages)
  • Processes & Methods
  • Research results
slide-3
SLIDE 3

Introduction

27.1.2016 3

  • Distributed software development is an issue of increasing daily

routine for software development organizations today.

  • Globalization, outsourcing, and offshoring are current and remaining

features for software development projects.

  • Distribution is not a simple and well-managed task today.
  • International distribution gives us some benefits but some

disadvantages as well.

  • Often, the company has several offices in different cities, different

countries, or even different parts of the world, and software development projects are distributed among these units.

  • Software companies can also distribute software development to

subcontractors, which are often located in different locations or even different countries.

  • Software companies have also often very different reasons for the

distributed development.

  • Distributed software development is affected by a lot of forces that

influence the success or failure.

slide-4
SLIDE 4

Dimensions of distribution

27.1.2016 4

  • Dimensions of distance
  • Geographical
  • Temporal
  • Socio-Cultural
  • Organizational
slide-5
SLIDE 5

Geographical distance

27.1.2016 5

  • Geographically distributed software development, developers

can work with physically positions in several different places.

  • The physical distance between the developers may be small,
  • eg. working on different floors of the building, but the software

engineers often work in different locations, which may be located in different cities, countries or even continents.

  • In the geographical distribution a measure of the distance

between the developers do not necessarily give a true picture of software development in distribution.

  • Better picture and insights being it’s what you get when you look

at locations between the transport and ease the transition to work by point to another.

  • The distance between geographically distributed locations can

be economically and timely valuable.

slide-6
SLIDE 6

Temporal distance

27.1.2016 6

  • Temporal distance will inevitably become part of the different

time zones distributed software projects.

  • Temporal distribution are also found in the different locations

that are used for different work periods.

  • Temporal distribution dimension refers to the time difference

between the interaction necessarily aspiring software developers experienced.

  • The temporal distribution is always combined with a lack of, or

limited real-time communication.

  • If the different offices’ normal working hours are in partially or

even completely different times of the day, the temporal distribution can be said to occur significantly.

slide-7
SLIDE 7

Socio-cultural distance

27.1.2016 7

  • Socio-cultural distribution refers to a person's

ability to understand another person's values ​and normative practices.

  • Factors affecting the socio-cultural

distance includes e.g. national culture, language, politics, local organization and employee motivation

slide-8
SLIDE 8

Organizational distance

27.1.2016 8

  • One dimension is the outsourcing of resources.
  • Outsourcing refers to the software development of any part of or

the conclusion of the phase of the adoption of a partner or a subcontractor to carry.

  • Distribution can also be organizational, wherein a part of the

product development organization can operate abroad and it can thus be determined to intensify their operations with the help of

  • eg. time zones as shifts.
  • Organizational distribution is about different organizations are
  • ften the diversity of practices and organizational cultures.
  • The organizational dimension is usually found in the larger and

medium-sized enterprises

slide-9
SLIDE 9

Reasoning

27.1.2016 9

  • The reasons for the emergence of distribution are many and varied.
  • The reasons can be divided into previous studies and literature, for

example active and passive causes.

  • Active reasons are relating to active effort to a state where software

resources are distributed. Active reasons are various, they are e.g. cost, greater efficiency and availability of resources.

  • Passive, dependent on the circumstances or the environment,

reasons include e.g. acquisitions, large company and the market.

  • Another way to share the reasons for distribution is a division of

known and unknown causes.

  • Known causes include e.g. cost savings, broader resource for market,
  • perational efficiency, and proximity to the customer and the market.
  • Unknown (or not so well-known) reasons include e.g. organizational

benefits (e.g. the best practices), the team benefits (e.g. improved modularity of tasks) as well as the process and benefits at task-level (e.g. improved documentation).

slide-10
SLIDE 10

Main reasons to distribute

27.1.2016 10

  • Labor, its availability and its skills.
  • When software development companies are looking for the resources

available, they will have to distribute its activities extensively, either by setting up a new office or by outsourcing operations in question operating in the territory of partner or subcontracting firm.

  • Economic reasons.
  • Looking from Finland, the cost of software professionals during the last

decades has always been cheaper the farther to the east or south the location is. Today can be seen that price erosion have been fast in price of software development labor. Asia is not anymore seen as cheap as it used to be from Finnish lead company point of view.

  • Proximity to the customer and / or end-user.
  • Software projects’ customers operate often nowadays globally or are

located abroad. Software development project has been the more successful the closer customers are during development. Also, the end- user proximity and understanding is important for software product development

  • Expansionist designs
  • The only opportunity for the software company to expand functionally and

to internationalize, may be the creation of a new office in another location, a new country, or even acquisition abroad.

slide-11
SLIDE 11

Centrifucal forces

27.1.2016 11 Carmel, E. & Tjia, P. 2005. Offshoring Information Technology: Sourcing and Outsourcing to a Global Workforce. Cambridge: Cambridge University Press

  • All the disadvantages associated with international distribution

cannot be eliminated, but their effects can be reduced.

  • Striking a balance between the various types of benefits,

disadvantages and successes in the conditions of distribution is one of the most important things for a successful international and distributed software development project.

  • Carmel and Tjia disclose the problems relating to spreading of the five

"centrifugal forces" means.

  • Each of these five power alienates project staff from each other,

making it even more difficult to work.

  • These forces are culture, communication, coordination, control and

cohesion.

slide-12
SLIDE 12

Culture 1/2

27.1.2016 12

  • Cultural impact cannot be ignored in internationally distributed

development projects.

  • Cultural effects are most visible in long and multi-national projects.
  • Cultural diversity is useful for the project, if it is understood and used

properly.

  • Every culture has different principles, values, beliefs, communication,

norms and behavior. Even small cultural mistakes lead to culture clashes, mistrust and later to conflict.

  • Culture should be seen as (Hofstede & Hofstede, 2004) compatible

with human nature, culture and the individual's personality as a whole, which is programmed in the human mind.

  • Human personality is partly inherited and learned. Human nature is

the deepest level and inherited from the genes.

  • Personality is the superficial and highest level. It is based on genetic

factors and individual experiences that make us all unique people.

  • Culture is the middle level. It builds on the experience we share

between a certain group of people with whom we live in the same community.

slide-13
SLIDE 13

Culture 2/2

27.1.2016 13

  • Hofstede et al. (2010) the cultural dimensions can be used to simulate a

variety of multi-cultural party behavior. The cultural differences appear in comparing them with each other and the differences between countries described various indices [13]. See: http://geert-hofstede.com/national- culture.html.

  • Lewis (2006) developed the LMR-model (linear, multi and reactive) to test

the cultural profiles and the assessment and determination method of the cultural background of individuals. According to Lewis the world’s hundreds of national and regional cultures can be divided into three groups; function key and well-organized designers (Linear), people-

  • riented, speechful and linked to each other (Multi), as well as introverted

and respectful focusing on listeners (Re). In cultural triangle adjacent to each other countries are close to each other, so there are often less

  • conflicts. Similarly, if the countries are far from each other, in the

determination of the cultural triangle, culture definition and understanding becomes important.

  • At the regional culture has a much greater impact than organizational

culture.

slide-14
SLIDE 14

Communication

27.1.2016 14

  • In software development project, one of the key success factors is the

successful communication.

  • Communication requires more attention in distributed software

development, where there is less or no informal communication.

  • In distributed projects, communication results in delays and

consequences of such delays due to the time difference and misunderstanding, reliance on asynchronous communication, a lack of random and spontaneous discussions, as well as the possible lack of a common language.

  • Communication is in this context communication between the software

project partners and stakeholders (information, information management, and communication management).

  • Communication is an important advocacy and management tool because it

involves interpretation and the adoption of a mere addition to the transfer of knowledge of information.

  • A very important issue for distributed project communication is also a

common language.

  • In a distributed software development the trust plays an important role in the

communication between software developers. The lack of thrust decreases the willingness to share information and to communicate adequately.

slide-15
SLIDE 15

Coordination

27.1.2016 15

  • In distributed software projects the

coordination has an important role in the success of the project.

  • Software development is a set of

complex tasks, which have all the time a lot of small adjustments, changes and bug fixes.

  • Coordination ensures that these changes

are made in such a way that all tasks contribute to the achievement of the main

  • bjective of the project.
  • When coordination slows, several

problems occur.

  • Things are going to the wrong direction for

so long that it becomes very difficult to get thing back on track.

slide-16
SLIDE 16

Control

27.1.2016 16

  • Control is another important aspect of managing a distributed

software project.

  • Control tries to ensure that the work is consistent with the
  • bjectives and selected standards and practices.
  • Control is best achieved when the software project managers

can be and work among his subordinates (ie. management by walking).

  • In a distributed software development project managers

cannot physically meet with subordinates on a daily basis and that leads to not getting a proper knowledge what’s happening on the other sites.

  • To improve this, managers needs to travel as often as possible to

all sites. That requires budgeting and time planning.

slide-17
SLIDE 17

Cohesion

27.1.2016 17

  • Co-operation is also very important in all distributed operations -

especially in software development.

  • If a software development group have good cohesion, members can rely
  • n each other, like each other and to help one another.
  • Trust is a difficult concept to distributed work, as it partners must trust

each other, so that efficient co-operation is at all possible. On the other hand it is often difficult to build trust over long distances. Some individuals and cultures trust quickly, other cultures more slowly.

  • Understanding diversity, a common spoken language (preferably mother

tongue) and trust are at the root of effective co-operation.

  • A prerequisite for any form of co-operation is, however, a functional and

good communication.

  • In the distributed development environment, cohesion is critical co-
  • peration. Often it is not economically possible to work often enough

face to face, but to create the most favorable conditions and tools for the success of other forms of communication. In there the importance of informal communication is often emphasized.

slide-18
SLIDE 18

Implications (benefits & disadvantages)

27.1.2016 18

  • Causes of distribution and its consequences, both positive and

negative, between the limits are not always entirely clear. Some of the distribution caused by the effects are, depending on point of view, the positive ie. potential, or negative ie. threats or problems.

  • Based on previous research, it can be generally stated that the

disadvantages of the distribution are smaller than the benefits.

  • Effects:
  • The lack of mutual meetings is one of the effects of distribution.
  • The diversity communication (linguistic and cultural differences ).
  • The delays in communication (asynchronous).
  • The weaknesses in confidence and team spirit.
  • Also has effects on the distribution of tasks.
  • Effect with time differences between sites.
slide-19
SLIDE 19

Implications (benefits)

27.1.2016 19

  • Benefits can be divided for example into partially identified and to not

identified benefits.

  • Partially identified benefits are the reduction of development costs,

availability of skilled resources, improvement of operational efficiency, the market area / end-user proximity, the software architecture modularity, the global market for labor resources.

  • Not identified benefits could be that the software developer's work

is not disrupted as much in distributed work, better organized task allocation, cost reduction in task coordination, clearer processes and improvement of documentation.

  • What's more is the diversity of the cultures and other diversity, the

more distributed and will highlight best practices and innovation.

  • When the distributed work is done from productivity point of view, e.g.

using the time differences between different locations as a development process, can be a market advantage for faster timetable.

slide-20
SLIDE 20

Processes & Methods

27.1.2016 20

  • In a distributed software development it is important to choose the appropriate

methods and processes.

  • Often the choice of method is tailor-made model from another or several models.
  • Traditional software development process models do not always fit in distributed

software development. Herbsleb (2007) according to resolve a distributed software development the main problem, distance management, is to focus on improving and edit e.g. processes and practices.

  • Dependence on agile methods in the physical location of the project varies method
  • wise. The selected method is very case-specific.
  • Scrum is mitigating a number of problems arising from distribution.
  • It also helps with the communication, coordination and control of the project. Scrum

has also been found to improve the spirit between sites and some problems due to cultural differences, but it does not eliminate them completely.

  • In a distributed software development can be a number of local Scrum teams, whose

work will be divided in such a way that there is no need to hardly communicate with each

  • ther.
  • Scrum Alliance recommends local scrums with Scrum of Scrums for distributed environment.

It Scrum teams are wholly local teams, who are not particularly dependent on each other. Scrum masters to form their own distributed Scrum team. It's called Scrum of the Scrums (SoS).

  • XP's suitability for distributed software development environment is good, but not as

good as e.g. Scrum, respectively.

  • XP methods are based on good communication and customer's strong presence. Both
  • f those have difficulties of implementation in a distributed environment and all of its sites.
slide-21
SLIDE 21

Research results 1/2

27.1.2016 21

  • The examle study is primarily multi-case study. As the study focused on

six (6) into a separate organization.

  • Their evaluations of current status, which are the context for the

experience of organizations in the 2000s the topic, as well as the future prospects of forecasting.

slide-22
SLIDE 22

Research results 2/2

27.1.2016 22

slide-23
SLIDE 23

27.1.2016 23

slide-24
SLIDE 24

27.1.2016 24

Universal

Personality Culture Human nature Asema Sukupuoli Kansalaisuus Arvot Kunnioitus Tarve kuulua ryhmään Ahkeruus Kohteliaisuus Halu tulla ymmärretyksi

Inherited and learned Learned Learned Specific to individual Specific to Group or category

Appendix (triangles)