Русский
Русский
English
Статистика
Реклама

Trello

Из песочницы Trello начало работы и скрытые фишки

17.07.2020 16:20:19 | Автор: admin

Что такое Trello, и как оно работает?




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


P.S. если вы хоть раз открывали приложение trello листайте до основы работы.




Как начать работу


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


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


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


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


Каждая карточка имеет название, описание и действие. Название буде видно нам снаружи на всей доске, а вот вся остальная информация скрыта внутри карточки и только некоторые справочные пункты можно тоже выносить как бы на обложку карточки.




Основы работы


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


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


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




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


Интересная модель: когда я готовился к ЕГЭ, и у меня было большое количество вебинаров, которое нужно было посмотреть, я просто создавал чек-лист с вебинарами и в строчки вносил ссылки на эти видео, а затем отмечал по мере просмотра.




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


Как это сделать:


  1. В правом верхнем углу доски нажимаем на кнопку меню.
  2. Далее, в открывшемся меню мы видим раздел Улучшения.
  3. Открываем этот раздел и вбиваем в поиск календарь, по-русски или по-английски в зависимости от версии приложения.
  4. Видим карточку calendar и нажимаем добавить.
  5. Готово, теперь на нашей доске есть календарь.

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




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


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





Вот мои шаблоны, копируйте, пользуйтесь.












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




Шаблоны


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


P.S. я использую шаблон, который можно найти, вбив getting things done.




Синтаксис


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


В trello используется известный во всем мире способ синтаксиса markdown, и вот некоторые штуки, которые можно применять для оформления текста в карточке trello.




Заголовки


Если вам нужно выделять заголовки, ставим # (чем больше хэштегов перед заголовком, тем меньше будет шрифт заголовка).


Заголовок H1


Заголовок H2




Шрифты


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



Курсив и Курсив
Жирный текст и Жирный текст
Жирный и курсивный текст




Выделение


Выделение части текста рамочкой другого оттенка, ставим (>) перед текстом и все красиво.


Очень глубокомысленная цитата. Пожалуйста, прочтите её внимательно.

Оскар Уайльд



Линии разделения


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


(***)
(___)




Зачеркнутый текст


Символ (~)
~~ зачеркнутый текст ~~
зачеркнутый текст




Как посчитать количество карточек?


Если на доске открыть меню и вбить в поиск карточек символ ($), то над каждым столбцом появится количество карточек в нем.




Заключение


Trello это достаточно продвинутая программа, которая может очень сильно помочь, как в организации личной жизни, так и в управлении проектом. Если вы дочитали до конца, и так и не поставили это приложение, то советую вам сделать это прямо сейчас, возможно оно изменит вашу жизнь, как оно изменило мою.

Подробнее..

Проводим ретроспективы для распределенных команд (и как Trello в этом помогает)

19.04.2021 10:09:21 | Автор: admin

В последнее время я достаточно часто использую Trello, и, должен признаться, выглядит пока Трелло как наилучший инструмент для Ретроспектив и Фидбека по Демо. Так что в этом после попробуем пройтись по теме того, как Trello соотносится с другими аналогичными для этих задач инструментами.

Почему Trello

Я пользовался большим количеством инструментов, из которых можно выделить основные: Miro - как интерактивный флипчарт, с которым может взаимодействовать вся командa; Google Docs с секциями помапанными на стадии ретроспектив; Confluence (так как все мои проекты пронзены Atlassian-стеком); а также, порой, Jira (вау, это была достаточно плохая идея)!

Я думаю что все пытались нащупать тот самый инструмент, который можно применить фактически в любой области!

И вот я бы выделил основными критериями для проведения Ретро и собирания фидбека о Демо в подобных инструментах:

1. Насколько хорошо оно работает на уровне объектов (во время обсуждений). -> в идеале тут хотелось бы видеть карточки (все таки мы в физическом мире работаем со стикерами) :)

2. Быстрая и эффективная работа с карточками / объектами

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

4. Перетасовка / изменение порядка карточек / объектов / айтемов

