We may earn an affiliate commission when you visit our partners.
Course image
Rini van Solingen

Software engineering operates ever more frequently in globally distributed settings, in a practice that is known as Globally Distributed Software Engineering (GDSE). In this course, you will obtain a practical overview of the organization and operation of software engineering of this practice. As such, it is aimed at professionals in distributed global software development teams, and executives setting up and leading such teams who would like to develop the required technical and organizational skills.

Read more

Software engineering operates ever more frequently in globally distributed settings, in a practice that is known as Globally Distributed Software Engineering (GDSE). In this course, you will obtain a practical overview of the organization and operation of software engineering of this practice. As such, it is aimed at professionals in distributed global software development teams, and executives setting up and leading such teams who would like to develop the required technical and organizational skills.

The course covers the subject in an accessible and practical manner. Through video lectures, group assignments and exercises, you will be familiarized with the advantages and disadvantages of GDSE, the practical consequences of GDSE and its technological feasibilities and infeasibilities. You will learn about real-world experiences of users and examples of GDSE applications such as outsourcing, offshore software development, near-shoring and multi-partner systems development.

As a verified learner, in addition to the free-practice quizzes found throughout the course, you will also gain access to a midterm and final test.

Guest lectures from industry experts and researchers will be an integral part of the course. These lectures will demonstrate how GDSE is handled in industry, how decision-makers lead their teams in this context, and what is the state-of-the-art in GDSE research. The course consists of seven main topics:

  1. Globally Distributed Software Engineering
  2. Distributed Agile
  3. The Software Engineer and GDSE
  4. Boardroom: C-level Decision-Making
  5. Offshoring and GDSE Research
  6. Time and Cultural Differences

Three deals to help you save

What's inside

Learning objectives

  • To understand the main constructs of globally distributed software engineering theory.
  • How to apply the principles of globally distributed software engineering in your own company’s practice.
  • To identify the main concepts in decision-making and leadership roles in a globally distributed context.

Syllabus

Each topic is explained by two guest lecturers from industry or academia. Guest lecturers include, among others:
Emiel Romein - Software Development Manager at Exact Online.
Read more
Eelco Rustenburg - Senior trainer at Gladwell Academy and partner of Blinklane Consulting.
Jeff Sutherland - the inventor and co-creator of Scrum.
Suzanne Kelder – Executive Coach at KPN and former CIO of Base Company.
Svenja de Vos – CTO at Leaseweb.
Darja Šmite - Professor at Blekinge Institute of Technology and a part-time research scientist at SINTEF ICT.
Erik Ammerlaan - Software Engineer at Exact.
Prajeesh Prathap - Delivery Engineer and expert for DevOps, Continuous Delivery and Application Lifecycle Management at InfoSupport.
Dianne Elsinga - Global Team Expert at Prowareness.
Maran Gunasekaran - Security consultant at Prowareness, Bangalore, India.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Emphasizes practical application of GDSE principles, including its advantages, disadvantages, and technological implications, catering to practitioners in distributed software development and executives leading such teams
Covers various aspects of GDSE, from distributed Agile to offshoring and cultural differences, providing a comprehensive overview of the topic
Features guest lectures from industry experts and researchers, offering real-world insights and state-of-the-art research on GDSE
Involves group assignments and exercises, promoting collaboration and practical application of GDSE concepts
Requires a solid understanding of software engineering concepts and practices prior to enrollment

Save this course

Save Global Software Development to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Global Software Development with these activities:
Join a GDSE Study Group
Engage with fellow learners to discuss and share experiences related to GDSE, enhancing your understanding and network.
Show steps
  • Join an online forum or LinkedIn group dedicated to GDSE
  • Participate in regular discussions, sharing insights and learning from others
Read 'Global Software Development: Best Practices and Case Studies'
This book provides an in-depth overview of the challenges and best practices of GDSE, helping you understand the principles and complexities of this approach.
View Rapid Development on Amazon
Show steps
  • Read Chapter 1-5 to understand the key concepts of GDSE
  • Review the case studies in Chapter 6-8 to gain insights from real-world examples
