SlideShare uma empresa Scribd logo
1 de 45
Introduction to Global Software
Development
Anh Nguyen Duc
7th April, 2016
TDT4140
2
To start with …
• A 229-second clip about Global Software Development
3
Agenda
• Motivation – the What, Who and Why ?
• The-state-of-practice outsourcing industry
• Taxonomies
• Five types of global distances
• Impediments to global team coordination
• Supporting mechanisms
• For a future global software engineer
• Exam candidate questions
4
A Global Software Engineer…
5
Motivation – what is GSD?
• 1970s … contract programming
• 1990s … mainstream GSD
• 2000 … first research on global software development
Global software development (GSD)
6
Motivation – what is GSD?
globally distributed development, in particular from a project
management perspective, is considerably more challenging than
even the most complex project managed entirely in house
7
Motivation – Who is doing GSD?
8
Total outsourcing industry market size
$952 Billion
www.hfsresearch.com/report/state-outsourcing-industry-2013-executive-findings
9
Motivation – Why to do GSD? (1)
Cost!
10
Motivation – Why to do GSD? (2)
Productivity
• Faster and better services
• Head count reduction
• Scalability
• Leverage business
and technology expertise
Pär J. Ågerfalk, Brian Fitzgerald, Helena Holmström Olsson, Eoin Ó Conchúir:
Benefits of Global Software Development: The Known and Unknown. ICSP 2008: 1-
9
11
Motivation – Why to do GSD? (3)
OECD 2015, Education Indicators in Focus
12
Motivation – Why to do GSD? (4)
Strategic movement
• To access the global talent pool
• Focus on core business area
• Risk sharing
• Proximity to market
Pär J. Ågerfalk, Brian Fitzgerald, Helena Holmström Olsson, Eoin Ó Conchúir:
Benefits of Global Software Development: The Known and Unknown. ICSP 2008: 1-
9
13
Motivation – Why to do GSD? (5)
Why is global distributed development?
• To save development cost
• To reduce development cost
• To reduce the time to market
• To access the global talent pool
• Focus on core business area
• Leverage business and technology expertise
• Faster and better services
• Risk sharing
• Proximity to market
• Head count reduction
• Scalability
14
The-state-of-practice
Deloitte’s 2014 Global Outsourcing and Insourcing Survey
15
The-state-of-practice
Deloitte’s 2014 Global Outsourcing and Insourcing Survey
16
The-state-of-practice
Darja Šmite & Claes Wohlin & Tony Gorschek & Robert Feldt, Empirical
evidence in global software engineering: a systematic review, Empir
Software Eng (2010) 15:91–118
17
Taxonomies
• Outsourcing vs. Insourcing
• Offshore vs. onshore
• Nearshore vs. Farshore
• Crowdsourcing – Crowd and outsourcing
• Open sourcing - Volunteer
• Freelancer - Individual
18
Taxonomies
Darja Smite, Claes Wohlin, Zane Galvina, Rafael Prikladnicki: An empirically based
terminology and taxonomy for global software engineering. Empirical Software
Engineering 19(1): 105-153 (2014)
19
Five distances of GSD
Geography
Timezone
Cutural
Work
process
Organization
20
Five distances (1) – Geography
21
Five distances (2) – Timezone
22
Five distances (3) – Cultural
• Cultural is blueprint for action
• A cultural group can be understood through the groups’
rituals, customs and values
• Cutural blindness occurs when we don’t accept or
perceive other’s behaviors that are guided by their
culture
23
Five distances (3) – Cultural
24
Five distances (3) – Cultural
https://geert-hofstede.com/countries.html
25
Five distances (4) – Work process
26
Five distances (4) – Work process
27
Five distances (5) – Organization
28
Five distances (5) – Organization
• Distances in regulations, goals, objectives between
organizations
• Boundaries provide control – efficiency are derived from
this control
Team Department Company
29
Impediment (root) – Project Dependencies
Nguyen Duc Anh, Daniela S. Cruzes: Coordination of Software Development Teams
across Organizational Boundary - An Exploratory Study. ICGSE 2013: 216-225
30
Impediment (root) – Project Dependencies
http://www.adamtornhill.com/articles/socialside/socialsideofcode.htm
Social – technical dependencies
31
Impediment (root) – Project Dependencies
Global distances Coordination
problems
Project outcomes
Coordination
mechanisms
Anh Nguyen Duc, Supporting coordination of software development across
organizational boundaries, Ph.D Thesis, IDI, NTNU, Jan, 2015
32
Impediment (cause) – Coordination
problems
Coordination Issues
Dispersions #
G T C O W
Decrease of communication frequency 10 0 0 2 1 13
Large communication network 11 0 0 0 0 11
Difficulty in finding relevant expertise/ Coordination
requirement
8 0 0 0 0 8
Lack of trust 2 0 1 0 0 3
Lack of team identity/ team awareness 2 0 0 1 0 3
Delay in communication and coordination 0 5 0 1 0 6
Difficulty in organizing task 0 4 0 1 1 6
Limited choice of communication mean 2 3 2 0 0 7
Developing informal communication 1 2 1 0 0 4
Misinterpretation of tasks 1 1 8 2 1 13
Extra coordination due to mismatches in goals,
perceived value
0 0 2 3 0 5
Extra coordination due to mismatches in
organizational structure
0 0 0 1 0 1
Extra coordination due to different local management
policy 0 1 1 1 2 5
Complicated communication and coordination paths 0 0 0 1 1 2
Difficulty in identifying role and responsibility 0 0 0 0 1 1
Total 37
1
6
1
5
1
1
8
Nguyen Duc Anh, Daniela S. Cruzes, Reidar Conradi: Dispersion, coordination and
performance in global software teams: a systematic review. ESEM 2012: 129-138
33
Supporting GSD
Collaboration
Communication
Coordination
34
Supporting GSD
Global distances Coordination
problems
Project outcomes
Coordination
mechanisms
• Architectural modularity
• Social media
• Version control system
• Frequent/ Continuous Delivery
• Bridge engineer
• Team building
• Temporal collocation
35
Supporting GSD
• Architectural modularity
– Organizations which design systems are constraint to the
product designs, which are copies of the communication
structure of these organizations (Melvin Conway, Datamation,
1968)
Frontend
Backend
Database
36
Supporting GSD
• Architectural modularity
37
Supporting GSD
• Architectural modularity
– Design team structure according to product architecture
• Location
• Role
• Authority
• Communication channel
– Adjust your product architecture according to team structure
• Microservice
• Modularity
• Branches
38
Supporting GSD
• Version control system
39
Supporting GSD
• Social media
– Informal communication mechanism
– Sense of belonging to a community
– Awareness of other’s presence
– Encourage curiosity and knowledge seeking
40
Supporting GSD
• Social media
41
Supporting GSD
• Frequent/ Continuous Delivery and Feedback
David Redmiles, André van der Hoek, Ban Al-Ani, Tobias Hildenbrand*, Stephen Quirk, Anita Sarma, Roberto
Silveira Silva Filho, Cleidson de Souza**, Erik Trainer, Continuous Coordination: A New Paradigm to Support
Globally Distributed Software Development Projects
42
Supporting GSD
• Bridge engineer
43
Supporting GSD
• Team building
• Temporal collocation
Tuckman, Bruce (1965). "Developmental sequence in small
groups". Psychological Bulletin 63 (6): 384–99
44
Prepare for the future …
• Proper adoption of communication tools
• Ability to establish a common language
• Tolerance of ambiguity and uncertainty
• Understand and use control version systems
• Time management skill
• Ability to think from the perspective of the other side
• Informal communication and improvisation skills
• Conflict management and resolution
45
Q&A

