Difficulties in developing large scale programs are often not so much a matter of algorithmic complexity as they are of communication complexity.
If several programmers are working together on a project, need to control the amount of information one programmer must have about the code being developed by a second programmer.