Сентябрь, 2011


25
Сен 11

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

Обожаю Angry Birds!  Очень затягивает! Иной раз приходится поднапрячься, пока замочишь свинтуса… Иногда руки опускаются, и невольно вспоминаешь про Mighty Eagle

А еще, в детстве, была такая игрушка  - The Incredible Machine. Каждый раз улучшается настроение, когда вспоминаю…  Для тех, кто не помнит, объясню суть игрушки: нужно собрать достаточно странные и на первый взгляд несовместимые элементы типа вентиляторов, качелей, летающих кошек, бейсбольных мячей и т. п. в единый механизм и запустить его в действие. Если механизм собран правильно, то он произведет некоторое требуемое действие – и ты перейдешь на следующий уровень.

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

Но все это игрушки! В них есть cheating или даже просто можно забросить игру «до лучших времен», если никак не получается… А что, если головоломки приходится решать на рабочем месте? Как сохранить мотивацию и бодрость духа команды, если головоломка побеждает? В этой заметке попробуем разобраться в этом вопросе.

Continue reading →


18
Сен 11

Черный ящик Пандоры

Никогда не задумывался о том, что процесс тестирования — это не просто работа с черным ящиком, но работа с двумя черными ящиками!

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

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

Continue reading →


13
Сен 11

Ой, забыли… опять про ошибки забыли…

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

‘Error while trying to retrieve text for error ORA-XXXXX’

По-моему, «апофигоз» бессмысленности и безобразности! И не от кого-то, а от самой Oracle!

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

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

Continue reading →


9
Сен 11

Баг как краеугольный камень разработки ПО

Откровение Дня Тестировщика
или о чем забываем говорить в другие дни…

Баги – реальность проекта, данная нам в ощущениях тестировщиков. Реестр багов – живое историческое полотно, в котором, как и в коде, запечатлены результаты деятельности всех участников проекта: программистов, тестировщиков, аналитиков, менеджеров. В то же время, реестр багов – катехизис, содержащий огромный пласт знаний о продукте, определяющий саму его суть. И в начала каждой записи – был тестировщик. Честь ему и хвала!

В то же время, природа бага – предмет многих споров. Является ли баг частицей или волной;  топливом, которое удерживает проект на плаву, не давая ему скатиться к тепловой смерти или препятствием к идеально качественному продукту, – вопросы, на которые нет ответа. Ясно одно: баги порождаются программистами, но реально не существуют, пока не будут обнаружены тестировщиками.  И в этом их огромная власть: оставить баг в небытии или дать ему жизнь в конечном продукте. Со временем, пользователи научаются пользоваться ПО в его фактическом состоянии, и так как им удобно, а не так как задумывали разработчики. И в таком состоянии любое поведение – это фича, которая может приносить пользу. Честь и хвала тестировщикам, которые дают жизнь этим фичам!

А вообще, «баг» или «фича» – that is The Question! Как не бывает софта без багов, так не бывает и требований, которые допускают одну единственную интерпретацию. И тестировщики, как богословы или законники, трактуют «священные требования», давая им альтернативное прочтение, описывая свое понимание, даже если оно идет вразрез с понимание других участников команды. Честь и хвала тестировщикам за их инвалиды! Ведь из инвалидов – рождается истина.

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

С праздником вас, коллеги!


8
Сен 11

Осень – время конференций!

Мои доклады приняты программными комитетами нескольких очень интересных конференций! Ниже подробная информация, где и когда меня можно будет найти этой осенью :)


WhaleRider (Москва,  19-20 сентября)

Тема: «На проводе» или два эпизода из жизни распределенной команды

Все больше и больше команд по разработке ПО становятся распределенными. Но разные компании строят процесс взаимодействия между игроками такой команды по-разному: scrum of scrum, декомпозируя ПО на модули и поручая удаленным офисам разработку различных модулей, сосредотачивая в одном офисе специалистов одной роли, и т д. Какой-то вариант оказывается рабочим для одной команды, но совершенно неприемлемым для другой: «серебряную пулю» – способ который работал бы для всех – всё ещё не изобрели.

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

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

404fest (Самара, 1-2 октября)

Тема: Большие проблемы маленьких устройств

Доклад посвящен особенностям процесса заказной разработки мобильного ПО от pre-sale до выпуска, в сравнении с разработкой традиционных настольных приложений:

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

Если вы не хотите наступить на грабли, по которым уже прошли другие — приходите!


CEE-SECR (Москва, 1-3 ноября)

Тема: Навыки менеджера небольшого проекта. Окопная правда

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

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

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


SPM’Conf (Санкт-Петербург, 26 ноября)

Тема: «Качественный менеджер»

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

В своем докладе я расскажу об опыте продвижения QA-специалистов в менеджеры проектов по заказной разработке ПО.

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

Приходите, будет интересно!


4
Сен 11

Несчастный случай в архитектуре, или попытки поправить классиков…

Иногда всё же полезно перечитывать классику… Намедни, наткнулся на третью главу SWEBOK «Ключевые вопросы проектирования» (Key Issues in Software Design).  Что могу сказать — задело за живое! Солидарен с авторами в каждом пункте.

Но всё же мне показалось, что список ключевых вопросов немного «запылился», и пришло время если не пересмотреть его, то во всяком случае расширить. Об этом моя заметка. Continue reading →


3
Сен 11

Самарское сообщество бизнес и системных аналитиков

Поделюсь новостью: в пятницу состоялась первая встреча нового сообщества: Samara Community of Business and System Analysts

Цели сообщества:

  • Стать площадкой для обмена опытом и идеями,
  • способствовать повышению квалификации и совершенствования навыков аналитиков в Самаре,
  • развивать новые и внедрять передовые методологии бизнес и системного анализа,
  • способствовать распространению новостей в области B&SA.

Формы деятельности:

  • Онлайн группа/блог
  • Семинары и круглые столы
  • Онлайн и оффлайн конференции и тренинги

Если Вы хотите принять участие в работе сообщества, стучитесь в Facebook группу:  http://www.facebook.com/groups/scbsa/