Mais conteúdo relacionado

Mais procurados

Software estimation
Software estimationSoftware estimation
Software estimation
Md Shakir
 
6 basic steps of software development process
6 basic steps of software development process6 basic steps of software development process
6 basic steps of software development process
Riant Soft
 
Quality attributes sadhana
Quality attributes sadhanaQuality attributes sadhana
Quality attributes sadhana
Sadhana28
 

Mais procurados (20)

Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolution
 
6 basic steps of software development process
6 basic steps of software development process6 basic steps of software development process
6 basic steps of software development process
 
Quality attributes sadhana
Quality attributes sadhanaQuality attributes sadhana
Quality attributes sadhana
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Sdlc
SdlcSdlc
Sdlc
 
Software engineering model
Software engineering modelSoftware engineering model
Software engineering model
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
McCall's Quality Factors
McCall's Quality FactorsMcCall's Quality Factors
McCall's Quality Factors
 
Mobile hci
Mobile hciMobile hci
Mobile hci
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Middleware
MiddlewareMiddleware
Middleware
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Capability Maturity Model Integration (CMMI)
Capability Maturity Model Integration (CMMI)Capability Maturity Model Integration (CMMI)
Capability Maturity Model Integration (CMMI)
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 

Destaque

Modeling a Global Software Development Project as a Complex Socio-Technical S...
Modeling a Global Software Development Project as a Complex Socio-Technical S...Modeling a Global Software Development Project as a Complex Socio-Technical S...
Modeling a Global Software Development Project as a Complex Socio-Technical S...
Ilia Bider
 
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding
Intland Software GmbH
 

Destaque (9)

Modeling a Global Software Development Project as a Complex Socio-Technical S...
Modeling a Global Software Development Project as a Complex Socio-Technical S...Modeling a Global Software Development Project as a Complex Socio-Technical S...
Modeling a Global Software Development Project as a Complex Socio-Technical S...
 
GSD
GSDGSD
GSD
 
Distributed Software Development in Brazil: A Historical Review
Distributed Software Development in Brazil: A Historical ReviewDistributed Software Development in Brazil: A Historical Review
Distributed Software Development in Brazil: A Historical Review
 
Global Software Development powered by Perforce
Global Software Development powered by PerforceGlobal Software Development powered by Perforce
Global Software Development powered by Perforce
 
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding
 
GSD24 Testing
GSD24 TestingGSD24 Testing
GSD24 Testing
 
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...Distributed Software Development Process, Initiatives and Key Factors: A Syst...
Distributed Software Development Process, Initiatives and Key Factors: A Syst...
 
Mapping GSD and PMBOK Guide
Mapping GSD and PMBOK GuideMapping GSD and PMBOK Guide
Mapping GSD and PMBOK Guide
 
Software testing
Software testingSoftware testing
Software testing
 

Semelhante a Introduction to Global Software Engineering TDT4140

Knowledge Management in Software Development
Knowledge Management in Software DevelopmentKnowledge Management in Software Development
Knowledge Management in Software Development
Karsten Jahn
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
Vladimir Kotov
 
Requirements engineering in global environment 2.0
Requirements engineering in global environment   2.0Requirements engineering in global environment   2.0
Requirements engineering in global environment 2.0
khush bakhat
 

Semelhante a Introduction to Global Software Engineering TDT4140 (20)

