?

Log in

No account? Create an account
планфикс planfix

planfix


Официальный блог сервиса ПланФикс (planfix.ru)

ПланФикс позволяет управлять коллективной работой в бизнесе, организации, сообществе


Previous Entry Поделиться Next Entry
Сентябрьский релиз 2013: чеклисты и подзадачи
планфикс planfix
planfix
И снова очередной релиз ПланФикса, и снова я с его описанием :) На этот раз мне придется разбить его на две части - в сегодняшней я расскажу о новом подходе к чеклистам, а в следующей более подробно остановлюсь на приоритетах и ручной сортировке задач.

Немного истории
Я люблю ссылаться на идеологию ПланФикса, чтобы проиллюстрировать один из базовых принципов построения нашего сервиса, который очень похож на бритву Оккама: не плоди сущностей сверх необходимого. Но, несмотря на эту четкую установку, некоторое время назад мы попали в ловушку: когда пришло время добавить в ПланФикс чеклисты, мы поторопились и реализовали отдельную сущность “строка чеклиста”.

Как мы были наказаны

Вскоре после появления в ПланФиксе чеклистов, мы начали получать запросы от пользователей: “дайте возможность назначать исполнителей, к которым относится конкретная строка, а то у нас народ путается, не знает кому что делать”, “пусть у строки чеклиста будет дата, до которой она должна быть отмечена выполненной”. Тут мы, конечно, насторожились - очень уж напоминали эти запросы что-то до боли знакомое. А когда у нас начали просить дать возможность добавлять к строке чеклиста напоминания, мы окончательно поняли, что наступили на нами же описанные грабли.

Фактически, строка чеклиста это не что иное, как мини-задача, просто иногда для ее описания достаточно одного названия, которое передает ее суть, а в некоторых случаях эту задачу хочется развернуть: назначить дедлайн, исполнителей, установить напоминалку и так далее.

Мы не поняли этого на момент планирования функционала чеклистов, поэтому в ПланФиксе появилась лишняя сущность - строка чеклиста, которая по сути является частным случаем задачи, у которой не задано никаких параметров. И только когда наши пользователи начали подталкивать нас к развитию этой сущности и наделению ее всеми опциями задачи, мы поняли свою ошибку. Если бы мы продолжили идти по этому пути, то через какое-то время в ПланФиксе параллельно жили бы две одинаковые сущности, одна из них называлась бы “задача”, а другая - “чеклист”.

Путь самурая
Как должен поступить настоящий самурай, когда понимает, что его основной жизненный принцип нарушен, причем его собственными действиями?


samurai
источник

Нет, до харакири в нашем случае дело не дошло, но без ножа не обошлось :)

На момент осознания нами своего заблуждения, чеклисты ПланФикса уже имели возможность назначения исполнителей и обросли разнообразными уведомлениями об изменениях и отметках “выполнено”. Но это их не спасло - для сохранения возможности дальнейшего развития и во славу основного принципа ПланФикса, мы безжалостной рукою выпилили весь функционал чеклистов и заново написали его, уже на основе задач.

Как теперь работают чеклисты
Теперь любая строка чеклиста это задача, даже если изначально она на нее и не похожа. Она может остаться просто строкой (по сути - задача, у которой есть только название), а может быть развернута в полноценную подзадачу, со всеми подобающими регалиями. Несмотря на то, что абсолютно все строки чеклиста хранятся в базе данных как задачи, для удобства мы решили их отображать по-разному. Вот как выглядят строки чеклиста и полноценные подзадачи в общем чеклисте задачи:


Подзадача отображается как ссылка. В такую подзадачу можно перейти и увидеть все ее детали. Помимо чеклиста, подзадачи также можно увидеть на вкладке “Подзадачи” в карточке задачи.

Вы можете настраивать вид отображения чеклиста, включая или выключая отображение подзадач:


Для чего мы разделили “простые” строки чеклиста и полноценные подзадачи?
Чтобы не засорять списки задач. Мы решили, что активные пользователи чеклистов не обрадуются вдруг возникшей ниоткуда куче задач, которые будут выводиться в списках “Все”, в Планировщике и в куче других мест ПланФикса. Да и далеко не всегда они там нужны - есть множество ситуаций, в которых простых строк чеклиста будет более чем достаточно, и нигде, кроме как в задаче, их видеть нет необходимости.

Как происходит переход от “простой” строки чеклиста к подзадаче?
В процессе разработки мы обсуждали вариант сделать этот переход прозрачным для пользователя - пока у строки чеклиста нет дополнительных свойств, оставлять ее просто строкой текста (задачей, у которой есть только название), но как только пользователь захочет назначить строке дедлайн, добавить напоминание или любой другой реквизит - делать ее полноценной подзадачей, отображать в виде ссылки и показывать во всех списках задач на общих основаниях.

Взвесив все “за” и “против” такого подхода, мы решили пока остановиться на ручном варианте - в тот момент, когда пользователь хочет установить дополнительные параметры для строки чеклиста, он сознательно делает ее задачей и дальше работает с ней привычным образом:


Как будет работать этот механизм в дальнейшем, покажет время и ваши отзывы, этот вопрос для нас не закрыт.

