В статье автор исследует современные способы контроля эффективности разработчика и распределения временных ресурсов компаний для повышения общей эффективности работы в команде разработчиков.
Ключевые слова: программное обеспечение, разработчик, контроль.
В настоящее время разработка программного обеспечения (ПО) занимает все более значимую роль в разных сферах деятельности. Множество компаний ориентируются на разработку специализированных программных решений, предназначенных для автоматизации и повышения эффективности рабочих процессов. Но важно понимать, что успешная реализация проектов по разработке ПО требует эффективного управления со стороны менеджмента компании и контроля за выполнением задач, порученных программисту. Разработчик пользуется огромным количеством разнообразных инструментов во время разработки ПО. Эти инструменты включают в себя различные сторонние сервисы для совместной работы и организации процессов в компании, разнообразные среды для разработки ПО, множество способов для обмена информацией или ведения переговоров такие как электронная почта, различные мессенджеры, приложения видеоконференций и т. п. И, следовательно, анализировать информацию из разных источников становится трудно.
В связи с этим разработка программного модуля (ПМ) учета и контроля прогресса выполнения задач разработчиком является актуальной и важной задачей. Такой модуль обеспечивает прозрачность и контроль процесса разработки, а также позволяет отслеживать и контролировать выполнение задач, порученных программисту. ПМ предоставляет возможность руководителям или проектным менеджерам иметь четкое представление о том, на каком этапе находятся задачи, и какие проблемы могут возникнуть. Также к достоинствам данного программного модуля относятся эффективное планирование распределения временных и человеческих ресурсов в команде разработчиков. В ПМ можно регулировать приоритеты и распределение задач в зависимости от текущего состояния и прогресса выполнения проекта. Модуль помогает налаживать взаимодействие между разработчиками для совместной работы. Разработчики могут отслеживать прогресс своих задач, общаться с коллегами и совместно решать проблемы, связанные с выполнением проекта.
Существует множество инструментов и методик, которые могут использоваться для учета и контроля прогресса выполнения задач разработчиком. Scrum board — это инструмент, которым пользуются разные компании. Он является визуальным средством отслеживания и управления прогрессом выполнения задач в рамках итерационного процесса разработки программного обеспечения. Scrum board представляет собой физическую или виртуальную доску, обычно разделенную на несколько колонок, каждая из которых соответствует определенному этапу выполнения задач. Обычно используются следующие колонки:
— Backlog: В этой колонке отображаются все запланированные задачи, которые требуют выполнения.
— To Do (В работу): Колонка представляет собой список задач, над которыми разработчики начинают работать.
— In Progress (В процессе): Задачи, над которыми в данный момент работают разработчики, отображаются в этой колонке.
— Testing (Тестирование): Колонка представляет собой список задач, готовых к тестированию. Тестирование проводится, чтобы убедиться, что задача реализована корректно и соответствует требованиям.
— Done (Готово): Колонка задач, успешно прошедших тестирование. Они полностью выполнены и готовы для демонстрации или развертывания.
Ниже представлена таблица 1, которая содержит информацию о сравнении разработанного программного модуля и его аналогичных программных решений.
Таблица 1
Сравнение аналогичных программных решений
Критерии выбора |
Программные решения |
||||
Scrum |
Канбан |
Jira |
Trello |
Программный модуль |
|
Подключение собственных модулей |
- |
- |
- |
- |
+ |
Возможность обработки архивных данных |
+ |
- |
+ |
- |
+ |
Масштабируемость |
+ |
- |
- |
+ |
+ |
Отсутствие дополнительных аппаратных затрат |
+ |
- |
+ |
+ |
+ |
Универсальность |
+ |
- |
+ |
- |
+ |
Возможность самостоятельного развертывания |
- |
- |
- |
- |
+ |
Отображение общей эффективности разработчика |
+ |
- |
+ |
- |
+ |
Так как ни одно из аналогичных решений не удовлетворяет всем требованиям, то актуальной является задача создания нового программного обеспечения
Разработанный программный модуль обеспечивает выполнение следующих функций:
− Контроль досок задач;
− Контроль задач;
− Контроль очередей задач;
− Контроль изменения статусов задач;
− Контроль изменения приоритетов задач;
− Контроль спринтов;
− Контроль перехода задач по статусам;
− Контроль типов задач;
− Контроль активности в мессенджерах.
Выбор языка программирования и соответствующих технологий влияет на эффективность разработки, производительность программного модуля, его масштабируемость и совместимость с другими системами.
В качестве языка программирования был выбран Python. Принято решение разрабатывать модуль с помощью фреймворка Django [1]. Django — это фреймворк для разработки веб-приложений на языке программирования Python. Он предоставляет инструменты для быстрой и эффективной разработки веб-приложений, включая управление базами данных, обработку HTTP-запросов, авторизацию и аутентификацию пользователей, а также создание административных интерфейсов. Одной из ключевых особенностей Django является его модульность и поддержка принципов DRY (Don't Repeat Yourself) [2] и MTV (Model-Template-View) [3], что способствует созданию чистого и легко поддерживаемого кода.
На рис. 1 приведена Use case диаграмма, демонстрирующая основной набор функций разработанного модуля. Пользователь, расположенный в левой части диаграммы, представляет пользователя, который взаимодействует с сервисом через пользовательскую часть.
Основные варианты взаимодействия:
- Авторизация/Регистрация. Пользователь может создать новый аккаунт или войти в существующий.
- Подключение инструментов, которыми разработчик пользуется в ходе разработки.
- Выход из аккаунта. Пользователь может выйти из своего аккаунта, нажав на соответствующую кнопку в личном кабинете.
Рис. 1. Use case диаграмма
Таким образом, разработанный программный модуль учета и контроля прогресса выполнения задач разработчиком помогает повысить эффективность и качество работы команды разработчиков.
Литература:
1. Django: практика создания Web-сайтов на Python — Владимир Дронов BHV, 2019
2. Три ключевых принципа ПО, которые вы должны понимать https://habr.com/ru/articles/144611/
3. Особенности и плюсы использования Django в web'е https://habr.com/ru/sandbox/156526/