Practice Agile Development in a Distributed Environment
Reinforce your understanding of Agile principles and practices in a distributed setting by actively participating in simulated scenarios.
Show steps
  • Join an online Agile team simulation platform
  • Participate in sprint planning, stand-up meetings, and retrospectives
  • Practice using distributed communication and collaboration tools
Three other activities
Expand to see all activities and additional details
Show all six activities
Attend a GDSE Industry Workshop
Gain insights and connect with industry professionals by attending a workshop specifically focused on GDSE.
Show steps
  • Research upcoming GDSE-related workshops and conferences
  • Register and attend the workshop, engaging with speakers and attendees
Contribute to an Open-Source GDSE Project
Gain practical experience by participating in an open-source project that focuses on GDSE, contributing to the broader software development community.
Browse courses on Open-Source Software
Show steps
  • Identify a suitable open-source project related to GDSE
  • Join the project community, understand its goals, and identify potential areas of contribution
  • Make contributions by writing code, submitting bug reports, or helping with documentation
Develop a Case Study on a GDSE Implementation
Reinforce your understanding by analyzing and documenting a real-world GDSE implementation, showcasing the challenges, strategies, and outcomes.
Browse courses on Case Study Analysis
Show steps
  • Identify a GDSE project that you would like to study
  • Reach out to the project stakeholders and request their permission to conduct your research
  • Conduct interviews, gather data, and analyze the project's GDSE implementation

Career center

