The operation of an elaborate set of computer codes raises problems of its own which can only be appreciated from experience. Nevertheless, certain general principles for designing such a system can be set forth. The activities which are engaged in during the evolution of such a system are not simple sequence of events but there is feedback from later steps to earlier ones. How easily the resulting changes can be handled is dependent on the organization of the codes and on the assembly program used. An appendix discusses some shortcomings of the latter together with suggested improvements.