As of today, well-known product and outsourcing IT companies use Agile models for the software development life cycle (SDLC), the advantages of which include rapid adaptation to changes, continuous feedback, improved product quality, increased team engagement, focus on customer value, transparency and control, as well as the reduction of internal and external risks. All Agile models are iterative, meaning the development process is divided into separate, similar iterations, which have different names in different models. Familiarization with and practical application of modern Agile models by students at the first (bachelor’s) level of higher education in the field of information technology is an important task for future IT specialists. To achieve this task, the most popular Agile model, Scrum, was chosen, which is also incremental, meaning that each iteration delivers additional functionality that is ready for use. The main roles of participants and their responsibilities, artifacts, and ceremonies of the Scrum process are reviewed. The article proposes applying the Scrum model for iterative and incremental software development that will solve a multi-criteria optimization problem using a game-theoretic approach. The formulation and general algorithm for solving the multi-criteria optimization problem using a game-theoretic approach are presented, as well as an example of formulating the Product Backlog, which contains twelve functional requirements to be implemented by the student Scrum team over twelve iterations (sprints). The recommended process for dividing students into Scrum teams and assigning roles to participants is described. An example of incremental implementation based on the Scrum model of the SDLC for solving the multi-criteria optimization problem using a game-theoretic approach is also provided.
Read full abstract