Learners who complete Global Software Development will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers apply the principles of software engineering to the design, development, maintenance, testing, and evaluation of computer software. They may work on a variety of projects, ranging from small personal applications to large enterprise systems. An understanding of GDSE may be useful as this course covers the subject in an accessible and practical manner. By taking this course, you may learn about real-world experiences of users and examples of GDSE applications. Additionally, you can expect to gain insights into what leading teams in a GDSE context requires.
Software Developer
A Software Developer engages in the design, development, and testing of software systems. You may work alongside Software Architects and other Engineers to transform architectural concepts into reality. This course could be helpful in building a foundation in globally distributed software engineering (GDSE). Understanding GDSE's main principles may be advantageous for landing opportunities in this field. By enrolling in this course, you can expect to refine your ability to apply these principles to a company’s software development practices. You can also gain a competitive edge in the job market.
Enterprise Architect
An Enterprise Architect is responsible for designing and implementing IT systems to meet the needs of a business. They may work with a variety of stakeholders, including business leaders, IT staff, and customers. This course can be useful as having an understanding of the constructs of globally distributed software engineering theory, as well as how to apply principles of GDSE in your company’s practice could provide you with a competitive advantage. Furthermore, this course can help you identify the main concepts in decision-making and leadership roles in a globally distributed context.
IT Project Manager
An IT Project Manager is responsible for planning, executing, and closing IT projects. They may work on a variety of projects, ranging from small software development projects to large-scale infrastructure implementations. Knowledge of GDSE can be useful because this course can provide you with practical overview of the organization and operation of software engineering of GDSE. By taking this course, you can expect to become familiarized with the advantages and disadvantages of GDSE, the practical consequences of GDSE and its technological feasibilities and infeasibilities.
Program Manager
A Program Manager is responsible for planning, executing, and closing programs that are typically composed of multiple projects. They may work in a variety of industries, including technology, healthcare, and finance. This course may be useful as you will obtain a practical overview of the organization and operation of software engineering of GDSE. Furthermore, you will learn about real-world experiences of users and examples of GDSE applications such as outsourcing, offshore software development, near-shoring and multi-partner systems development.
Agile Coach
An Agile Coach is responsible for helping teams to adopt and implement agile practices. They may work with teams of all sizes and in a variety of industries. This course may be useful as you will cover the topic of Distributed Agile. As an Agile Coach, you can expect to learn how to apply the principles of globally distributed software engineering in your own company’s practice.
DevOps Engineer
A DevOps Engineer is responsible for bridging the gap between development and operations teams. They may work on a variety of projects, ranging from small software development projects to large-scale infrastructure implementations. You may find this course useful as you will learn about real-world experiences of users and examples of GDSE applications. Understanding GDSE's main principles may be advantageous for landing opportunities in this field.
Software Architect
A Software Architect may be responsible for designing and implementing software systems. This course may be useful in affirming your knowledge of software engineering, specifically GDSE, to excel in this role. To succeed in this job, you should be able to understand the main constructs of globally distributed software engineering theory. Additionally, you should be able to apply said principles in the context of your own company’s practice. By taking this course, you can potentially position yourself for career opportunities in various industries and/or as a consultant.
Global Business Analyst
A Global Business Analyst is responsible for analyzing business needs and translating them into technical requirements. They may work with a variety of stakeholders, including business leaders, IT staff, and customers. You may find this course helpful in securing opportunities as it covers topics such as the advantages and disadvantages of GDSE, the practical consequences of GDSE, and its technological feasibilities and infeasibilities.
Business Architect
A Business Architect is responsible for designing and implementing business strategies and processes. They may work in a variety of industries, including technology, healthcare, and finance. This course may be useful as it covers topics such as GDSE and its applications, such as outsourcing, offshore software development, near-shoring and multi-partner systems development.
Technology Consultant
A Technology Consultant is responsible for providing advice and guidance to clients on the use of technology. They may work in a variety of industries, including technology, healthcare, and finance. This course may be useful as you will obtain a practical overview of the organization and operation of software engineering of GDSE. By taking this course, you can expect to become familiarized with the advantages and disadvantages of GDSE , the practical consequences of GDSE, and its technological feasibilities and infeasibilities.
Data Architect
A Data Architect is responsible for designing and implementing data management solutions. They may work in a variety of industries, including technology, healthcare, and finance. This course may be useful as it covers the principles of GDSE theory. Understanding GDSE's principles may be advantageous in the field, as this course will also provide you with practical knowledge about GDSE's applications in outsourcing, offshore software development, near-shoring, and multi-partner systems development.
Information Technology Manager
An Information Technology Manager is responsible for planning, implementing, and managing IT systems. They may work in a variety of industries, including technology, healthcare, and finance. This course can be useful as you will learn about real-world experiences of users and examples of GDSE applications such as outsourcing, offshore software development, near-shoring and multi-partner systems development.
Product Manager
A Product Manager is responsible for planning, developing, and launching products. They may work in a variety of industries, including technology, healthcare, and finance. This course may be useful as you will learn about the principles of GDSE theory. Understanding GDSE's principles may be advantageous in the field, as this course will also provide you with practical knowledge about GDSE's applications.
Systems Analyst
A Systems Analyst is responsible for analyzing business needs and translating them into technical requirements. They may work in a variety of industries, including technology, healthcare, and finance. This course may be useful as you will cover the topic of Distributed Agile.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Global Software Development.
Provides a practical guide to Agile development. It covers topics such as the Agile mindset, the Scrum framework, and the Kanban method.
Provides a practical guide to rapid software development. It covers topics such as project planning, risk management, and team management.
Provides a guide to writing clean code. It covers topics such as code readability, maintainability, and testability.
Classic guide to Agile software development. It covers topics such as the Agile manifesto, the Scrum framework, and the Kanban method.
Classic guide to software engineering. It covers topics such as project management, team management, and software design.
Provides a guide to building and managing high-performance software teams. It covers topics such as team dynamics, motivation, and communication.
Comprehensive guide to software engineering. It covers topics such as software design, development, and testing.
Novel about project management. It covers topics such as project planning, risk management, and team management.
Provides a guide to software engineering for real-time systems. It covers topics such as real-time scheduling, concurrency, and fault tolerance.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Global Software Development.
Inspiring Peak Performance on Technical Teams
Agile Leadership for Distributed Teams
Fundamentals of Software Architecture for Big Data
Mastering the Software Engineering Interview
GenAI for Software Engineering Teams
Collaborating with Teams and CI/CD Tools on Heroku-18
Engineering Practices for Building Quality Software
Effective Communication for Remote Leadership
Software Engineering: Introduction
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser