NuGet and npm packages aren't just for open-source; they're also a key way to help teams break up big codebases for easier management and more rapid development. But, moving from a world of source composition, where everything builds together from the same source tree, to a world of binary composition, where packages bring in some of your dependencies, presents some unique challenges. How do you keep multiple teams on a common version of a shared library or SDK? What's the right size for a package? How do you communicate quality? This session will cover how Microsoft teams have answered questions like these, share the decision framework we use to decide when a move to packages and binary composition is appropriate, and cover our vision for how VSTS can make it even easier to use packages at scale.