Журнал LinuxFormat - перейти на главную

LXF116:Сравнение

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

Сравнение: Проект-менеджеры

Марко Фиоретти рассматривает Linux-приложения для управления проектами.

Управление проектами и планирование (сокращенно PM – от английского Project Management) с помощью компьютера – страшная штука. Бородатые хакеры любят демонстрировать ненависть к нему: «Что еще за планы и сроки? Вот будет готово, и выпустим!». РМ, однако, жизненно необходим для всех больших организаций; в частности, из-за него многие пользователи ПК все еще остаются на старых проприетарных ОС.

Одна из возникающих здесь проблем аналогична той, с которой сталкивается множество людей при работе с текстами и таблицами: это невозможность использования под Linux сложных файлов формата Microsoft Project без потери части данных. Кроме того, большинство разработчиков свободного программного обеспечения не нуждаются в планировщиках проектов и лично в них не заинтересованы, поэтому выбор в этой области среди приложений свободного ПО куда беднее, чем в ситуации с почтовыми клиентами, тестовыми редакторами или менеджерами окон.

Но не отчаивайтесь: если вы молча страдали, думая, что не сможете нарисовать диаграмму Ганта или диаграмму RBS под Linux, то ошибались. Ниже мы представим 5 менеджеров проектов, нацеленных на пользователей начального уровня. Все они могут работать без подключения к Интернету и не зависят от внешних серверов, так что установка не вызовет проблем, даже если они не включены в ваш дистрибутив.

А сперва – небольшой совет: для использования этих программ не нужен диплом MBA, но базовые термины, несомненно, стоит знать – поэтому мы поместили самые ходовые из них в словарик. Пробегитесь по нему, прежде чем переходить на следующую страницу. Готовы? Итак, планируем!

Про наш тест…

Менеджеры проектов тестировались под Fedora 8 на двухъядерном AMD64 3800+ с 2 ГБ ОЗУ. Во всех случаях, за исключением GanttProject, который мы установили, распаковав tar-архив, мы брали RPM-пакеты через Yum или скачанные с сайта программы. Если вы не найдете описания установки, значит, ее и не было: мы либо устанавливали через Yum, либо следовали инструкциям на сайте для распаковки файлов в нужные каталоги. Таким образом, мы фокусировались на легкости в использовании, интуитивности, отзывчивости, базовых функциях и обмене данными. Там, где было возможно, проверялась совместимость с Microsoft Project путем импорта тестового файла, скачанного с http://www.projectreader.com.

Словарь РМ

  • Диаграмма Ганта Диаграмма с горизонтальными полосками, которые показывают на временной оси все задачи, из которых состоит проект, и связи между ними.
  • PERT-диаграмма или Сетевой график Используется для измерения срока выполнения проекта; выявляет задачи, способные задержать проект.
  • WBS (Work Breakdown Structure, Структура декомпозиции работ) Иерархия всех задач проекта.
  • RBS (Resource Breakdown Structure, Структура декомпозиции ресурсов) Диаграмма или таблица, показывающая, кто или что выполняет каждый тип работы.

GanttProject

Хороший планировщик на базе Java; читает и сохраняет данные в разных форматах.

GanttProject – кроссплатформенное Java-приложение с удобным, понятным интерфейсом по созданию и отображению диаграмм Ганта, и самая космополитичная программа в нашем Сравнении: пользовательский интерфейс доступен на 20 языках.

В главном окне вводятся задачи и задается их иерархия, «вдавливанием» и «вытягиванием» – щелчком по соответствующему пункту в выпадающем меню. Для редактирования выбранной задачи нажмите F2. В панели Task Properties [Свойства задачи] можно добавить заметки и просмотреть или отредактировать назначенные ресурсы и зависимости. Если стандартных свойств мало, добавьте частные. Две задачи могут быть соединены несколькими способами: можно указать, что они должны начаться или закончиться в одно время, или что одна из них не может начаться до окончания другой.

Удобная черта GanttProject – автоматическое создание ресурсов, относящихся к задаче, без отдельной процедуры.