5. Как можно меньшее время, затраченное на следующую последовательность действий: создание секции (списка) -> добавление в него объектов / карточек -> тегирование / подсветка айтемов (членами команды) -> добавление комментария к айтему.

Miro

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

Google Docs

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

В этом плане, знаете, даже google sheets казалось бы удобно использовать, как инструмент более подходящий для нашей аналогии двухмерной-классической-ретро-доски (ну как двухмерной, скорее именно с точки зрения того, что у нас есть некие секции с контентом для хорошо/не оч/ улучшить). Но и тут нас поджидает неудобство - drag-n-drop для айтемов, и их линкование друг с другом работает ужасно. Я еще пробовал в свое время google slides, с подходом слайд-для-секции (например перечислить все те великие свершения, в которые мы шмогли с прошлого спринта) - но в итоге менеджить это было сложно, ввиду тяжеловесности решения, ну и на одном таком канвасе могло одновременно ну человека два работать может, не больше. Ну и подсвечивать айтемы там конечно можно, но оно для того не очень приспособлено.

Confluence

Ну вот же confluence, там же целый шаблон для ретро есть! Скажете вы. И будете правы!

Но хорош этот шаблон для документирования/стенографирования, для журнала принятия решений. А нам это в ретро не нужно! Нам нужна живая дискуссия где народ таскает карточки по колонкам, клонирует, обсуждает, помечает!

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

Trello

Ну вот а когда мы подходим к Trello - оно просто поддерживает карточки. И голосовалку для этих карточек с помощью power-up'ов (очень просто). Или через тегирование этого дела цветами (что работает просто и быстро).

Мы можем делать драг-н-дроп карточек, организовывать стадии ретроспективы в колоночки. Если карточка длинная и разрослась в обсуждении - можно бросить ее в колонку парковка.

Короче говоря: trello это самый простой в использовании аналог флипчарта со стикерами :)

Подготовка к самой ретроспективе, и ее начало

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

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

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

- Соединение должно быть отличное! Мы не хотим страдать из-за непонимания (особенно в мультиязычных командах :), и нам не нужны лаги

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

Сама Ретроспектива

В зависимости от зрелости и атмосферы в команде можно использовать Ice Breakers (чтобы настроить на легкое взаимодействие и убрать ощущение обязаловки). Ну и не забудьте проверить как команда чувствует себя после спринта (проверка температуры) - не ждите высокой оценки как данности.

Запланированные улучшения с прошлого спринта

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

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

Это позволяет команде добавить прозрачности в её процессах, а также задать тон саморефлексии для самого события ретроспективы.

Иногда эта стадия может затянуться (планировали улучшение - не смогли достичь - начинаем погружаться слишком сильно в детали почему). Как фасилитатор, ваша задача помочь команде найти продуктивный путь для выявления настоящей причины в достаточно короткий срок (у нас ведь есть таймбокс). Поэтому мы с вами планируем один обязательный пункт улучшения, два уже имеют риск затянуть начало ретроспективы. Также старайтесь просто запарковать это обсуждение на полее поздние части ретроспективы - если нужно действительно разобраться. А возможно это даже не относится к ретроспективе как к событию, а надо проводить RCA / Post-Mortem?

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

Цели спринта и метрики

Цели Спринта

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

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

Метрики

Метрики спринта важны и как внутренний-SLA для команды, и как общий индикатор, который в комплексе помогает команде понять динамику.

Обычно команда навскидку придумает с десяток факторов, которые для неё препятствия чтоб быть более эффективной. Если поддерживать ведение такой дискуссии в правильном русле (читай, фасилитировать), и помогать команде наводящими вопросами (читай, коучить), ребята сами соорудят путь к улучшению и как его измерять. Главное чтобы был запрос на улучшение, и была понята сама проблема (нафига оно нам вообще). Еще нюансик: не рассматривайте метрики отдельно друг от друга, и стройте связи между опережающими индикаторами (гипотезами) и запаздывающими индикаторами (результатом). Например, действительно ли увеличение покрытия кода тестами увеличивает уверенность в том, что на проде качество улучшается?

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

