One of the many mistakes for a new SharePoint developer to make is misunderstanding of the common deployment scopes for projects. Where in ASP.NET you typically have your own little private code sanctuary where you can close the door and make it smell really, really bad, in SharePoint many solutions are in fact site collections. And since SharePoint does not support virtual directories in IIS for separating stuff, you get to share the stink in your BIN folder with, well, let’s say other less talented programmers than you. Apart from the apparent need for sharing code because of this site collection deployment scope, commonly sound software design principles also moves you towards sharing code versus copying it (hopefully). The difficulty then becomes how to go ahead and facilitate this code-sharing. The thing is that code sharing is not easy. It gives many headaches relating to versioning, building your products, installation, and woe, upgrades without breaking stuff. Basically, in this session we will show how. Based on all the idiotic mistakes made at a multi-billion pension fund we will show you how to structure projects, how to build them and how to keep developers happy with useful new tools and scripts.