Central to the unraveling of the early evolution of the genome is the origin and role of introns. The evolution of the genome can be characterized by a continuous expansion of functional modules that occurs without the interruption of existing processes. The design-by-contract methodology of software development offers a modular approach to design that seeks to increase flexibility by focusing on the design of constant interfaces between functional modules. Here, it is shown that design-by-contract can offer a framework for genome evolution. The definition of an ancient exon module with identical splice sites leads to a relatively simple sequence of events that explains the role of introns, intron phase differences and the evolution of multi-exon proteins in an RNA world. An interaction of the experimentally defined six-nucleotide splicing consensus sequence together with a limited number of primitive ribozymes can account for a rapid creation of protein diversity.