- Lead Time (время от запроса клиента до поставки)

- Cycle Time (время от начала работы над задачей до поставки). Когда объяснишь на примере донесения ценности до пользователя - как устроен весь пайплайн и где затыки, ребята сами будут мотивированы следить за этими метриками (если, конечно, они у вас общаются с клиентами постоянно),

- Время в Code Review (атож, сколько задача висит и сколько ее проверяют),

- Количество раз тикет был переоткрыт (помогает вместе с определением Definition of Ready),

- Mean Time to Recovery (инцидент-метрика для понимания среднего времени на устранение),

- Bug Escape Rate (сколько багов мы не поймали на тестовых стендах, но поймали после релиза на прод).

В целом все зависит от ситуации, но я считаю Cycle Time и Lead Time тем самым минимумом для всех. Cycle Time в целом дает вам понимание прозрачности и предсказуемости.

Активность на выявление дельты улучшения ~ 'Хорошо-Плохо-Улучшения

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

Собираем фидбек с команды о том, как прошла ретроспектива

Ну а что, нужно же нам знать, насколько плохо мы справились! Я просто прошу оценить ретро по 10-бальной шкале, и назвать одно улучшение, чтобы увидеть дельту.

Референсы и полезности

У Бена Линдерса (Ben Linders) есть хорошая трелло-доска, в которой люди краудсорсят ретроспективные техники для распределенных команд в трелло.

  • https://www.benlinders.com/news/trello-board-retrospective-techniques/ Это, наверное, и разговоры с самим Беном, были огромным подспорьем, чтобы написать этот пост.


Подробнее..

Боль разработчика Никогда не давайте пользователям бесплатный тариф

15.03.2021 12:08:42 | Автор: admin


Если вы запускаете какой-то сервис в интернете, всегда есть соблазн предложить бесплатный тариф, чтобы завлечь публику.

Вы думаете, что людям понравится и они захотят перейти на нормальный тариф с полными функциями. Это большая ошибка. Если человека полностью устраивает бесплатный тариф, то он на нём останется навсегда!

И будет требовать от вас надёжного сервиса, новых функций и предъявлять претензии. Чем меньше платит пользователь тем больше шуму он поднимает в социальных сетях и тем больше поддержки требует. Отрицательные отзывы идут именно от бесплатных юзеров, а не от платных (это вполне логично, если подумать).

Британский разработчик Гвидо Зюйдхоф (Guido Zuidhof) настолько устал от таких пользователей, что запустил специальный сайт No Free Plan, на котором излил всю свою боль по этому поводу.

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

Цена бесплатного плана


На первый взгляд кажется, что в бесплатном тарифе одни плюсы. Вы практически не тратите ресурсов, предлагая чисто символический объём услуг, который не стоит вам почти ничего в плане серверной мощности. Это привлекательная конфетка для пользователей, которую они заглатывают и со временем переходят на платный тариф.

Но в реальности у каждого бесплатного плана есть конкретная цена. Она измеряется в вашем времени и усилиях.

Мы уже упомянули, что люди на самых дешёвых тарифах самые назойливые. Как думаете, от кого придёт больше запросов в службу поддержки: от десяти крупных корпоративных клиентов с подпиской за $100 в месяц или от тысячи пользователей, каждый из которых сидит на тарифе за $1 (включая школьников, студентов)? Очевидно, что в первой группе более высококвалифицированные специалисты и профессиональные IT-департаменты, которые задают меньше глупых вопросов.

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

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

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

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

В итоге бесплатные тарифы слишком дорого обходятся.

Ничего бесплатного не бывает


Понятно, откуда идёт заблуждение об эффективности бесплатных планов. Мы видим, что крупнейшие интернет-компании Google и Facebook не берут никакой платы за основной набор услуг. Хотя у Google есть много платных сервисов, но для широкой публики всё основное бесплатно. И на Google Drive, и на Gmail есть бесплатный лимит, который устраивает почти всех.

И стартап YouTube тоже никогда не брал платы за просмотр видеороликов.

