This paper describes an educational methodology that we have implemented at the Universidad de Vigo which is based on a real competitive environment. It involves developing a communication subsystem, specified by a standard. Intercommunication between subsystems must take place successfully according to that standard. However, students are free to incorporate new features, enhance others, or optimize aspects which are roughly described.