Что получили чеклисты в результате переделки?


  • В первую очередь, это возможность задания пункту чеклиста любых параметров - ведь теперь это подзадача. Вы можете быстро накидать список дел по задаче, а затем нужные из них развернуть: добавить дедлайны, файлы, комментарии - все, что понадобится. Бывает так, что в процессе работы из одной строчки чеклиста вырастает целая ветка задач - и ПланФикс теперь без проблем позволяет это сделать.



  • Многоуровневость. Сразу при создании чеклиста можно задать вложенность строк или подзадач в нем. Для удобства можно использовать горячие клавиши, список которых спрятан тут же, под иконкой:




  • Возможность перемещать пункты относительно друг друга:



Ну и самое главное - мы избавились от лишней сущности, а это гораздо сложнее и полезнее, чем эти сущности добавлять.

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


Работа с подзадачами тоже стала проще и удобнее: она перекочевала на стандартную панель и получила такие же возможности по быстрому созданию и редактированию, как и чеклисты:


Переделка была серьезной, она затронула многие разделы ПланФикса, поэтому обязательно всплывут какие-то ошибки и недочеты. Мы будем внимательно следить за вашей реакцией на новые чеклисты: не стесняйтесь оставлять отзывы прямо здесь, ставьте задачи на службу поддержки ПланФикса из своего аккаунта, спрашивайте, предлагайте - это важно для нас, мы читаем и обсуждаем каждый отзыв.

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


dm_200_200
  Дмитрий Гончаренко
   Команда ПланФикса

  • 1
Все круто. Только про назначение исполнителей не сразу понял, пока сюда не зашел.
Наверное хотелось бы видеть подзадачи не нажимая дополнительную кнопку.

Галочка сохраняется. Сделано специально, чтобы оставить обратную совместимость и не пугать людей гибридными чеклистами с подзадачами.

А назначать пункт чеклиста группе можно будет?
И из задачи пункт чеклиста уже не сделать обратно?)

>> А назначать пункт чеклиста группе можно будет?

Уже можно, если конвертировать его в подзадачу

>> И из задачи пункт чеклиста уже не сделать обратно?)

Обратно нет, это необратимая операция. Мы хотели изначально сделать - технически ничего сложного нет, вот только что делать с комментариями, аналитиками, файлами, напоминаниями, которые будут прикреплены к этой подзадаче? Проще удалить подзадачу и сделать новый пункт чек-листа.

>> Уже можно, если конвертировать его в подзадачу
А без конвертации?
Собственно, пока не нашел и после конвертации как сделать, но не суть.
А вот в чеклистах сделать такую возможность - было бы неплохо.
У нас, бывает, меняются исполнители в команде, а шаблоны настроены на назначение задач целым группам пользователей, чтобы потом при смене работника не надо было бы менять и исполнителя в 100+ задачах (древовидных шаблонах), в которых также много чеклистов.
В итоге получится так, что если придет новый работник, то под него надо переделывать все шаблоны в части чеклистов. А массовые операции на шаблонах не работают.

>> А без конвертации?
Посовещались в команде - вроде нет никаких технических ограничений, чтобы сделать назначение пунктов чек-листов на группы. Поставили себе задачу по доработкам чек-листа. Сделаем.

>> Собственно, пока не нашел и после конвертации как сделать, но не суть.

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

>> После конвертации просто заходите в получившуюся подзадачу и назначаете исполнителей.

ОК, я думал, что проглядел это в интерфейсе чеклистов, если подзадачи смотреть вместе с чеклистами и нажать на редактирование

Отличное обновление!
Давно ждал возможность менять порядок задач и их вложенность простой сортировкой.
Так что большое, человеческое вам спасибо :)

Также хотелось бы видеть такие плюшки как:
- быстрое изменение сроков задачи при просмотре их в режиме подзадач
- иметь вид по типу подзадач для просмотра задач всего проекта (т.е. что бы можно было сортировать и менять вложенность перетаскиванием сразу по всем задачам проекта на одной странице)

>> иметь вид по типу подзадач для просмотра задач всего проекта (т.е. что бы можно было сортировать и менять вложенность перетаскиванием сразу по всем задачам проекта на одной странице)

Сортировать задачи (делая их подзадачами) и т.д. перетаскиванием в проекте можно уже и сейчас. Для активации этой возможности Вам нужно выключить один из видов сортировок в столбце с задачами, который, скорее всего задан у Вас.

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

Я не знаю сколько будет стоить Ваш сервис, но из того что я встречал, самое достойное предложение. Спасибо Вам! Жму руку!

Не был инициатором доработки, но сам терялся, когда просил ребят сделать шаблон задачи - думал делать его с чеклистом или с набором подзадач. В итоге каждый делал, как считал верным. Теперь я очень рад, что в итоге получилось одно и то же.

Молодцы, как всегда !

Делайте сервис платным, сколько можно уже :).

Edited at 2013-09-24 19:51 (UTC)

Спасибо, Артем!
Сделаем когда-нибудь, куда деваться :)

Спасибо! Очень порадовала возможность перемещения пунктов чек-листа относительно друг друга.

Появился вопрос - иногда подзадачу хотелось бы отнести к другому проекту, не к тому же, в котором находится надзадача. Но это невозможно сделать.
Планируете ли вы добавить такую возможность?

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

  • 1