Skip to main content

Managing Distributed Teams

Enrollment is Closed

About This Course

Managing distributed teams is hard, but there are many online tools that can help. There are also many simple techniques that can help you manage. In this class we'll walk you through managing distributed teams using online tools, with a focus on preparing for managing teams of software engineering students working on non-profit projects through the Agile Ventures portal. This course also prepares you to be a Teaching Assistant (TA) for the Engineering Software as a Service CS169 MOOC.

Topics covered include: responding appropriately in asynchronous and synchronous online forums; creating live sessions for pairing purposes (hangouts, slack, gitter,; diagnosing technical issues; setting up recording; Github skills such as making and merging pull requests, cherry picking and Github Pong; Heroku skills; high level software engineering concepts such as the acceptance test - unit test cycle, spiking, online scrums; and a slew of project managment components such as reporting bugs, managing chores, and dealing with team motivation.


This course is provided as a collaboration between the Engineering Software as a Service textbook team and AgileVentures, the non-profit open source project incubator.


AV102 Managing Distributed Teams consist of three main components and you can strive to become eligible for up to five certificates. The theoretical part of four weeks, entitles you to a Level 1 certificate.

The second part of the course is practical and consists of two tracks. On the Teaching Assistant (TA) track you actively support and supervise MOOC students as a TA. If you contribute at least once a week as a TA throughout the CS169.1x course, you will receive a Level 2 TA certificate, and if you continue through 169.2x, a Level 3 TA certificate.

On the Project Track (or 169.3x), you actively participate in any of AgileVentures open-source projects by joining daily scrums and other project meetings, taking part in requesting, discussing and estimating features, writing code, reporting and fixing bugs, etc. If you maintain a basic level of weekly activity for the duration of the 169.1x course you will receive a Level 2 Project certificate and if you continue through 169.2x, a Level 3 Project certificate.

Certificates will be distributed digitally after the end of each course component.


BerkeleyX 169.1


3 to 4 hours per week

Course Staff

Sam Joseph, Ph.D.

Sam Joseph is an Associate Professor at Hawaii Pacific University. He has previously been the Head of Education and Engineering at the London Coding Bootcamp "Makers Academy" and an Associate Researcher at the University of Hawaii at Manoa (UHM). He is a recipient of the Raymond-Hide prize for Astrophysics and a Toshiba Fellowship. He teaches courses on game & mobile programming & design, software engineering and scientific research methods exclusively online from London, UK. His main research interests are in software to support online collaborative learning, in particular remote pair programming. His degrees in Astrophysics, Cognitive Science and Computer Science are from the University of Leicester, the University of Edinburgh, and UHM, and he is an ACM Member. Sam is also the co-founder of Agile Ventures an online open source project incubator designed to help people from around the world develop and pool their skills in order to work on open source projects for worthy causes.

João Pereira

João Pereira is a software developer who has worked on multiple stages of software development in multiple countries in many different areas. He has a Masters Degree in Software Development and Networks from the University of Aveiro (Portugal) and since graduating has been working on Telecom, Retail and Web development. Looking for more challenges he completed the online UC BerkeleyX’s Engineering Software as a Service 169.1x and 169.2x courses, afterwords becoming project manager of the AgileVentures project MetPlus. He is based in the US.

Raoul Diffouo

Raoul is a Computer Engineering graduate from Tshwane University of Technology (South Africa), and has been developing web-based SAAS applications for several years. He is now a Part-time Lecturer at Tshwane UoT where he teaches various programming related subjects. After completing BerkeleyX's Engineering Software as a Service 169.1x and 169.2x, he joined AgileVentures and has been assisting with a number of projects. Raoul is also a coach at CraftAcademy, a Web developer Bootcamp based in Sweden, and works remotely with students.

Marian Mosley

Marian Mosley began her career in the defense industry developing software and hardware for automated testing of weapon, radar and guidance systems and writing code to monitor and configure communications satellites. Based in the New York metropolitan area, Marian became a developer in the Wall Street financial information services sector, leading the effort to migrate Dow Jones Telerate's legacy news processing system, written in assembler, to a Unix platform. As a New York City Teaching Fellow, Marian developed and taught courses in mathematics, programming and physics in the New York City public school system, where she came to appreciate firsthand the value of hands-on learning. After signing up for the UC BerkeleyX's Engineering Software as a Service 169.1x and 169.2x courses, Marian has embraced Agile methodologies and pair programming with enthusiasm. She is a huge fan of open courseware and has been a teaching assistant for both SaaS courses. Marian is committed to open-source development and is a regular contributor to Agile Ventures projects. Marian is an alumna of Manhattan College School of Engineering, with Master's degrees in Electrical Engineering (Stevens Institute of Technology) and Mathematics Education (The City University of New York). She is currently employed as a software developer for a New York City startup.

Tony Butler

Tony Butler is an independent IT Consultant and Software Engineer based in London with over 20 years experience in the banking and finance sectors. He has spent the past 15 years developing web applications and supporting services primarily using C#/ASP.NET, but with an increasing focus on front end tooling and technologies - typescript, gulp, angular, signalR etc. to provide richer client experiences on the web. He is a keen advocate of agile methodologies (Scrum in particular) and test driven development, and has introduced them to a number of project teams which have relied on more traditional software development practices. In recent times, Tony has been keen to expand his knowledge of programming languages and software development techniques and has taken a number of MOOCs across a variety of platforms, including both CS169.x courses and in the last year having taken AV102, he is a Level 3 TA for the next generation of students on those courses. Through the power of MOOCs, he has gained experience in a variety of languages and tools including Ruby, Mongo, Meteor, Bootstrap, Ionic and Scala. Tony enjoys learning and helping others to learn and he holds a 1st Class BSc (Honours) in Computing (including 7 distinctions).

Frequently Asked Questions