This document discusses managing programs using agile principles. It begins by defining a program as organizing several projects' results into a single deliverable. It then addresses some challenges of program management, such as risks increasing with program size and complexity. It proposes using agile approaches like timeboxing, iterative delivery, and transparency to help program management. Specific topics covered include organizing teams, communication challenges, and managing backlogs, architecture, risks and status across multiple teams. The document provides examples of organizing teams and information flow for larger programs. It emphasizes the role of the program manager in coordinating teams while allowing autonomy.