Но важно понимать, что эти компании являются исключением из правила! По модели фримиум работать очень тяжело, и мало у кого получается без мощной накачки инвестициями. Все риски нужно тщательно просчитать.


Сервис слежки за сотрудниками Hubstaff почти обанкротился с таким бесплатным тарифом

Прежде чем предлагать бесплатный сервис налево и направо, наращивая пользовательскую базу в геометрической прогрессии, нужно продумать бизнес-модель. Это проблема не только SaaS, но и онлайновых СМИ, которые хотят сохранить бесплатную подписку. Например, несколько лет назад закрылся Gigaom популярный и качественный сайт с техническими новостями и аналитикой. Один из лучших представителей IT-журналистики не смог выжить по модели фримиум.

Какие альтернативы?


Пробный период


Отлично работает пробная подписка. Особенно как в варианте Netflix когда одновременно с бесплатным пробным периодом заключается договор на дальнейшее платное обслуживание, так что через 30 дней счёт выставляется автоматически. Теоретически, пользователь имеет право в любой момент отменить подписку, хотя на практике очень многие забывают это сделать или ленятся это не совсем честно, но законно во многих странах. Ну а большинство действительно довольны платным сервисом Netflix и привыкают к комфорту.

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

Пробный период эффективен даже без тёмных паттернов. Лимит можно выставить по времени (30 суток) или по объёму услуг (в гигабайтах трафика, минутах просмотра и т. д.).

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

Фильтрация пользователей


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

Вы выбираете действительно достойных, кто вам нравится.

Теперь в сервисе будет не толпа крикливых халявщиков, а очень интеллигентная, интеллектуальная и благодарная публика. Вы будете гордиться, что предоставляете бесплатные услуги таким хорошим людям, это благоприятно для имиджа, репутации и кармы.

Здесь нет никакого снобизма, разработчик сервиса имеет полное право на такую избирательность, какую захочет.

Правда, тут тоже есть определённые накладные расходы. Претенденты попытаются связаться с вами, будут писать письма и звонить, объяснять свои замечательные стороны или выясняя подробности, как получить бесплатный тариф.

Ещё один вариант фильтрации заранее брать данные платёжной карты с выставлением счёта, если пользователь вышел за пределы бесплатного лимита, по образцу Google Cloud. Таким образом, отсекается часть юзеров, которые принципиально никогда не готовы ни за что платить, и работает страховка от чрезмерного использования сервиса.

Единовременный платёж


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

Например, это может быть чисто символический платёж в 1 доллар а затем тот же бесплатный тарифный план навсегда. Или ограниченный набор услуг, как в бесплатном плане, но за минимальную сумму.

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

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

Автор концепции No Free Plan говорит, что на создание сайта его побудило чтение многочисленных дискуссий в сообществе Indie Hackers, где общаются основатели мелких онлайн-компаний и независимых бизнесов. Обычно это разработчики-одиночки, которые запускают платный сервис, SaaS, утилиту, игру или мобильное приложение или несколько таких сервисов, зарабатывая доход в качестве индивидуального предпринимателя.

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

Проблема опенсорсных мейнтейнеров


Эта проблема отлична известна в сообществе Open Source. Мейнтейнеры опенсорсных проектов работают бесплатно и быстро выгорают на этой работе, сталкиваясь с массой претензий от недовольных пользователей.

Не каждый выдерживает такое давление. Некоторые психуют и просто удаляют свои репозитории, как это сделал хабраюзер fafhrd91, автор веб-сервера Actix Web. После критики его профессиональных навыков автор отказался от дальнейшей поддержки проекта (репозиторий всё-таки восстановили и передали другому мейнтейнеру).

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

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

Предлагая бесплатный тариф, вы рискуете столкнуться с теми же проблемами, от которых страдают мейнтейнеры опенсорсного сообщества. Не повторяйте чужих ошибок, пишет Гвидо Зюйдхоф.

Преимущества бесплатных тарифов


Конечно, его мнение крайне субъективное. Сам Гвидо запустил два простеньких инди-сервиса и на сегодняшний день не заработал ещё тысячи долларов. То есть у него пока не накопилось достаточно опыта, чтобы делать такие выводы и объективно оценить пользу бесплатных тарифов.

