СИСТЕМЫ УПРАВЛЕНИЯ ПРОЕКТАМИ: АНАЛИЗ СУЩЕСТВУЮЩИХ ПРОГРАММНЫХ РЕШЕНИЙ
PROJECT MANAGEMENT SYSTEMS: ANALYSIS OF EXISTING
SOFTWARE SOLUTIONS
УДК 338
DOI: 10.24411/2658-4964-2020-1120
Ахмадуллин Динар Фанилович,
студент магистратуры, 2 курс, факультет «Дизайна и программной инженерии», Казанский национальный исследовательский технологический университет, Россия, г. Казань
Akhmadullin Dinar Fanilovich, [email protected]
Аннотации
В статье мы отметим преимущества внедрения систем управления проектами. Рассмотрим основные механизмы распространения коммерческих корпоративных систем. Сравним наиболее популярные систем управления проектами по представленным критериям и стоимости использования (Trello, Basecamp, Wrike, Asana, Битрикс24, TeamLab, и др.). На основании представленного анализа сделаем вывод о целесообразности разработки собственного программного решения. В статье отмечаются преимущества построения программной системы в виде веб-приложения и клиент-серверной архитектуры, обоснован выбор средств реализации системы управления проектами.
Annotation
In this article, we will note the advantages of implementing project management systems. Let's consider the main mechanisms of distribution of commercial corporate systems. Let's compare the most popular project management systems based on the presented criteria and cost of use (Trello, Basecamp, Wrike, Asana, Bitrix24, TeamLab, etc.). based on the presented analysis, we will conclude that it is advisable to develop our own software solution. The article highlights the advantages of building a software system in the form of a web application and clientserver architecture, justifies the choice of means for implementing a project management system.
Ключевые слова: системы управления проектами, web-приложения, trello, basecamp, wrike, asana.
Keywords: project management systems, web applications, trello, basecamp, wrike, asana.
Деятельность современной организации тесно связана с выполнением большого числа разнообразных работ, реализацией проектов, исполнением поручений руководства, согласованием документов, подготовкой конкурсной документации и т. д. Планирование и контроль выполнения всех перечисленных видов работ затрудняется большим количеством проектов, сроками и ответственных за их исполнение. Существенно повысить эффективность управления этой деятельностью позволяют разработки в сфере информационных технологий и, в частности, в области систем управления проектами. Выбор между приобретением уже существующих программных решений и самостоятельной разработкой собственной информационной системы является актуальным для большинства организаций, планирующих повысить эффективность своей деятельности путем автоматизации процессов планирования и контроля. Управление проектом включает в себя планирование, организацию и контроль трудовых, финансовых и материально-технических ресурсов, направленных на эффективное достижение целей проекта. Под планированием подразумевается составление базового плана проекта, содержащего сведения о его основных временных и стоимостных параметрах [4]. Системы управления проектами представляют собой наборы инструментов, методологий, методов и ресурсов, используемых в процессе управления, включают в себя средства для планирования задач, составления расписания, управления бюджетом, распределения ресурсов, документирования, формирования отчетов, совместной работы исполнителей. В основе любой системы управления проектами лежит план управления, который описывает, каким образом будет использоваться система. Содержание последней изменяется в зависимости от области применения, особенностей организации, сложности проекта и доступности необходимых ресурсов. Система строится так, чтобы максимально соответствовать стратегическим целям и производственным ресурсам организации. Современное развитие сферы информационных технологий привело к появлению большого числа веб-ориентированных сервисов доступных через корпоративную сеть организации или сеть Интернет и облегчающих совместную работу большого числа распределенных участников. Веб-ориентированные системы управления проектами представляют собой проектноориентированное рабочее пространство для ведения одного или нескольких проектов, доступное всем участникам. Системы управления проектами обычно содержат панель состояния проекта, календарь, задачи (по проектам и ответственным), список сотрудников (с возможностью просмотра загруженности каждого), план проекта, сетевой график, отчеты по проекту,
систему учета рабочего времени, систему сообщений, хранилище файлов и документов.
Применение системы управления проектами позволяет: создавать, внедрять и корректировать план работ по проекту, эффективно распределять материальные и человеческие ресурсы, необходимые для реализации проекта, контролировать основные показатели темпов и качества выполнения проекта, добиваться повышения эффективности производства, устанавливать наличие взаимосвязей в реализации различных проектов, учитывать достоинства и недостатки выполненной работы при планировании нового проекта. Для эффективного руководства членам проектной команды необходимо видеть объективную информацию по каждому активному проекту: текущие задачи, ход их выполнения, календарно-сетевые графики, изменения в ходе проектных работ. Для повышения эффективности необходимы автоматизация стандартных функций, повышение качества планирования, использование накопленного опыта. Программное обеспечение для управления проектами охватывает целый ряд платформ, каждая из которых имеет несколько различный набор функций. Крайне важно, чтобы выбранный программный продукт упростил управление проектами и не добавил ненужной сложности.
Для выбора среди большого числа представленных на рынке систем управления проектами выберем следующие критерии:
1. Возможность управления проектами и задачами.
2. Возможность построения диаграммы Ганта.
3. Возможность учета ресурсов и финансов.
4. Возможность управления документами.
5. Возможность формирования отчетов.
6. Наличие мобильного приложения
7. Наличия эмоджи или стикеров
Среди множества существующих систем были выделены следующие: ТгеПо, БаБесашр, ^^ке, Asana, Битрикс24, ТеатЬаЬ.
Управле ние проекта ми Диагра мма Ганта Учет ресурс ов Управлен ие документ ами Отче ты Мобильн ое приложе ние Стикер ы смайли ки
ТгеПо + - - + + + +
Бавееа шр + - - + + + +
ЛБапа + - + + + + +
Битрик 24 + + + + + + +
ТеашЬ аЬ + + + + + - -
Из таблицы следует, что все рассмотренные сервисы имеют богатый функционал, поддерживают работу с проектами и задачами, имеют встроенные механизмы построения диаграмм Ганта, позволяют автоматизировать работу с документами и управлять пользователями системы. Любой из рассмотренных сервисов может использоваться в качестве полноценной системы управления проектами. Различия заключаются в дополнительных функциях: возможности использования в качестве корпоративной информационной системы, наличии коммуникационной среды, электронного согласования документов, встроенных функций телефонии и др.
А что, если мы не хотим использовать сторонние разработки, и у нас завалялось несколько свободных веб программистов, так вот, почему именно веб. Наиболее перспективным сегодня является направление разработки веб ориентированных приложений, несмотря на то, что десктопные (устанавливаемые на оборудование пользователя системы) варианты в некоторых случаях более производительны, однако они менее гибкие для настройки. Кроме того, общий доступ к системе для веб-приложений не требует установки клиентской части на компьютеры пользователей, что упрощает процедуру развертывания. Минусы использования веб-ориентированных систем: достаточно сложное администрирование системы, необходимость использования одного программного продукта, или, как минимум, договоренности и согласования используемых форматов данных, проблемы, возникающие при работе с данными через корпоративную сеть или Интернет. В основе большинства современных информационно-аналитических систем лежит клиент-серверная архитектура приложений. Термин «клиент-сервер» означает такую архитектуру программного комплекса, в которой его функциональные части взаимодействуют по схеме «запрос - ответ». Если рассмотреть две взаимодействующие части этого комплекса, то одна из них (клиент) выполняет активную функцию, т. е. инициирует запросы, а другая (сервер) пассивно на них отвечает [5]. На сервере будет храниться само приложение и база данных, содержащая информацию о проектах и пользователях системы. В качестве клиента может
выступать либо специальное приложение, либо веб-браузер. Второй вариант является более предпочтительным по следующим причинам:
1. Не требуется разработка приложения-клиента.
2. Кроссплатформенность - не нужно заботиться о совместимости с различными операционными системами. В противном случае, для каждой операционной системы необходимо разработать свое приложение-клиент.
3. Для работы требуется только веб браузер.
Решение о выборе веб-браузера в качестве клиента сужает выбор языка программирования для разработки приложения. Мой выбор остановится на Python и его веб фреймворке Django. Один из основных принципов фреймворка —DRY (don't repeat yourself). Веб-системы на Django строятся из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из заметных архитектурных отличий этого фреймворка от некоторых других (например, Ruby on Rails). Также, в отличие от многих других фреймворков, обработчики URL в Django конфигурируются явно (при помощи регулярных выражений), а не автоматически задаются из структуры контроллеров.[1]
Django проектировался для работы под управлением Apache (с модулем mod_python) и с использованием PostgreSQL в качестве базы данных. В настоящее время, помимо PostgreSQL, Django может работать с другими СУБД: MySQL (MariaDB), SQLite, Microsoft SQL Server, DB2, Firebird, SQL Anywhere и Oracle. Для работы c базой данных Django использует собственный ORM, в котором модель данных описывается классами Python, и по ней генерируется схема базы данных.
Архитектура Django похожа на «Модель-Представление-Контроллер»(MVC). Контроллер классической модели MVC примерно соответствует уровню, который в Django называется Представление (View), а презентационная логика Представления реализуется в Django уровнем Шаблонов (Templates). Из-за этого уровневую архитектуру Django часто называют «Модель-Шаблон-Представление» (MTV).[1]
Первоначально разработка Django велась для обеспечения более удобной работы с новостными ресурсами, что достаточно сильно отразилось на архитектуре: фреймворк предоставляет ряд средств, которые помогают в быстрой разработке веб-сайтов информационного характера. Например, разработчику не требуется создавать контроллеры и страницы для административной части сайта, в Django есть встроенное приложение для управления содержимым, которое можно включить в любой сайт, сделанный на Django, и которое может управлять сразу несколькими сайтами
на одном сервере. Административное приложение позволяет создавать, изменять и удалять любые объекты наполнения сайта, протоколируя все совершённые действия, и предоставляет интерфейс для управления пользователями и группами (с пообъектным назначением прав).
Веб-фреймворк Django используется в таких крупных и известных сайтах, как Instagram, Disqus, Mozilla, The Washington Times, Pinterest, lamoda и др.
Некоторые возможности Django:
■ ORM, API доступа к БД с поддержкой транзакций
■ встроенный интерфейс администратора, с уже имеющимися переводами на многие языки
■ диспетчер URL на основе регулярных выражений
■ расширяемая система шаблонов с тегами и наследованием
■ система кеширования
■ интернационализация
■ подключаемая архитектура приложений, которые можно устанавливать на любые Django-сайты
■ «generic views» — шаблоны функций контроллеров
■ авторизация и аутентификация, подключение внешних модулей аутентификации: LDAP, OpenID и прочие.
■ система фильтров («middleware») для построения дополнительных обработчиков запросов, как например включённые в дистрибутив фильтры для кеширования, сжатия, нормализации URL и поддержки анонимных сессий
■ библиотека для работы с формами (наследование, построение форм по существующей модели БД)
■ встроенная автоматическая документация по тегам шаблонов и моделям данных, доступная через административное приложение
Некоторые компоненты фреймворка между собой связаны слабо, поэтому их можно достаточно просто заменять на аналогичные. Но с некоторыми (например, с ORM) это сделать не очень просто. Кроме возможностей, встроенных в ядро фреймворка, существуют пакеты, расширяющие его возможности[3].
На базе Django разработано достаточно много готовых решений, распространяемых под свободной лицензией, среди которых системы для управления интернет-магазинами, универсальные системы управления содержанием, а также более узконаправленные проекты.
Опираясь на все вышесказанное, можно отметить следующее: деятельность современной организации неразрывно связана с выполнением большого количества разнообразных работ, планирование и контроль за выполнением которых невозможно осуществлять без учета современных достижений в области информационных технологий. Программные решения направлены на автоматизацию и существенное повышение эффективности деятельности организаций. Учитывая высокую стоимость владения существующими на рынке программными системами управления проектами, необходимость интеграции их с другими информационными системами, используемыми в организациях, перспективной видится разработка собственного решения. Это позволит не только сократить финансовые издержки, но и решит вопросы интеграции и последующей обязательной модернизации данной системы. Следует отметить, что последнее является одним из определяющих факторов в вопросе выбора между собственной разработкой или приобретением готового решения. Система управления проектами может разрабатываться в качестве составной части корпоративной информационной системы организации, также объединяющей в себе такие компоненты, как контроль исполнения поручений, кадровый учет, подготовку и согласование документов и др. Единая система управления позволит поднять эффективность управления организацией на совершенно новый, более высокий уровень, упорядочит рабочие процессы, объединит в одном целом различные направления деятельности, требующие постоянного анализа и контроля.
Литература
1. Django — фреймворк для веб-разработки на Python - [Электронный ресурс] https://web-creator.ru/articles/dj ango
2. Документация Django [Электронный ресурс] https://djbook.ru/
3. Django 2.1. Практика создания веб-сайтов на Python. - СПб.: БХВ-Петербург, 2019. - 672 с Дронов В. А.
4. ГОСТ Р 54869-2011 Проектный менеджмент. Требования к управлению проектом - [Электронный ресурс] http://www.dkp31 .ru/sites/default/files/doc/gost_r_54869-2011_ proektnyy_menedzhment_trebovaniya_k_upravleniyu_proektom_.pdf
5. Коржов, В. Многоуровневые системы клиент-сервер - [Электронный ресурс] http: //www.osp.ru/nets/1997/06/142618
Literature
1. Django-framework for web development in Python - [Electronic resource] https://web-creator.ru/articles/django
2. Django Documentation [Electronic resource] https://djbook.ru/
3. Django 2.1. Practice of creating websites in Python. - Saint Petersburg: BHV-Petersburg, 2019. - 672 with V. A. Dronov.
4. GOST R 54869-2011 Project management. Requirements for project management - [Electronic resource] http://www.dkp31 .ru/sites/default/files/doc/gost_r_54869-2011_ proektny_menedzhment_trebovaniya_k_upravleniyu_proektom_. pdf
5. Korzhov, V. Multilevel client-server systems - [Electronic resource] http://www.osp.ru/nets/1997/06/142618