Рекомендации к чтению

Апрель 18, 2012

На прошлой неделе в фирму прибыло несколько килограммов книг.

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

Прибыло не все, что хотели (некоторых книг нет в продаже).

Часть книг уже разобрали.

imag0172.jpg

Краткий план типового рассказа про Agile

Март 12, 2012

Просмотрев десятки книг и докладов по Agile, я выделил некую типовую последовательность изложения. Она встречается во многих докладах и книгах в той или иной форме. Чтобы помочь будущим докладчикам и писателям я составил краткий план. Пользуясь им вы сэкономите кучу времени. И у меня просьба. Делайте ссылку, соответствует ваш доклад (книга) этому плану. Если это возможно.
– План ————————-

  1. Для начала немного истории - для тех, кто не в курсе. Agile методологии разработки родились в противовес классическим моделям, в которых результата пытались достичь за счет процессов, процедур и регламентов.
  2. Естественно получалось фуфло.
  3. Мы у себя внедрили Agile.
  4. Сейчас я вам расскажу, какие классные процессы, процедуры и регламенты мы у себя внедрили.
  5. Далее перечисляется некий набор процессов, процедур и регламентов, в зависимости от автора.

– Конец плана —————–

Коллеги, это только я вижу некое несоответствие в этих пунктах?

Никто тебя не должен развивать?

Февраль 20, 2012

Нужны дли тренинги по развитию сотрудников? Кто должен их инициировать? Как выделять время? Кто оплачивает?

Мнения на этот счет есть. И они очень разные, эти мнения.

Есть мнения, что тренинги - это часть компенсации.

- При приеме на работу мы сообщаем сотрудникам, что они могут сами набрать тренингов на определенную сумму в течение года. Это неплохо стимулирует и мотивирует.

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

- Мы их научим, а они уйдут
- Будет хуже, если вы их не научите, а они останутся.

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

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

Или:

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

Но, споря, коллеги приводят доводы за и против принципиально разных тренингов.

- Что значит выражение: “В огороде бузина, а в Киеве дядька!”?
- Выражение используется, когда беседуют два человека, но в их разговоре нет общей темы, то есть каждый говорит о своём, не слушая при этом собеседника.
Синонимичное выражение, но с несколько другим оттенком: “Я тебе про Фому, а ты мне про Ерёму”.

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


Но хотелось не только играть в бисер, но и делом иногда заниматься. Нужна стройная система. Хотя бы относительно стройная. Задумаемся: а где собственно этот вопрос может быть раскрыт достаточно хорошо? Разумно покопаться в книгах великих менеджеров. Не буду развивать интригу, ответ есть в работах Деминга. К сожалению, книга «Выход из кризиса» написана достаточно тяжеловесным языком, поэтому откроем книгу Генри Нива «Пространство доктора Деминга» (недавно эта книга была переиздана под другим, очень странным названием «Организация как система»). Нам нужны главы 24 и 31.

  • Глава 24. Пункт 6: введите в практику подготовку и обучение персонала на рабочем месте.
  • Глава 31 Пункт 13: поощряйте стремление к образованию

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

Подготовка и обучение:
•    Нацелены на создание и развитие навыков
•    Сотрудники должны обучаться тому, как выполнить конкретную работу определенным образом.
•    Можно сформулировать четкие цели.
•    Имеет несомненную ценность для организации.
•    Имеет границы. С некоторого момента обучение становится бесполезным. Более точно: «Как только рабочий довел свою работу до состояния статистической управляемости, дальнейшее обучение ему не поможет».
•    Цель обучения и подготовки – развить навыки, необходимые для работы.
•    Вред от неправильно организованного обучения окажется долговременным.

Образование:
•    Нацелено на развитие знаний.
•    Образование не может быть конкретным. Когда речь идет об образовании, вопрос: «Как ты будешь применять это в работе?» - бесполезен.
•    Не имеет границ.
•    Невозможно или очень сложно измерить эффективность траты денег на обучение.

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

Полагаю, что обучение - это очень, очень выгодное для организации вложение денег.
Для образования выгода не так очевидна. Но: «Управление качеством начинается с образования и кончается образованием». И: «То, в чем нуждается организация, – это не просто хорошие люди; ей нужны люди, которые совершенствуются благодаря образованию».

Для справки. Сертифицированный менеджер теряет свой сертификат PMP, если за полтора года он тратит на свое образование менее 80 часов. Что логично. Я полагаю, что то же самое верно и по отношению к инженерам. Инженер, не получающий образования, – деградирует. Вашей компании нужны лузеры?

Если сотрудник стремится к образованию, то следует, как минимум, не мешать ему.
А диалог:

- Ну, я хочу прочитать книгу про нагрузочное тестирование…»
— А нафига оно тебе?
- Нуууу, я хочу стать более профессиональным тестировщиком, чем сейчас…
— А в функциональном тестировании ты уже все Джомолунгмы покорил? И как часто ты будешь заниматься нагрузочным тестированием на своем проекте? Оно у вас вообще применяется?
- Нет, не применяется, но…

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

По данным Листера и Демарко навык кодирования на любом языке тренируется за два года. «Среди программистов, изучающих какой либо язык программирования более 2 лет, не было выявлено заметной разницы в скорости и качестве написания кода». Логично. Обучение конечно, образование пределов не имеет. Для того чтобы из кодера стать программистом, нужно получать образование. Вашей фирме нужны кодеры или программисты?

PS. В книге описано Генри Нива еще много тонкостей, связанных с обучением и образованием. Рекомендую.

Пятница тринадцатое или прикладное неестествознание в старый новый год

Январь 20, 2012

Байка для оруженосца - 3 

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

————————————-
Действующие лица:

Q - Белая королева (Queen). По некоторым версиям красная (червонная).

A - оруженосец (Armiger)
CC - Чеширский Кот (Cheshire Cat)

MH - Мартовский заяц, (March Hare)

H - Шляпник (Hatter)

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

CC. Ваше Величество, вы светитесь, как будто вы Ваша Светлость. Нет, даже как Ваше Сиятельство.

Q. О, да, мой вечно исчезающий друг. На этой неделе мне удалось прибить две дюжины вампиров!

CC. Отличный результат! На прикладе вашего плюсомета скоро не останется места для новых отметок.

A. Какие вампиры?

CC. Вампиры, молодой человек это такие создания, которые пьют кровь или жизненные силы.

A. Спасибо, кэп. Но все таки?

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

A. А второе?

Q. Как?! Ты прослушал?! Ты прослушал “Второе правило”?! Тогда слушай внимательно еще раз и не говори, что не слышал. Молодежь попробует вести эти карточки в вики, трекстудии или в праймовере. Это само по себе не плохо. Но только настоящие, посвященные шаманы знают, что отпугивающим эффектом обладает лишь бумажная карточка, которая лежит в папке Сумера в тумбочке Галант с наклеенным цветным стикером резолюции.

A. Почему “Сумера?!

H. Потому что коза -  Зойка. В этом деле мелочей не бывает -  раздалось с углового стола.

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

A. Вы сказали бесполезные? А что бывают вредные?

Q. Сколько угодно.

A. Против них этот амулет действует?

Q. Нет. Против вредных проектов нужно более сильное колдунство. Кроме того есть еще проекты-зомби. Их также сложно отпугнуть этим амулетом.

A. Мадам, а не могли бы вы показать пример карточки?

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

CC. К счастью у меня завалялась парочка. - Чеширский кот с видом фокусника достал шляпу, отданную ему шляпников в обмен на услугу. - Вуаля! - и он вручил оруженосцу листок формата A4.

cardproject.PNGМартовский Заяц и Шляпник вскочили и в панике забегали по кухне.

H&MH. Карточка! Карточка! Караул, карточка!

Q. Фигляры, - неодобрительно бросила королева. Впрочем, строгость была напускная. Королева прекрасно знала силу этого тандема. Эта парочка аналитик-программист давала фору команде из двух десятков человек. Хотя получать лулзы от их закидонов умели далеко не все. Королева умела. За что ее особенно ценило руководство. Ходили слухи, что руководитель департамента разработки бросил пить после того, как королева забрала этот тандем к себе.  И отменил еженедельные отчеты. Чем поверг всю организацию в ступор. Ну, отчеты ладно, с кем не бывает.  Но бросить пить!

Армигер начал внимательно рассматривать листок, а Чеширский кот в это время комментировал.

CC. Оформление делается шрифтами Verdana  или Tahoma, 12-ым кеглем. В исключительных случаях для проектов с высоким коэффициентом полезности допускается 11-й кегль.

A. Но здесь же катастрофически мало места! Почему бы не расширить на две-три страницы?

CC. Если карточка проекта будет оформлена на двух страницах, то она немедленно отправится в корзину.

A. А почему здесь нет больших проектов?

CC. Большому проекту - большую торпеду. A3.

MH.  Убил. - немедленно откликнулся Безумный Мартовский Заяц.

A. А если полезность будет на границе, то значит можно считать не целое число, а 0.1, 1.5

CC. Не стоит.

A. Почему?

Q. Ты соврал в резюме, что учился в институте? - спросила королева ледяным тоном.

