Understanding the building blocks of software projects.