В то же время мы видим, что многие компании предлагают данный вариант. Бесплатные вечные тарифы есть у Trello, Jira, Slack, Asana, Dropbox. Миллионы профессионалов используют эти сервисы бесплатно, а потом рекомендуют их в компаниях, куда приходят работать и те покупают платную подписку. Ссылки на Dropbox разлетаются по интернету как вирусный маркетинг. Таким образом, здесь расходы на бесплатные тарифы многократно окупаются.

Вопрос только в том, это стандарт индустрии или исключение из правил?

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

Это модель будущих единорогов.

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

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

Зачастую затраты на бесплатный тариф просто не окупаются. Нужно тщательно просчитать свои расходы и коэффициент конвертации, при котором эти расходы будут компенсированы. Бесплатный тариф сложная штука.



На правах рекламы


Наша компания предлагает аренду VPS для совершенно любых проектов. Создайте собственный тарифный план в пару кликов, максимальная конфигурация позволит разместить практически любой проект 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe!

Подробнее..

Как создать Trello dashboard, чтобы задачи из 5 досок собирались в одной?

16.05.2021 18:12:28 | Автор: admin

Проблематика

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

Какие есть варианты?

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

В чем смысл объединения?

  1. Заходить в 5 досок и просматривать отдельно каждого, просто не хватит времени и сил.

  2. Если не синхронизировать доски на одном экране, будет крайне сложно сравнить одного сотрудника с другим по уровню текущей нагрузки.

  3. Сотрудники хотят понимать нагрузку каждого из членов команды, а для этого нужно опять же как то сводить все воедино.

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

Как синхронизировать доски 5 сотрудников в одной доске "дашборде" и при этом не оплачивать лицензию в Трелло или передаточных сервисах типа Zapier?

Решение задачи:

К счастью для работы с досками trello уже создан полноценный пакет на языке R, который позволяет подключаться к API таскменеджера, и именно им я и решил воспользоваться для решения всех задач.

Ход решения:

Сначала получим ключи и секретный код для работы с API https://trello.com/app-key (предварительно необходимо авторизоваться под своей учеткой в Trello и открыть себе доски сотрудников с правами администратора)

Сохраняем ключ и токен, который можно найти внизу этой же страницы

Далее установим сам язык R. Для его подключения нужноскачатьи установить инсталляторы. Также для комфортной работы с R рекомендуюиспользоватьбесплатную среду разработки RStudio.

Для решения вышеописанной задачи нам потребуется установить пакеты для:

  • работы с API Trello trelloR

  • работы со временем и временными периодами lubridate

  • работы с таблицами и агрегации данных dplyr

Чтобы установить пакеты из основного репозитория CRAN примените базовую функцию install.packages, а для загрузки пакетов с github функцию install_github:

remotes::install_github("jchrom/trelloR")install.packages("lubridate", dependencies = TRUE)install.packages("dplyr ", dependencies = TRUE)

Подключаемся к API и получаем токен:

# Указываем путь к папке куда будет сохранен полученный tokensetwd("C:\\*********\\R_script\\trello")# Получаем tokenmy_token = get_token("my_app", key = "", secret = "",                     expiration = c( "never"))

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

