Agile originated as a method to be used by a small number of co-located teams. When the amount of teams and the distance between the teams becomes bigger, issues will start to arise. With the rise of the computer and internet, programming-related work environments have become very large and globally distributed, implying a friction when using agile in these environments. This study aims to explore what challenges occur when using agile in very-large globally distributed environments and explore for practices that can be used to deal with them. To do this, a variety of research methods is used to gain insight, those being a systematic literature review (SLR), interviews and online surveys. Our online survey verified that all found challenges are frequently encountered in practice and the majority have a significant impact when encountered. However we also identified multiple practices that are used often to combat certain high-impact challenges. Experts were invited to fill in an online survey to generate possible learning goals. These learning goals are used to create an education program prototype for very-large scale globally distributed agile software engineering. As examples, 4 use cases in different environments are provided to show the prototype can be used to construct a matching training program. Finally we provide proposals for further research directions into challenges, practices and the education program based on the steps taken in this study.