The source code of a software is separated into modules, libraries, files, packages, classes, functions, blocks, etc. We can consider development of each such unit as a separated micro-project. Let's describe its results in terms of tree project outcomes.