The Process:
To develop incrementally, we start with a package that doesn't depend on others we will be implementing. When that is fully functional
and tested, pick another package that depends on, at most, already implemented packages and implement that. After testing and fixing
we repeat until there are no more packages to implement.
Motivation:
The benefit of this style of development is that we are always inserting a newly tested package into a tested and integrated baseline.
So, if something breaks when we integrate the new package we know were to look for code defects.