Рассмотрим, как проанализировать план проекта и что-либо исправить. Сетевой график и использование ресурсов доступны по одному клику. В виде Ресурсы можно прочесть все задачи, относящиеся к каждому участнику проекта. Есть специальная иконка для масштабирования на критическом пути текущего проекта. Основная панель настройки или контекстные меню позволяют определить количество информации, отображаемое на диаграмме Ганта: имена задач, даты, продолжительность, статус и назначенные ресурсы. Двигаться взад-вперед по диаграмме можно перетаскиванием мышью, но это довольно медленно, а вот печать работает без проблем.

Делитесь данными

Обмен данными с другими пользователям – одна из сильных сторон GanttProject. Форматом по умолчанию является XML (расширение .gan), и его, конечно, можно использовать на всех операционных системах, где установлена подходящая версия Java. Вдобавок GanttProject умеет открывать файлы Microsoft Project. И хотя этот процесс не очевиден, он прост и быстр: нажмите на Import [Импортировать] в меню File [Файл] и отметьте соответствующие варианты с помощью двушагового помощника. Он также способен сам импортировать список задач из текстового файла, без ввода их вручную: каждая строка вставляется в проект как новая задача.

Завершив проект, поделитесь вашей информацией – способов множество. Да, вы можете сохранить ваш мастер-план в формате Microsoft Project, MPX или MPSDi. Также можно экспортировать все или только выбранные колонки ваших рабочих данных в формате CSV.

Если нужно сделать версию доступной только для чтения, можете сохранить диаграммы как изображения PNG или JPEG или в формате PDF с активными ссылками на локальные файлы или web-страницы. В последнем случае, вы также можете изменить вид отчетов, редактируя схему XSL. Та же особенность доступна при экспорте в HTML: впрочем, это можно сделать и не в GanttProjeсt, а при помощи отдельного скрипта на Perl http://gantt_project.biz/extras.php. И последнее, но не менее важное: GanttProject может сохранять файлыпрямо на FTP-сервере или в репозитории WebDav.

Основное ограничение GanttProjeсt – то же, что почти у всех рассмотренных нами программ: если сценарий очень подвижный, требуется ручное редактирование. Иначе, возможно, придется объяснить коллегам, почему, согласно плану проекта, все должны 10 дней валять дурака, а потом вкалывать не менее 180 часов за одни выходные.

OpenProj

Полнофункциональный менеджер проектов с парой ценных фишек.

OpenProj был изначально разработан Projity, недавно купленной Serena Software. Программа распространяется под лицензией Common Public Attribution Licence Version 1.0 (CPAL).

Интерфейс OpenProj богат, но не перегружен. Слева имеется восемь кнопок для отображения диаграмм Ганта, сетевых графиков, ресурсов, WBS и RBS, а также панель Report [Отчет] и два табличных вида: Tasks [Задачи] и Resource Usage [Использование ресурсов]. Последние две кнопки продублированы в нижнем левом углу окна OpenProj, рядом с кнопками для гистограмм и диаграмм. Дублирование вызвано тем, что окно OpenProj имеет так называемые верхний и нижний виды: при нажатии любой из четырех кнопок в нижнем углу вы откроете соответствующую таблицу или диаграмму в нижней половине главного окна программы. Нажатие на F1, пока курсор находится над любой из этих кнопок, откроет в браузере соответствующую страницу Wiki-документации OpenProj.

Для создания проекта выберите в главном меню Project > Project Information [Проект > Информация о проекте], задайте имя проекта и определите дату его начала, основной календарь и тип. На вкладке General [Общее] вы также найдете Тип расходов [Expense type], Чистую приведенную стоимость [Net Present Value] и Коэффициент риска [Risk Coeff.]. На протяжении всего срока реализации проекта вы можете проверять статистику по нескольким параметрам в другой вкладке этой же панели. Работает ли ваша команда в любое время суток, с частичной или полной занятостью, посменно или нет – можно изменить календарь, чтобы это учесть.