Introduction to the cooperation principles in software development - Part I
Introduction to the cooperation principles in software development - Part IIntroduction to the cooperation principles in software development - Part I
Introduction to the cooperation principles in software development - Part I
 
On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...On the role of boundary spanners as a team coordination mechanism in organisa...
On the role of boundary spanners as a team coordination mechanism in organisa...
 
Implementing Agile In Distributed Teams
Implementing Agile In Distributed TeamsImplementing Agile In Distributed Teams
Implementing Agile In Distributed Teams
 
Supporting team coordination of software development across multiple companies
Supporting team coordination of software development across multiple companiesSupporting team coordination of software development across multiple companies
Supporting team coordination of software development across multiple companies
 
Why is Open Source Important to Samsung and What Are We Doing About It?
Why is Open Source Important to Samsung and What Are We Doing About It?Why is Open Source Important to Samsung and What Are We Doing About It?
Why is Open Source Important to Samsung and What Are We Doing About It?
 
GHD iConnect - our intranet for the future
GHD iConnect - our intranet for the futureGHD iConnect - our intranet for the future
GHD iConnect - our intranet for the future
 
What's new in the latest source{d} releases!
What's new in the latest source{d} releases!What's new in the latest source{d} releases!
What's new in the latest source{d} releases!
 
CollabSphere 2020 - ANA101 - Domino Application Strategy Key insights for suc...
CollabSphere 2020 - ANA101 - Domino Application Strategy Key insights for suc...CollabSphere 2020 - ANA101 - Domino Application Strategy Key insights for suc...
CollabSphere 2020 - ANA101 - Domino Application Strategy Key insights for suc...
 
Disrupting the Disrupters #COMIT2017
Disrupting the Disrupters #COMIT2017Disrupting the Disrupters #COMIT2017
Disrupting the Disrupters #COMIT2017
 
Knowledge Management in Software Development
Knowledge Management in Software DevelopmentKnowledge Management in Software Development
Knowledge Management in Software Development
 
RNUG 2020: Domino Application Strategy: Key insights for successful moderniza...
RNUG 2020: Domino Application Strategy: Key insights for successful moderniza...RNUG 2020: Domino Application Strategy: Key insights for successful moderniza...
RNUG 2020: Domino Application Strategy: Key insights for successful moderniza...
 
Architecture Design Decisions and Group Decision Making
Architecture Design Decisions and Group Decision MakingArchitecture Design Decisions and Group Decision Making
Architecture Design Decisions and Group Decision Making
 
