Abstract

The problem of building and optimizing the teams of programmers taking into account the qualification and the level of skills in programming technologies and tools is considered. Known technological environments for the management of teamwork, such as Agile, formulate only general requirements and principles for building the teams and the distribution of work between them. A method for formalizing and evaluating the qualification of individual programmers and entire groups of programmers has been proposed. The input data are attributes of the most popular technologies and programming tools, including technology rating, as well as the results of a survey of programmers on their level of skills. The qualification of a group of programmers is evaluated taking into account the requirements for a particular project, which integrates three components: the average qualification of programmers included in the group; the qualification of the group with respect to the best representatives for each of the technologies; threshold values of the levels of programmer qualification and group qualification for each of the technologies, as well as threshold values of the integrated qualification, reflecting the specifics of the given project. The contribution of each component is determined by appropriate weights. The proposed method is a basis for a genetic algorithm that performs the search for the number, size and staff of groups of programmers which yield a maximum of total qualification. Software has been developed and computer experiments have been carried out on a set of programmers who graduated from Belarusian universities. The obtained results demonstrate the real ability of the system to find the number, size and staff of groups of programmers, which increase the overall qualification of groups by 30% while minimizing the number of unemployed developers. The results prove the practical importance of the method and software in the field of technologies and tools for the management of professional teams of programmers.

Highlights

  • Технология Agile [1] гибкой разработки программного обеспечения позволяет вырабатывать требования и находить решения благодаря совместным усилиям групп разработчиков и заказчиков

  • Если множество программистов разбито на множество G групп, то общая квалификация всех групп оценивается в виде суммы пороговой взвешенной квалификации по всем группам: Qualification(G) = ∑ Qualif (g) (9)

  • The 2016 Top Programming Languages [Электронный ресурс] / IEEE Spectrum, 2016. – Режим доступа: http://spectrum.ieee.org/ computing/software/the-2016-top-programming-languages. – Дата доступа: 26.02.2017

Read more

Summary

Белорусский национальный технический университет

Рассматривается проблема формирования и оптимизации команд программистов с учетом квалификации и уровня владения технологиями и инструментами программирования. Известные технологические среды для организации работы команд, такие как Agile, формулируют лишь общие требования и принципы формирования коллективов и распределения работ между ними. Предлагается метод формализации оценки квалификации отдельных программистов и целых программистских групп. Исходными являются данные о наиболее востребованных технологиях и инструментах программирования, их рейтинге, а также результаты опроса программистов об уровне владения ими. Полученные результаты демонстрируют реальную способность системы находить количество, состав и размеры групп программистов, увеличивающие суммарную квалификации групп до 30% при минимизации числа незадействованных разработчиков. Технология Agile [1] гибкой разработки программного обеспечения позволяет вырабатывать требования и находить решения благодаря совместным усилиям групп разработчиков и заказчиков. Хотя Agile используется во многих средах разработки, она требует дальнейшего развития для распределенных команд программистов. В [2] учтены следующие факторы: производительность каждого программиста, способность пар программистов увеличивать или снижать производительность в процессе совместной работы, возрастание

СИСТЕМНЫЙ АНАЛИЗ И ПРИКЛАДНАЯ ИНФОРМАТИКА
Рейтинг технологий и инструментов программирования
Ключевые технологии и инструменты программирования
Квалификация программиста
Квалификация группы программистов
Задача оптимизации размера и состава программистских групп
Решение задачи оптимизации генетическим алгоритмом
Результаты вычислительных экспериментов

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.