Effective System Development Partitioning