Архив за Декабрь, 2011

Идеальное состояние багтрекера

Понедельник, Декабрь 26th, 2011

Идеальная техническая система -это когда системы нет, а ее функция выполняется.

(с) ТРИЗ

Ряд авторов называют наличие бактрекера в качестве одного из признаков зрелости команды разработчиков ПО.

Действительно, множество растущих команд (компаний) в какой-то момент сталкиваются примерно с одной и той же проблемой. Список дефектов растет и в какой-то момент требуется специализированное средство для управлением порядком исправления. С пятком багов можно легко справиться при помощи почтового клиента. Полсотни багов можно вести в Excel. Но когда их пара тысяч – это уже многовато. И каждый «настоящий» инженер по качеству ПО (в просторечии тестировщик) знает, что по настоящему бороться за качество без бактрекера нельзя. Это догмат. Доктрина веры. Нет бактрекера – нет настоящих инженеров по качеству ПО. Чистая кристальная истина, в которой нельзя усомниться ни на секунду, как нельзя не услышать звук хлопка одной ладонью. А если 20 лет назад выпускались великолепные программы, без использования багтрекинга, то это просто ошибка наблюдения.

Но иногда встречаются «не настоящие».

Из книги Мэри и Тома Поппендик «Бережливое производство программного обеспечения»:

…возможны две разновидности контроля: контроль с целью обнаружения дефекта (когда он уже имеется) и контроль с целью его предотвращения…

Системы …[багтрекеры] – это очереди незавершенных работ; если угодно, очереди работ, … [на] исправление. Очень часто мы полагаем, что если дефект помещен в очередь, все в порядке, он уже никуда не денется. Однако с точки зрения концепции бережливой разработки программного обеспечения, очереди – это коллекторы непроизводительных затрат. Целью является не иметь в очереди ни одного дефекта, а еще более «целесообразная цель» - не иметь такой очереди совсем. Если вы считаете, что это невозможно представить, познакомьтесь с трехгодичным опытом работы Нэнси Ван Шундерворт над проектом по разработке сложного и часто изменяющегося встроенного программного обеспечения. За три года был в целом обнаружен 51 дефект после блочного (или модульного) тестирования, причем каждый раз выявлялось не более двух дефектов сразу. Кому нужна система отслеживания для всего двух дефектов?

Примечание. Перевод я немного поправил. Совсем чуть-чуть. Только явные ляпы.

Действительно, зачем фиксировать дефект в трекере?! Его не фиксировать надо, а исправлять. Нашли и сразу дустом его, дустом. Чтобы не размножался. На первый взгляд остается непонятным, что делать с тестировщиками. Основной артефакт, который выдают тестировщики – это список расхождений между ожиданиями и реальностью. Но пусть вас не смущает этот вопрос. Там где по настоящему пекутся о качестве, там работают не тестировщики, а инженеры по качеству ПО, которые преимущественно занимаются верификацией не скомписированного кода, но других артефактов, таких как: «требования», «диаграммы архитектуры», «исходный код».

Искать ошибки после написания кода – это как делать бэкапы уже после потери операционной базы сбербанка. В принципе полезно, но несколько поздновато. Дефекты имеет смысл искать или до написания кода, или во время оного. Но не после.

Благодарности.

Спасибо Мери и Тому Попендик, Элияху Голдратту, Тайичи Оно и Капитану Очевидность.

Одним предложением

Понедельник, Декабрь 26th, 2011

Таити Оно изобретатель производственной системы Toyota и технологии Канбан: ‘Моя система вообще не имеет смысла, но слава Богу, она работает’.

Если вы по какой-то причине хотите завалить проект и остаться чистеньким - выполняйте все требования заказчика.

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

Хорошо, когда с прошлой работы тебя ищут только для того, чтобы премию отдать.

Правила нарушения трудовой дисциплины

Понедельник, Декабрь 19th, 2011

В первый раз публиковалось на 1 апреля, так что …
С другой стороны, можно использовать как шаблон (рыбу) для написания регламентов, подобно “СМК от питерских
———————————————–
Каждый работник имеет право на проступок.

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

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

Соответственно:
Каждый сотрудник должен каждый месяц совершить несколько проступков. Например:

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

Контроль за регулярным и своевременным нарушением порядка всеми сотрудниками фирмы возлагается на офис менеджера.

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

Свободу Анжеле Девис!
От Анжелы Девис руки!
Дайте свободу Анжеле,
Дайте свободу буки!!!

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

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