Панель для создания и редактирования задачи имеет пять вкладок. На Общей [General] можно определить название задачи, приоритет и процент выполнения; предусмотрены отдельные поля для срока выполнения и объема работы. Зависимости между задачами создать легко: щелкните на первой задаче и перетащите ее на вторую. Между двумя связанными задачами возможны следующие соотношения: FS (Окончание/Начало, значение по умолчанию), FF (Окончание/Окончание), SF (Начало/Окончание), или SS (Начало/Начало). Колонка информации в списке задач показывает задачи, имеющие особые ограничения – например, невозможность запуска до указанной даты.

Кроме диаграммы Ганта, OpenProj строит сетевые графики и позволяет редактировать их непосредственно. В любой диаграмме можно фильтровать и сортировать данные несколькими способами благодаря выпадающему меню в верхнем правом углу. Можно выбрать, к примеру, задачи завершенные или критичные, потому что они задерживаются или превышают бюджет.

OpenProj силен в оценке разных сценариев и анализе показателей: можно сравнить до 10 вариантов плана или сохранить до 11 базовых проектов для анализа методом Освоенного объема. Есть несколько способов узнать, где перерасход.

Проблем с печатью нет, но выбрав PDF в меню File [Файл], вы получите не более чем сообщение «Эта функция доступна только в Project on Demand (онлайн-версии OpenProj). Зарегистрируйтесь для бесплатной пробной версии сегодня». Помимо собственного стандарта, под названием .pod, OpenProj может читать файлы MS Project и сохранять их в XML-формате MS Project 2003.