IT Governance & Management in Healthcare Organizations: Part 1 (October 19, 2...
IT Governance & Management in Healthcare Organizations: Part 1 (October 19, 2...IT Governance & Management in Healthcare Organizations: Part 1 (October 19, 2...
IT Governance & Management in Healthcare Organizations: Part 1 (October 19, 2...
 
Open Source Rookies and Community
Open Source Rookies and CommunityOpen Source Rookies and Community
Open Source Rookies and Community
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
 
Information Technology Management in Healthcare Organizations: Part 1 (Octobe...
Information Technology Management in Healthcare Organizations: Part 1 (Octobe...Information Technology Management in Healthcare Organizations: Part 1 (Octobe...
Information Technology Management in Healthcare Organizations: Part 1 (Octobe...
 
CollabSphere 2019 - DEV106 - Domino Application Strategy: Key insights for su...
CollabSphere 2019 - DEV106 - Domino Application Strategy: Key insights for su...CollabSphere 2019 - DEV106 - Domino Application Strategy: Key insights for su...
CollabSphere 2019 - DEV106 - Domino Application Strategy: Key insights for su...
 
Interdisciplinary Processes at the Digital Repository of Ireland
Interdisciplinary Processes at the Digital Repository of IrelandInterdisciplinary Processes at the Digital Repository of Ireland
Interdisciplinary Processes at the Digital Repository of Ireland
 
A Hybrid Approach to Data Science Project Management
A Hybrid Approach to Data Science Project ManagementA Hybrid Approach to Data Science Project Management
A Hybrid Approach to Data Science Project Management
 
Requirements engineering in global environment 2.0
Requirements engineering in global environment   2.0Requirements engineering in global environment   2.0
Requirements engineering in global environment 2.0
 

Mais de Anh Nguyen Duc

Impact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic reviewImpact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic review
Anh Nguyen Duc
 
Dispersion, coordination and performance in GSD: a systematic review
Dispersion, coordination and performance in GSD: a systematic reviewDispersion, coordination and performance in GSD: a systematic review
Dispersion, coordination and performance in GSD: a systematic review
Anh Nguyen Duc
 
Supporting team coordination across organizational boundary in GSD
Supporting team coordination across organizational boundary in GSDSupporting team coordination across organizational boundary in GSD
Supporting team coordination across organizational boundary in GSD
Anh Nguyen Duc
 

Mais de Anh Nguyen Duc (10)

Software Startup Engineering: A Systematic Mapping Study
Software Startup Engineering: A Systematic Mapping StudySoftware Startup Engineering: A Systematic Mapping Study
Software Startup Engineering: A Systematic Mapping Study
 
A preliminary study of agility in business and production – Cases of early-s...
A preliminary study of agility in business and production –  Cases of early-s...A preliminary study of agility in business and production –  Cases of early-s...
A preliminary study of agility in business and production – Cases of early-s...
 
Achieving product market fit in startup context - The-state-of-practices and ...
Achieving product market fit in startup context - The-state-of-practices and ...Achieving product market fit in startup context - The-state-of-practices and ...
Achieving product market fit in startup context - The-state-of-practices and ...
 
Sharing economy and Vietnam startup prospect (Kinh tế chia sẻ và cơ hội khởi ...
Sharing economy and Vietnam startup prospect (Kinh tế chia sẻ và cơ hội khởi ...Sharing economy and Vietnam startup prospect (Kinh tế chia sẻ và cơ hội khởi ...
Sharing economy and Vietnam startup prospect (Kinh tế chia sẻ và cơ hội khởi ...
 
Application of economic model in software maintenance
Application of economic model in software maintenanceApplication of economic model in software maintenance
Application of economic model in software maintenance
 
Coordination of software development teams across organizational boundary – A...
Coordination of software development teams across organizational boundary – A...Coordination of software development teams across organizational boundary – A...
Coordination of software development teams across organizational boundary – A...
 
Forking and coordination in multi-platform development
Forking and coordination in multi-platform developmentForking and coordination in multi-platform development
Forking and coordination in multi-platform development
 
Impact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic reviewImpact of design complexity on software quality - A systematic review
Impact of design complexity on software quality - A systematic review
 
Dispersion, coordination and performance in GSD: a systematic review
Dispersion, coordination and performance in GSD: a systematic reviewDispersion, coordination and performance in GSD: a systematic review
Dispersion, coordination and performance in GSD: a systematic review
 
Supporting team coordination across organizational boundary in GSD
Supporting team coordination across organizational boundary in GSDSupporting team coordination across organizational boundary in GSD
Supporting team coordination across organizational boundary in GSD
 

Último

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Último (20)

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 

Introduction to Global Software Engineering TDT4140

  • 1. Introduction to Global Software Development Anh Nguyen Duc 7th April, 2016 TDT4140
  • 2. 2 To start with … • A 229-second clip about Global Software Development
  • 3. 3 Agenda • Motivation – the What, Who and Why ? • The-state-of-practice outsourcing industry • Taxonomies • Five types of global distances • Impediments to global team coordination • Supporting mechanisms • For a future global software engineer • Exam candidate questions
  • 4. 4 A Global Software Engineer…
  • 5. 5 Motivation – what is GSD? • 1970s … contract programming • 1990s … mainstream GSD • 2000 … first research on global software development Global software development (GSD)
  • 6. 6 Motivation – what is GSD? globally distributed development, in particular from a project management perspective, is considerably more challenging than even the most complex project managed entirely in house
  • 7. 7 Motivation – Who is doing GSD?
  • 8. 8 Total outsourcing industry market size $952 Billion www.hfsresearch.com/report/state-outsourcing-industry-2013-executive-findings
  • 9. 9 Motivation – Why to do GSD? (1) Cost!
  • 10. 10 Motivation – Why to do GSD? (2) Productivity • Faster and better services • Head count reduction • Scalability • Leverage business and technology expertise Pär J. Ågerfalk, Brian Fitzgerald, Helena Holmström Olsson, Eoin Ó Conchúir: Benefits of Global Software Development: The Known and Unknown. ICSP 2008: 1- 9
  • 11. 11 Motivation – Why to do GSD? (3) OECD 2015, Education Indicators in Focus
  • 12. 12 Motivation – Why to do GSD? (4) Strategic movement • To access the global talent pool • Focus on core business area • Risk sharing • Proximity to market Pär J. Ågerfalk, Brian Fitzgerald, Helena Holmström Olsson, Eoin Ó Conchúir: Benefits of Global Software Development: The Known and Unknown. ICSP 2008: 1- 9
  • 13. 13 Motivation – Why to do GSD? (5) Why is global distributed development? • To save development cost • To reduce development cost • To reduce the time to market • To access the global talent pool • Focus on core business area • Leverage business and technology expertise • Faster and better services • Risk sharing • Proximity to market • Head count reduction • Scalability
  • 14. 14 The-state-of-practice Deloitte’s 2014 Global Outsourcing and Insourcing Survey
  • 15. 15 The-state-of-practice Deloitte’s 2014 Global Outsourcing and Insourcing Survey
  • 16. 16 The-state-of-practice Darja Šmite & Claes Wohlin & Tony Gorschek & Robert Feldt, Empirical evidence in global software engineering: a systematic review, Empir Software Eng (2010) 15:91–118
  • 17. 17 Taxonomies • Outsourcing vs. Insourcing • Offshore vs. onshore • Nearshore vs. Farshore • Crowdsourcing – Crowd and outsourcing • Open sourcing - Volunteer • Freelancer - Individual
  • 18. 18 Taxonomies Darja Smite, Claes Wohlin, Zane Galvina, Rafael Prikladnicki: An empirically based terminology and taxonomy for global software engineering. Empirical Software Engineering 19(1): 105-153 (2014)
  • 19. 19 Five distances of GSD Geography Timezone Cutural Work process Organization
  • 20. 20 Five distances (1) – Geography
  • 21. 21 Five distances (2) – Timezone
  • 22. 22 Five distances (3) – Cultural • Cultural is blueprint for action • A cultural group can be understood through the groups’ rituals, customs and values • Cutural blindness occurs when we don’t accept or perceive other’s behaviors that are guided by their culture
  • 23. 23 Five distances (3) – Cultural
  • 24. 24 Five distances (3) – Cultural https://geert-hofstede.com/countries.html
  • 25. 25 Five distances (4) – Work process
  • 26. 26 Five distances (4) – Work process
  • 27. 27 Five distances (5) – Organization
  • 28. 28 Five distances (5) – Organization • Distances in regulations, goals, objectives between organizations • Boundaries provide control – efficiency are derived from this control Team Department Company
  • 29. 29 Impediment (root) – Project Dependencies Nguyen Duc Anh, Daniela S. Cruzes: Coordination of Software Development Teams across Organizational Boundary - An Exploratory Study. ICGSE 2013: 216-225
  • 30. 30 Impediment (root) – Project Dependencies http://www.adamtornhill.com/articles/socialside/socialsideofcode.htm Social – technical dependencies
  • 31. 31 Impediment (root) – Project Dependencies Global distances Coordination problems Project outcomes Coordination mechanisms Anh Nguyen Duc, Supporting coordination of software development across organizational boundaries, Ph.D Thesis, IDI, NTNU, Jan, 2015
  • 32. 32 Impediment (cause) – Coordination problems Coordination Issues Dispersions # G T C O W Decrease of communication frequency 10 0 0 2 1 13 Large communication network 11 0 0 0 0 11 Difficulty in finding relevant expertise/ Coordination requirement 8 0 0 0 0 8 Lack of trust 2 0 1 0 0 3 Lack of team identity/ team awareness 2 0 0 1 0 3 Delay in communication and coordination 0 5 0 1 0 6 Difficulty in organizing task 0 4 0 1 1 6 Limited choice of communication mean 2 3 2 0 0 7 Developing informal communication 1 2 1 0 0 4 Misinterpretation of tasks 1 1 8 2 1 13 Extra coordination due to mismatches in goals, perceived value 0 0 2 3 0 5 Extra coordination due to mismatches in organizational structure 0 0 0 1 0 1 Extra coordination due to different local management policy 0 1 1 1 2 5 Complicated communication and coordination paths 0 0 0 1 1 2 Difficulty in identifying role and responsibility 0 0 0 0 1 1 Total 37 1 6 1 5 1 1 8 Nguyen Duc Anh, Daniela S. Cruzes, Reidar Conradi: Dispersion, coordination and performance in global software teams: a systematic review. ESEM 2012: 129-138
  • 34. 34 Supporting GSD Global distances Coordination problems Project outcomes Coordination mechanisms • Architectural modularity • Social media • Version control system • Frequent/ Continuous Delivery • Bridge engineer • Team building • Temporal collocation
  • 35. 35 Supporting GSD • Architectural modularity – Organizations which design systems are constraint to the product designs, which are copies of the communication structure of these organizations (Melvin Conway, Datamation, 1968) Frontend Backend Database
  • 37. 37 Supporting GSD • Architectural modularity – Design team structure according to product architecture • Location • Role • Authority • Communication channel – Adjust your product architecture according to team structure • Microservice • Modularity • Branches
  • 39. 39 Supporting GSD • Social media – Informal communication mechanism – Sense of belonging to a community – Awareness of other’s presence – Encourage curiosity and knowledge seeking
  • 41. 41 Supporting GSD • Frequent/ Continuous Delivery and Feedback David Redmiles, André van der Hoek, Ban Al-Ani, Tobias Hildenbrand*, Stephen Quirk, Anita Sarma, Roberto Silveira Silva Filho, Cleidson de Souza**, Erik Trainer, Continuous Coordination: A New Paradigm to Support Globally Distributed Software Development Projects
  • 43. 43 Supporting GSD • Team building • Temporal collocation Tuckman, Bruce (1965). "Developmental sequence in small groups". Psychological Bulletin 63 (6): 384–99
  • 44. 44 Prepare for the future … • Proper adoption of communication tools • Ability to establish a common language • Tolerance of ambiguity and uncertainty • Understand and use control version systems • Time management skill • Ability to think from the perspective of the other side • Informal communication and improvisation skills • Conflict management and resolution

Notas do Editor

  1. I have two news for you today. Pekka is not here today. And Juhani and I will be responsible for the class. The bad news is that he is in the airport and might get back in one hour. The topic of today is GSD. You might know about this phenomemon as, Globally distributed software development, distributed software projects, global team . Or you might be more familiar with Outsourcing. I spent four years of my life to research Global Software Development. What is the problem? How we can support it. The biggest lesson I have learnt is that you don’t need a PhD degree to be
  2. You ended up spending a lot of time talking to your colleagues in other side of the world
  3. globalization of the world economies brought significant changes to nearly all industries, and in particular it includes software development. The concept of global software engineering (GSE) originates from contract programming, which was a form of outsourcing known from the 1970s, GSE addresses software engineering activities performed by globally distributed teams. Not only coding, … Software development became global in the 1990s as a consequence of the PC revolution (Carmel 1999) and sequential problems of tight budgets, shortage of resources and time motivated many companies to start looking for partners or to set up development sites in different countries. As an outcome of this evolution, many companies built joint ventures and relocated their development centers to low-cost countries.
  4. However, soon practitioners started to realize that globally distributed development, in particular from a project management perspective, is considerably more challenging than even the most complex project managed entirely in house (Karolak 1998).
  5. Happen in all segment of business, startup, medium size to cooperation. Microsoft: The Seattle-based tech giant is one of the biggest names to have embraced outsourcing. Microsoft also outsources jobs that most people believe to be exclusive to in-house employees, such as software architect, software testing engineer, and management positions in R & D. Microsoft also outsources patent filing work, with over 100 full time outsourced positions needed to handle around 2500 patent filings in a year. AT&T Inc. is one of the consistent providers of outsourced work in the U.S. As the second largest mobile service provider in the country, The kind of positions they outsource tend to be the typical jobs normally associated with call center work, such as tech support, customer assistance, and billing. Google If they’re willing to outsource such a crucial part of their operations (the ad network accounts for the majority of their revenue), it is not far fetched to think that they’re also sending a lot of low level IT positions or jobs Github: The company has used many people who did their development work from home or from other remote locations. Today, over 10 million people use GitHub and it is the largest code host.  Slack: This company is valued at nearly $3 billion, but in its earliest days, they used outsourced workforce to develop its solution.  Skype: they used a team of developers based in Estonia to help build out their business
  6. grow at 5-8% per year manufacturers outsource 70% to 80% of the content of their finished products. Large companies commonly outsource half of their IT operations. Organizations outsource their entire back office operations, including human resources, payroll and accounting GSD is the fact that you need to live with. It seems not a choice when you want to work in an international company. It is also the case when you want to start your company with a tiny budget.
  7. Cost saving Development cost Maintenance cost Operationalization cost A standard web app, front end with html 5, backend in cloud We are not saying about UX or any advanced algorithms, I got this graph from a website in the internet. I am not 100% sure about the accuracy of all the number, but for countries nearby my hometown So it is a good reference.
  8. … for indian this will be the 40 or 50th web apps to develop. They know by heart how to make it … In my case, tough learning curve esp. after your phd. Not a single organization can stay gloriously in the whole lifetime. To able to be responsible for the same work, CEO requests helps from a friend who running an outsourcing services. They can sign a borrowing contract to . In the other phase, when your company gets larger and large. The workload is surely
  9. The world is living through one of its most extraordinary revolutions, with game-changing implications, many of them still unknown. The growth rate of adults with tertiary education qualifications, and the knowledge and skills associated with them, has never been higher. Still, the map of the global distribution of the tertiary graduates looks very different from the map of academic excellence, at least as measured by the established global rankings of universities
  10. In investing, it’s best to diversify your portfolio rather than put all your money in one stock. By spreading your risk, you reduce your total risk.
  11. Deloitte surveyed 140 companies in nearly 30 different countries, on specific dimensions representing changes affecting the outsourcing industry. These categories included: regulation and legislation, functions and services, geography, and innovation and technology. Based on the results of the questionnaire, the following key trends emerged: The last two decades have seen a significant rise in offshoring to external service providers. The driver for this trend has been largely economic, since offshoring often offers more competitive price points for the same service levels. Beyond cost savings, companies often also use outsourcing to support their strategy — in this case the choice of focusing on core, strategic competencies and relying on a global network of external service providers to perform less strategic functions. In recent years we have witnessed a small but growing reversal of this trend where companies that have previously offshored functions are bringing them back to their home country (also known as “onshoring”).1 Based on the results of the 2014 Survey, a significant majority of respondents have not and do not plan to move work from offshore locations back to their domicile country locations. Those in the minority, who do plan to move things back onshore, cited supplier performance and inability to achieve cost targets as the primary drivers for reverting or pursuing an alternative sourcing strategy. Only 16% of respondents have moved work back to their home country. • Most of the respondents who have moved work back to the home country have done so due to offshore supplier performance. • Government incentives provide less motivation for respondents to move work back to their home country than other driving factors.
  12. End of the first 16 minutes.
  13. Outsourcing: involves the contracting out of a business process to another party Insourcing: performing a business function that could be contracted out internall Offshore involves relocation of a business process from one country to another Crowdsourcing: the process of obtaining needed services, ideas, or content by soliciting contributions from a large group of people, and especially from an online community, crowdsourcing is distinguished from outsourcing in particular for a number of reasons; including that the work may come from an undefined public, rather than being commissioned from a specific, named group, Freelancer - a person who is self-employed and is not necessarily committed to a particular employer long-term.
  14. Geographical dispersion occurs when project members are located in different physical places, from where it is not possible for them to perform direct communication since they do not work in the same room Physical face to face Problem of travelling and site visiting. Vast geographical distances imply the difficulty of re-locating to another of the company’s sites, and not being able to stroll over to a colleague’s desk to chat about an implementation issue. a reduced sense of accountability, commitment and partnership inherent in the long distance relationship,
  15. Temporal distance across multiple time zones reduces the number of overlapping working hours, forcing a heavier reliance on asynchronous communication technologies. Temporal dispersion occurs when there is a difference in working time among the distributed team members Management of project artifacts may be subject to delays Good site is follow the sun strategy
  16. GSD requires close cooperation of indi- viduals with different cultural backgrounds. CulturalDistance.A country’s cultural attributes determine how people interact with each other. Some cultural attributes, like language, are easily perceived and understood. Others are much more subtle. Social norms, the deeply rooted system of unspoken principles that guide individuals in their everyday choices and interactions, are often nearly invisible, even to the people who abide by them. Americans are task-oriented. It’s about getting the work done. You don’t need to like your co-workers or have personal relationships with them as long as you all get the work done on time together," Tolbert says. "India is a more relationship-based culture, in which they will do business with someone they trust without a contract. That seems appalling to litigious Americans who assume you can’t trust the person, but if they adhere to the contract you can work with them."
  17. Power distance: the extent to which the less powerful team members accept unequal distribution of power. A higher degree of the Index indicates that hierarchy is clearly established and executed without doubt or reason. Individualism: belongness to a group. emphasize the “I” versus the “we. In feminine societies, woman share modest and caring views equally with men. In more masculine societies, women are more emphatic and competitive, but notably less emphatic than the men. Uncertainty avoidance is the tolreance for ambiguity A lower degree of this index (short-term) indicates that traditions are honored and kept, while steadfastness is valued. Societies with a high degree in this index (long-term) views adaptation and circumstantial, pragmatic problem-solving as a necessity. Indulgence :This dimension is essentially a measure of happiness; whether or not simple joys are fulfilled
  18. Socio-cultural distance arises from the different national and organizational backgrounds of the people involved and exacerbates communication breakdown.
  19. Work dispersion is conceptually referred as (1) variations in the engineering process, (2) differences in task and expertise distribution across locations, (3) differences in the work environment, tools and (4) development practices. Varierty of software development process.
  20. Even pushing a share is not enough There are lack of common process about acceptance procedures of mutual deliveries, escalation mechanisms, lack of clearly assigned responsibilities and lack of central control of integration [18]. Prikladnicki et al. showed that the software development process variation is more severe in offshore outsourcing projects than in internal offshoring projects
  21. Organizational dispersion occurs when a team consists of members from different organizations or independent organizational units (Knobben and Oerlemans 2006). Organizational dispersion occurs when (1) a team consists of members from different organizations or independent organizational units; (2) there are differences in the objectives and development strategy among organizational units; (3) there are differences in organizational structure across projects; and (4) existence of different responsibility sharing and team identity.
  22. collaboration policy, organization structure, engineering process, development practice and tool adoption negatively influence technical coordination among project stakeholders.
  23. Software complexity can be traced back to the technical dependencies among software components. Traditional software measures have captured logical and syntactic dependencies by measures of e.g., cyclomatic complexity, cohesion and coupling (McCabe 1976; Chidamber and Kemerer 1994). The failure to recognize these dependencies comes from not only the technical nature of the software components, but also the way they are developed. Besides the technical dependencies, the relationship among developers and between developers and software components can create other types of dependencies, such as technical dependencies, knowledge dependencies, process dependencies, and organizational dependencies: Technical dependencies occur when different developers work on the same module in the same period of time Knowledge dependencies occur when a developer relies on expertise of others (colleagues, customers or testers) to work on technical tasks that are responsible by others Process dependencies happen when developers depend on their configuration management systems, the embodiment of their tools and practices; or when collaboration between two teams in different development phases, or different release cycles Organizational dependencies are when a functional team depends on another, such as a dependency between a development team and a system test team.
  24. Software complexity can be traced back to the technical dependencies among software components. Traditional software measures have captured logical and syntactic dependencies by measures of e.g., cyclomatic complexity, cohesion and coupling (McCabe 1976; Chidamber and Kemerer 1994). The failure to recognize these dependencies comes from not only the technical nature of the software components, but also the way they are developed. Besides the technical dependencies, the relationship among developers and between developers and software components can create other types of dependencies, such as technical dependencies, knowledge dependencies, process dependencies, and organizational dependencies: Technical dependencies occur when different developers work on the same module in the same period of time Knowledge dependencies occur when a developer relies on expertise of others (colleagues, customers or testers) to work on technical tasks that are responsible by others Process dependencies happen when developers depend on their configuration management systems, the embodiment of their tools and practices; or when collaboration between two teams in different development phases, or different release cycles Organizational dependencies are when a functional team depends on another, such as a dependency between a development team and a system test team.
  25. The hypothesis is that the impact of global distances did not directly come to project outcomes variales like quality or … but to. … Coordination mechanism will
  26. Coordination breakdowns occur when coordination needs are not satisfied in a right time and right manner. It is recognized when a decision about coordination of team members leads to development problems. Large and complex dependency network: many stakeholders from different sites (Nidumolu 1995), which creates a larger dependency and communication network than in collocated projects Delay in communication and coordination: communication and information exchange take longer time in GSD than in collocated projects (Nidumolu 1995, Damian 2007); Limited choice of coordination mechanism: distances among sites disable team coordination in face-to-face manner (Darja et al. 2008) Difficulty in identifying coordination requirements: identification of people who are technically inter-dependent is difficult (Damian and Zowghi 2003, Cataldo, Bass et al. 2007) Difficulty in scheduling tasks: the involvement of many sites across geographical locations and time zones makes scheduling common meetings difficult (Espinosa, Cummings, et al. 2011) Lack of team awareness: GSD project team members are often unaware of tasks and activities of other developers from remote sites (Cataldo, Wagstrom, et al. 2006, Damian, Izquierdo, et al. 2007) Misinterpretation: team members can misunderstand each other working in different environments and contextual information is not sufficiently given (Holmström and Conchúir 2006, Boden, Avram, et al. 2012);
  27. Collaboration–are 2 or more people working to achieve a common goal. The activities can be done together or separately, but usually the fence between activities is fluid and dynamic. Coordination – is again 2 or more people working to achieve a common goal. However, the activities are siloed either into small distinct groups or to individuals. Only when pieces are “ready” are their individual pieces brought together and coordinated to fit into a new whole.
  28. It is not just a good idea, it is a law For example, if a development team is set up with a SQL database specialist, a JavaScript/CSS developer and a C# developer you they will produce a system with three tiers: a database with stored procedures, a business middle tier and a UI tier. This design will be applied whether it is the best or not. Netflix and Amazon for example structure themselves around multiple small teams, each one with responsibility for a small part of the overall system. These independent teams can own the whole lifecycle of the services they create, affording them a greater degree of autonomy than is possible for larger teams with more monolithic codebases. Group Belonging One of the main reasons for why people decide to connect with others on social media channels is to have a sense of belonging to a community Social networking sites are the new form of social interaction and they fulfill users’ need for companionship and emotional support (Baek et al., 2011). By joining these sites and creating networks of friends, people can interact with more people than what is possible in real life. Social networking sites fulfill users’ need for keeping in touch with friends, staying updated on community events, and maintaining offline connections (Baek et al., 2011). A second social mechanism behind social media is curiosity and knowledge seeking. According to Perlovsky et al. (2010) acquisition of knowledge is a deeply rooted psychological need, a motivational mechanism for perception as well as higher cognition. This means that gaining knowledge is emotionally pleasing and people get satisfaction from their curious behavior. Go against it and you’ll get a mess
  29. It is not just a good idea, it is a law Group Belonging One of the main reasons for why people decide to connect with others on social media channels is to have a sense of belonging to a community Social networking sites are the new form of social interaction and they fulfill users’ need for companionship and emotional support (Baek et al., 2011). By joining these sites and creating networks of friends, people can interact with more people than what is possible in real life. Social networking sites fulfill users’ need for keeping in touch with friends, staying updated on community events, and maintaining offline connections (Baek et al., 2011). A second social mechanism behind social media is curiosity and knowledge seeking. According to Perlovsky et al. (2010) acquisition of knowledge is a deeply rooted psychological need, a motivational mechanism for perception as well as higher cognition. This means that gaining knowledge is emotionally pleasing and people get satisfaction from their curious behavior. Go against it and you’ll get a mess
  30. SVN adopts a centralized architecture, in which a single central server hosts all project meta- data. Developers use SVN clients to check out a limited view of the data on their local machines. Today, several systems are using distributed ver- sion control that operates in a peer-to-peer manner. Examples include Git (www.git-scm.com), Mer- curial (http://mercurial.selenic.com), and Darcs (www.darcs.net). Unlike centralized tools that let developers check out a project from a distributed version-control system, the peer-to-peer systems provide a complete clone of the project’s repository (called a fork) on local machines, not a just a por- tion of it. Distributed revision control takes a peer-to-peer approach to version control, as opposed to the client-server approach of centralized systems. Rather than a single, central repository on which clients synchronize, each peer's working copy of the codebase is a complete repository.[1] Distributed revision control synchronizes repositories by exchanging patches (sets of changes) from peer to peer. No canonical, reference copy of the codebase exists by default; only working copies. Common operations (such as commits, viewing history, and reverting changes) are fast, because there is no need to communicate with a central server.[2] Communication is only necessary when sharing changes among other peers. Each working copy effectively functions as a remote backup of the codebase and of its change-history, protecting against data loss.[2] Numerous different development models are possible, such as development / release branches or a Commander / Lieutenant model, allowing for efficient delegation of topical developments in very large projects.[3] Lieutenants are project members who have the power to dynamically decide which branches to merge. DVCS proponents point to several advantages of distributed version control systems over the traditional centralised model: Allows users to work productively when not connected to a network. Makes most operations much faster. Allows participation in projects without requiring permissions from project authorities, and thus arguably better fosters culture ofmeritocracy[citation needed] instead of requiring "committer" status. Allows private work, so users can use their changes even for early drafts they do not want to publish. Avoids relying on one physical machine as a single point of failure. Permits centralized control of the "release version" of the project On FLOSS software projects it is much easier to create a project fork from a project that is stalled because of leadership conflicts or design disagreements.
  31. Group Belonging One of the main reasons for why people decide to connect with others on social media channels is to have a sense of belonging to a community Social networking sites are the new form of social interaction and they fulfill users’ need for companionship and emotional support (Baek et al., 2011). By joining these sites and creating networks of friends, people can interact with more people than what is possible in real life. Social networking sites fulfill users’ need for keeping in touch with friends, staying updated on community events, and maintaining offline connections (Baek et al., 2011). A second social mechanism behind social media is curiosity and knowledge seeking. According to Perlovsky et al. (2010) acquisition of knowledge is a deeply rooted psychological need, a motivational mechanism for perception as well as higher cognition. This means that gaining knowledge is emotionally pleasing and people get satisfaction from their curious behavior.
  32. Case Study at Rosemount Tank Radar AB
  33. Human factor is as important as practice and process in software development.
  34. Forming Stage In this stage team members are introduced.  The program manager needs to state why they were chosen and what they will accomplish for the team.  This is a good time to lay out the mission, vision and goals of the team. This is a stage of transition from individual to team member status, and of testing the leader’s guidance both formally and informally. Storming Phase This is the phase when a group becomes a team. During this phase most members have their own ideas as to how the process should look and personal agendas are often rampant.  Storming is probably the most difficult stage for the team and the program manager to control.  They begin to realize the tasks ahead of them are different and more difficult than they previously imagined.  They also get impatient about the lack of progress and members argue about what actions the team should take.  They try to rely solely on their personal and professional experience and resist collaborating with other team members.  Norming Phase This phase is when the team reaches a consensus on the “To-Be” process.  Enthusiasm is high, and the team is often tempted to go beyond the original scope of the process which a program manager must prevent.  During this stage, members reconcile competing loyalties and responsibilities.  They accept the team, ground rules, controls, roles and the individuality of fellow members.  Emotional conflict is reduced as previously competitive relationships become more cooperative.   Performing Phase In this phase the team has primarily settled its relationships and expectations.  They can begin performing by diagnosing, problem solving, and implementing changes.  At last, team members have discovered and accepted other’s strengths and weakness.  In addition, they have learned what their roles are.