A. Э-э-э…

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

Армигер смутился.

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

Q.  Я уже сказала “Головы с плеч”? - глядя в пространство спросила королева.

H&MH. Нет, моя госпожа - синхронно ответили Шляпник и Заяц и также синхронно втянули головы в плечи изображая крайний испуг.

CC. Ну же, мон шер - Чеширский Кот был сама любезность, - вы же учили математику.

A.  Да - смущенно признался армигер - Матан, Теорвер, ТФКП, …

CC.  Вздор - прервал его Кот, - здесь вполне хватит школьной программы.

Армигер застыл посредине комнаты. По его лицу было понятно, что он напряженно думает.

MH. Чу! Cлышу! У него скрипят шестеренки!

H. Их необходимо срочно смазать.

Cо зверским выражениям лица шляпник выхватил нож и подхватил масленку. Мартовский заяц протянул ему кусок батона. В два движения шляпник нанес масло на бутерброд, а заяц навалил сверху красной икры. Вдвоем они подбежали к оруженосцу, вручили бутерброд и кружку краснодарского чая и потащили к себе за стол.

MH. Королева сегодня сурова.

H. Что ты, королева - добрая душа. Я помню, три дня назад тут поймали японского шпиона…

Дружный хохот наполнил кухню. Новый года в компании начинался нормально.

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

Январь 10, 2012

Видео: http://www.youtube.com/watch?feature=player_embedded&v=HQHt01e3Lns

Виртуальная машина с предустановленным софтом: http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html

Поиграл 10 минут. Штука очень любопытная. Однозначно “обязательна для изучения”. Не выясненные моменты:
* Есть ли возможность установить связь между временем выполнения заказа и его стоимостью?
* Есть ли расчет потерь, связанных со связанным капиталом?
* Есть ли вообще расчет прибыли/убытка?
* Можно ли сделать несколько точек старта и финиша (для имитации потоков V,A,T типа)
И т.д и т.п.

Коллеги, кто нибудь изучал этот симулятор?

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

Декабрь 26, 2011

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

(с) ТРИЗ

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

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

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

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

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

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

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

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

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

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

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

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

Декабрь 26, 2011

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

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

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

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

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

Декабрь 19, 2011

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

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

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

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

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

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

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

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

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

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

Материальная мотивация или стимуляция?

Ноябрь 23, 2011

Деньги не мотивируют делать работу  (work, job).

Но, деньги мотивируют на работу (office) ходить.

Если денег не платить, то профи работать  (work, job) хуже не станут. Просто они будут ходить на другую работу (office).

Градация тестировщиков

Ноябрь 23, 2011

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

Начинающий инженер по качеству ПО

Обязанности: 

  • Выполнение тестов
  • Нахождение и фиксация дефектов
  • Ведение лога тестирования

Должен уметь и применять на практике:

  • Фиксировать дефект в форме пригодной для дальнейшей работы

 

Инженер по качеству ПО

Обязанности: 

  • Подготовка тестовых сценариев
  • Выполнение тестов
  • Нахождение, фиксация дефектов
  • Ведение лога тестирования

Должен уметь и применять на практике:

  • Фиксировать дефект в форме пригодной для дальнейшей работы
  • Знать теорию тестирования
  • Обеспечивать и оценивать тестовое покрытия

 

Ведущий инженер по качеству ПО

Обязанности: 

  • Верификация тестовых сценариев
  • Выполнение сложных видов тестов (нагрузочное, …)
  • Нахождение и фиксация дефектов
  • Ведение лога тестирования
  • Верификация ТЗ (SRS)
  • Подготовка ПМИ (если нет выделенного аналитика)
  • Курирование начинающих тестировщиков и инженеров на испытательном сроке
  • Выполнение контрольных процедур, отличных от тестирования (анализ архитектурных решений, оценка тестопригодности, …)

Должен уметь и применять на практике:

  • Фиксировать дефект в форме пригодной для дальнейшей работы
  • Знать теорию тестирования на глубоком уровне
  • Обеспечивать и оценивать тестовое покрытия 
  • Владеть одной или несколькими смежными специальностями (базовый уровень), такими как: программирование, системный анализ, дизайн интерфейсов, системное администрирование, … 

Руководитель группы тестирования

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

Должен уметь и применять на практике:

  • Фиксировать дефект в форме пригодной для дальнейшей работы
  • Владеть методологией тестирования и контроля качества ПО на глубоком уровне
  • Обеспечивать и оценивать тестовое покрытие
  • Владеть одной или несколькими смежными специальностями (базовый уровень)
  • Владеть методологией разработки ПО
  • Владеть современными методами управления