В целом, OpenProj – программа хорошая, с множеством основных и дополнительных функций, но кое-что мешает нам любить его без оговорки прямо сейчас, как ни жаль. Во-первых, как и в GanttProject, нет автоматического выравнивания загрузки ресурсов. Далее, лицензия CPAL может отпугнуть независимых разработчиков от выбора или расширения этой программы: так или иначе, список рассылки разработчиков показывает всего девять сообщений за весь 2008 год. Затем, в начале декабря 2008 года на сайте Serena указано красным: «Пожалуйста, не присылайте OpenProj вопросы по e-mail, перейдите для этого на форум SourceForge по OpenProj», но там на вопрос «Остановлена ли разработка? На некоторые вопросы не было ответа несколько месяцев» (http://tinyurl.com/7zbqc6) не получено, э-э, ни одного ответа за 10 дней. Таким образом, мы бы лучше немного подождали и посмотрели, что происходит. Надеюсь, ко времени, когда вы будете читать это, все прояснится.

TaskJuggler

Графическое управление проектами со всей мощью командной строки.

ТаskJuggler – нечто иное, чем обычные редакторы диаграмм Ганта: это компилятор командной строки для планирования и слежения за проектом (также называемый taskjuggler) со своей собственной, приятной графической оболочкой Qt/KDE под названием TaskJugglerUI. Не волнуйтесь, он гораздо проще, чем кажется. При работе с TaskJuggler вам не нужно создавать или анализировать проекты, нажимая тут и там, или вводить параметры по одному. Вы просто берете клавиатуру и пишете на обычном ASCII про все, что должно произойти в рамках проекта, кто должен его делать и какие задачи зависят от других. Типичный файл проекта TaskJuggler выглядит примерно так:

task prestudy “Test software” {
length 12d
start 2009-01-16
allocate Marco
}
...
resource all “All employees” {
vacation 2009-02-04
rate 300
resource marco “Marco F.”
}

Написав все, нажмите F9 или на кнопку с часами слева на панели инструментов: утилита командной строки taskjuggler «разберет» описанное вами, оповещая об ошибках или несоответствиях, и вычислит сроки, критические пути и так далее. Именно поэтому некоторые пользователи TaskJuggler называют его «процессор проектов». Если в файле проекта есть ошибка, TaskJuggler поведет себя точно так же, как графическая IDE программиста: сообщит вам, в какой строке и что за проблема. А нажав на сообщение об ошибке, вы попадете в соответствующую точку «исходного кода».

В итоге вы получите стандартную диаграмму Ганта и все другие отчеты, которые вы запросили, в текстовом файле. Среди имеющихся вариантов – графики использования задач и ресурсов, итоговые таблицы, диаграммы Ганта с отслеживанием, экспорт данных в формате CSV или XML, расписание iCalendar и несколько форм HTML-отчетов. Диаграмм WBS, RBS или PERT пока не существует, по крайней мере, в стандартном виде, но тем не менее вы получите массу информации, чтобы держать все под контролем.

Вот первое большое преимущество TaskJuggler: набросать описание проекта гораздо быстрее, чем нарисовать или заполнить форму. Все рисунки за вас сделает программа. Проанализировав схему и найдя то, что вы хотите изменить, нажмите на этом месте, и TaskJuggler откроет файл проекта, поместив курсор на строке, соответствующей данной задаче или ресурсу.

Создание проекта в TaskJuggler приятно по нескольким причинам. Одна из них – поскольку это приложение KDE, то используются стандартные средства KDE, вместо очередного изобретения велосипеда. TaskJugglerUI встраивает мощный редактор Kate, добавляющий нумерацию строк, сворачивание кода, подсветку синтаксиса и другие полезности.

«Компилятор» также умеет автоматически выравнивать загрузку ресурсов. Он переделает для вас даты конца и начала задач таким образом, чтобы никто не работал сверхурочно, пытаясь выполнить задание в слишком сжатые сроки. Проверка внутренней логики также разрешит конфликты при распределении ресурсов.

При запуске нового проекта вы получаете на выбор различные шаблоны. С RPM для Fedora устанавливаются Пустой [Empty], Большой [Large] и Простой [Simple]: мы работали с Большим. Главное окно разделено на две панели. В левой имеются вкладки для открытых файлов, задач, ресурсов, счетов и отчетов, между которыми можно перемещаться с помощью меню Goto [Перейти] на верхней панели. В правой – две вкладки: одна содержит редактор, а другая служит для диаграммы Ганта и других отчетов. Нажатие F7 открывает командную строку.

Единственная реальная проблема с TaskJuggler состоит в отсутствии возможности реального импорта/экспорта для обмена файлами с другими программами.

KPlato

Быстрый PM для пользователей KOffice.

KPlato – PM-компонент KOffice. Это пока довольно молодая программа, что и заметно; но она работает стабильно и уже готова к применению в простых работах. Дизайн схож с OpenProj: меню и панели инструментов вверху, плюс левая панель с тремя кнопками, которые открывают диаграммы Ганта и две панели: для ресурсов и для счетов.

Контроль за тем, что отображается на диаграмме Ганта через меню View [Вид], огромен: зависимости задач, назначенные ресурсы, переменная продолжительность задачи (называется float, «плавание»), процент завершения и критические пути. Правда, не предусмотрено масштабирования схемы. При редактировании диаграмма автоматически не обновляется: завершив его, нажмите на кнопку с часами и линейкой посреди панели инструментов, и KPlato обновит график, отображающий скорректированный временной план.

И диаграмма, и панель Ресурсов' [Resource] разделяются на две части, если вы выберете Вид > Показывать назначенные [View > Show allocated]. В верхней половине панель Ресурсов отображает всех участников проекта и соответствующие им календари, прозвища, нормальные и сверхурочные ставки, и так далее. При выборе ресурсов все задачи появляются в нижней панели, так что вы можете увидеть, перегружен ли работник или что он должен делать в тот или иной день.

Теоретически, KPlato имеет большой потенциал, благодаря своей интеграции в KOffice, где возможен обмен данными с календарем, таблицами и электронной почтой, но всего этого пока что нет. Одна из главных проблем, с которой мы столкнулись при работе с KPlato – отсутствие явного или легкого способа связать задачи друг с другом. Еще одной проблемой может стать то, что сейчас KPlato читает и сохраняет файлы только в собственном XML-формате.

Planner

Менеджер проектов для рабочего стола Gnome.

Planner является прямым потомком того, что когда-то называли Mr Project, и вид этой программы по умолчанию наиболее схож с Microsoft Project (старых версий). На левой панели находятся кнопки, открывающие основные виды программы: Диаграмму Ганта (ее можно привести к подходящему размеру), Задачи, Ресурсы и Использование ресурсов. В диалоге Проект > Изменить Свойства Проекта [Project > Edit Project Properties] можно задать имя проекта, его руководителя, текущий этап и календарь по умолчанию.

Как и в KPlato, ресурсы могут быть трудовыми или материальными, и для каждого из них можно определить календари, затраты и группы. Некоторые пользователи найдут полезной кнопку на панелях редактирования Ресурсов и Задач, при нажатии на которую в поле Заметки [Notes] вставляется время, когда было сделано изменение или добавлены какие-то примечания.

Существуют также поля для назначения приоритетов, и можно добавить частные свойства к вашей задаче.

Для связывания двух задач выберите обе и нажмите на иконку Link [Связать] на панели инструментов. Характер связи между двумя задачами можно изменить: выберите зависимую задачу, откройте панель ее Свойств [Properties] и перейдите на вкладку Предшествующие [Predecessors]. Реальное автоматическое выравнивание использования ресурсов отсутствует, но диаграмма мигом покажет, кто возненавидит вас за испорченный отпуск.

Экспорт возможен только в старый формат Planner, а также HTML или PDF. Существует опция импорта XML-файлов Microsoft Project, но при попытке это сделать с XML-файлом, созданным в GanttProject, Planner не распознал задачи. Хотя ошибка, может быть, кроется в GanttProject, а не в Planner.

Вердикт

TaskJuggler 8/10

Позволим себе малюсенькую тираду: доколе у каждой из протестированных программ будет свой файловый формат?! Конечно, имея исходники, можно добавить фильтры, и диалекты XML легко конвертируются друг в друга, но почему вообще имеет место разнобой? Вот было бы здорово, если бы все свободные PM пришли к единому формату, не требующему никаких фильтров!

Ну, а какой из рассмотренных продуктов больше подойдет лично вам, зависит от степени вашей прикованности к файлам MS Project, особенно если нужно работать с ними именно в этом формате. Тогда вам остается только прикинуть, какая программа среди GanttProject, OpenProj или Planner будет менее неудобна.

Если у вас нет этой проблемы – возможно, вам будет интересно узнать, что победителем нашего Сравнения мы объявляем TaskJuggler. Нет, он не умеет читать или сохранять файлы Microsoft Project, но это не вина TaskJuggler, и сие будет иметь значение, только если вам нужно обмениваться файлами с пользователями Microsoft, верно? Мы предпочитаем TaskJuggler, из-за того, как он взаимодействует с пользователем: вы самым быстрым способом указываете программе то, чего хотите достичь, а TaskJuggler выполняет все остальное.

Для тех, кто привык к планировщикам, основанным на работе с мышью, такой подход может выглядеть ересью; но он вполне успешно применяется пользователями LaTeX и других невизуальных систем верстки, по одной простой причине: когда первоначальное психологическое неприятие редактирования текста вместо диаграмм будет преодолено, дальше все пойдет быстрее. Гораздо быстрее. Есть еще два больших преимущества в работе с текстовыми файлами. Одно – это самодокументирование, поскольку в файл TaskJuggler можно добавить сколько угодно комментариев. Другое – для текстовых файлов очень упрощается контроль версий, поиск и автоматические генерация или обработка, утилитой taskjuggler или любым скриптом Perl: к основанному на TaskJuggler проекту легко добавить любую недостающую программе функцию, например, автоматическое уведомление по электронной почте для менеджера, когда чейто выходной конфликтует с последним графиком задач.

Многим того и достаточно, но ведь для получения всех этих прелестей вам даже не надо страдать без графического интерфейса, и TaskJuggler имеет автоматическое выравнивание ресурсов; что ж вы еще не попробовали? LXF

Таблица характеристик

Название Версия Рабочий стол Язык Формат файла Импорт MS Project Экспорт в MS Project
GanttProject 2.0.8 N/A Java .gan (XML) v v
KPlato 1.6.3 KDE C++ .plato (compressed XML) x x
OpenProj 1.4 N/A Java .pod v v
Planner 0.14.2 Gnome C .planner (XML) v x
TaskJuggler 2.4.1 KDE C++ .tjp (ASCII) x x
Персональные инструменты
купить
подписаться
Яндекс.Метрика