Problem statement. The relevance of the work lies in the proposed combination of methods and tools for application development during the educational process, which repeats frequent situations in industrial software development. The goal is to create conditions that allow to gain collective development skills close to real participation in software production. Methodology. During the training, students will write separate parts of the overall project, embedding their solution into the general logic of the system based on the implementation of the class interface set by the teacher. At the same time, frequently used design patterns are described and applied, such as model-view-controller, strategy, etc. The augmented project is synchronized between the participants using a version control system. As a result, students have a full-fledged application, parts of which are written by individual participants. Results. The implementation of the approach is considered on the example of the game “Chess”, in which each of the students can write the code of a separate figure; the possibilities of applying the approach within one or more classes and the potential risks of its use are indicated. Conclusion. The proposed approach allows students to gain work experience close to industrial programming and master such competencies as joint development, work in version control systems and building modular systems.