Ежедневно стабильный проект, и релизы по чёткому графику? Легко!

У многих компаний-разработчиков цикл развития программного продукта выглядит так:

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

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

В этом посте я переключу ваш мозг на 180 градусов и расскажу как сделать, чтобы вы смогли пообещать релизиться каждые N дней и выполняли это обещание лёгким движением руки. При этом каждый раз доставали, словно чёртика из коробочки, несколько клёвых киллинг-фич. Continue reading “Ежедневно стабильный проект, и релизы по чёткому графику? Легко!”

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

Этот пост адресован менеджерам проектов по сайтам, а так же тем, кому это ещё предстоит в будущем. Итак, вы ведёте проект по разработке или поддержке сайта. Под вашим руководством работает несколько человек, а так же какие-то правки вносят другие люди – блоггеры, контентщики, сеошники. По хорошему надо ставить все задачи в таск-менеджер, но мы-то с вами знаем, что это не панацея. Ваш руководитель любит пробегать мимо и разбрасывать устные указания. Часть изменений вы вносите в личном общении с верстальщиками. А люди из соседнего отдела вообще вносят мелкие правки и слышать не хотят о том, что вы менеджер и должны контролировать этот процесс.

При этом, если вы с верстальщиками компетентны в плане корректного html-кода, то остальные участники могут тупо редактировать контент через “визуальный редактор” в админке, снося таким образом все тщательно выверенные стили и яваскрипты. Более того, я встречал менеджеров, которые даже не догадываются что когда два человека одновременно редактируют страницу – изменения одного из них всегда будут утеряны. Они уверены в том, что админка “сведёт” их правки воедино, как это сделали бы системы контроля исходного кода (svn). А если к сайту имеет доступ ещё и сам клиент..

Итак, вы менеджер по этому сайту, и у вас ум за разум заходит при попытке контролировать всё и вся. На вас выливают ушаты помоев за то, что на какой-то странице какая-то точка стоит не там где надо. По-хорошему надо было с самого начала писать тесты, но время утеряно, тестов нет, а контролировать надо прямо сейчас. Как? Continue reading “Мониторинг сайта: как первым узнать, когда что-то сломалось”

Как распарсить mantis

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

Я раскопал свой старый php-скрипт, который писал в далёкой молодости, и адаптировал его к сегодняшним реалиям. И вот что получилось: Continue reading “Как распарсить mantis”

Теория автоматического обновления (deploy)

Каждый разработчик сайтов и веб-приложений регулярно сталкивается с задачей обновлять свои проекты. Хорошо, если вы работаете в правильной среде и имеете все инструменты для деплоя (deploy). Но что, если нет? Давайте рассмотрим несколько способов и выберем наиболее подходящий.

Continue reading “Теория автоматического обновления (deploy)”