trelloadd <- function(delcard = NULL,                      addcard = NULL,                      nlista = NULL){  # Находим исходный лист сотрудника в Трелло откуда будем брать карточки  для записи в дашборд  ishod_tab <- get_list_cards(addcard)    # Определяем доску куда пишем новые карточки  bid = get_id_board(delcard)    # Получаем все списки с листами на доске дашборда  lid <- get_board_lists(bid)$id[nlista]    # Получаем все карточки в необходимом листе куда пишем  cid<-get_list_cards(lid)    # Удаляем карточки, которые уже есть в листе сотрудника на дашборде  if (length(cid$id)>0) {    for (i in 1:length(cid$id)) {      delete_resource(resource = "card", id = cid$id[i])    }  }else{    print("no-del")  }    # Находим дату создания карточки в исходном листе  dateList<- data.frame(dateadd = NA)  for (i in 1:length(ishod_tab$id)) {    cardID <- ishod_tab$id[i]    dateList[i,1] <- strtoi(strtrim(cardID, 8), 16L)  }  dateList$dateadd <-as.POSIXct(dateList$dateadd, origin = "1970-01-01")    # Циклом собираем лист записи и создаем карточку для переноса в дашборд  if (length(ishod_tab$name)>0) {    for (i in 1:length(ishod_tab$name)) {        payload = list(        idList = lid,        name = ishod_tab$name[i],        desc = paste0(ishod_tab$desc[i],"Date Add: " ,dateList$dateadd[i], "                     В работе уже ", floor(as.vector(difftime(today(),dateList$dateadd[i], units='days'))), " день"),        start = ishod_tab$start [i],        due = ishod_tab$due [i],        pos = "bottom"      )      r <- create_resource("card", body = payload)    }  }else{    print("Ok")  }  if (nrow(bind_rows(ishod_tab$labels[]))>0) {      # Добавляем лейблы (метки)    bid = get_id_board(delcard)    lid <- get_board_lists(bid)$id[nlista]    cid <-get_list_cards(lid)        # Находим карточки без меток    nlab <- which( lapply(ishod_tab$labels, length)!=0 %in% T)    for (i in nlab) {      labl <- ishod_tab$labels[[i]]      for (xi in 1:nrow(labl)) {        r <-  add_label(cid$id[i], color = ishod_tab$labels[[i]][xi,4],                        name = ishod_tab$labels[[i]][xi,3] )        }    }   }else{    print("no_lable")  }}

В функции необходимо будет только заполнять переменные:

  • delcard - Это id дашборда в который будет записываться информация из досок сотрудников

  • addcard - Это id листа из которого будут браться карточки для переноса в дашборд

  • nlista - номер листа в дашборде в который будут заноситься карточки

Получаем delcard

Для получения id дашборда куда будем писать общие карточки, сначала необходимо создать эту доску в самом Трелло, а затем из поисковой строки браузера скопировать необходимый нам id

Пример ссылки: https://trello.com/b/*********/общие-задачи - где значения ****** это будет Id конкретной доскиПример ссылки: https://trello.com/b/*********/общие-задачи - где значения ****** это будет Id конкретной доски

Получаем addcard

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

get_board_lists("https://trello.com/b/*****/сотрудник1", query = list(customFieldItems = "true"))

В результате выполнения функции, прямо в консоли R мы получим перечень всех листов на доске и по названию листа можем выбрать необходимый нам id для получения карточек

Данную процедуру мы проделываем для досок всех наших сотрудников из досок которых мы планируем забирать карточки для переноса на дашборд.

Далее проходим доски всех сотрудников и перезаписываем их на общий дашборд используя функцию созданную выше:

# Сотрудник1 ####trelloadd(delcard = "od*****W",           addcard = "600**********04",          nlista = 2)# Сотрудник2 ####trelloadd(delcard = "od*****W",           addcard = "5fc4********24",          nlista = 3)# Сотрудник3 ####trelloadd(delcard = "od*****W",           addcard = "5e94*********8ce",          nlista = 4)# Сотрудник4 ####trelloadd(delcard = "od*****W",          addcard = "5faa*********c522",          nlista = 5)# Сотрудник5 ####trelloadd(delcard = "od*****W",          addcard = "60744*******3394",          nlista = 6)# Сотрудник6 ####trelloadd(delcard = "od*****W",          addcard = "5e73******b07",          nlista = 7)

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

Готовый дашбордГотовый дашборд

В итоге:

  1. Мы получили полноценную синхронизацию всех досок любого числа сотрудников в trello

  2. Решили проблему с тем, чтобы наглядно иметь доступ к дате создания каждой задачи

  3. Имеем фундамент для анализа продуктивности сотрудников в любых разрезах, благодаря возможности добавлять в код новые различные улучшения расширяя код на основе Api от Trello, на основе бизнес логики вашей компании и возможностей языка R.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru