Блог:Максима Цепкова

Материал из MaksWiki
Перейти к: навигация, поиск

Профессиональный блог Максима Цепкова.

Ранее был на http://blogs.uml2.ru/blogs/maksiq и http://softwarepeople.ru/, затем на сайте компании http://lib.custis.ru/Blog-mtsepkov, а с 19.05.2014 переехал сюда.

Сейчас все посты из старых блогов скопированы на мой сайт, при этом восстановлены посты, утраченные при закрытии портала SoftwarePeople. Полный список статей можно посмотреть в оглавлении блога.

Я в соцсетях

http://www.facebook.com/mtsepkov
http://www.linkedin.com/in/mtsepkov
https://twitter.com/mtsepkov

У меня есть личный телеграм-канал https://t.me/mtsepkov

И личный ЖЖ http://maksiq.livejournal.com, там путешествия и другие мысли вне ИТ.

Последние посты


[ Хронологический вид ]Комментарии

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

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

Мой тест по спиральной динамике.pdf

Ага, спасибо.

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

Мне кажется, ваша профориентация (на бизнес) несколько деформирует общее видение картинки (бизнес таки оранжевый мем). В частности, видится ошибочным представление, что "уровень понимания" начинается с оранжа. О попытке "отождествления" оранжевых с желтым неплохо имхо сказано в этом эссе (и вообще замечательный текст): http://gregory.pp.ru/sd/main.html

О времени появления - ну вот тут примерно даны некоторые оценки: http://www.plot.su/other/166-spiral-dynamics.html

Мне эти оценки не нравятся. Считаю, что значимые проявления новых мемплексов связаны с качественными изменениями технологического развития общества. Эта мысль в отдельных материалах по СД проскальзывает, но конкретные точки перелома не описаны. Некоторые свои мысли (не слишком причесанные) по этой теме оформил тут, возможно, вам будет интересен еще один взгляд на модель: https://docs.google.com/document/d/11gJfUH7P2EIWslN848nVWeK138SSSaUCgJPAztKrxWc/pub

Ну и ссылку на страничку с результатами своего теста оставлю, тоже проходил его пару лет назад: http://www.jobeq.net/PPE/VSQ_UserFeedback.php?LANver=RU&XID=209897&TID=5464

зы Почему-то не получил уведомления о вашем ответе, хотя на комменты подписан.

Нет, если воспринимать бизнес как деятельность, то он есть на всех уровнях, при том разный. Я со времени поста, чтобы детальнее разобраться и как-то уложить свое понимание сделал пару докладов про спиральную динамику на ИТ-шных конференциях. И вроде как хорошо укладывается, что традиционный менеджмент (Друкер, Адизес) это красный + синий + оранжевый, и в жизненном цикле корпораций Адизеса эти составляющие хорошо видны. А текущее развитие менеджмента - Agile в ИТ - начинался как зеленый протест, ушел на желтый уровень, а сейчас пытаются строить бирюзовый, но успех пока не достигнут. Как статья это не оформлено, но тут Спиральная динамика - логика развития системы ценностей (Максим Цепков на AgileDays-2014) есть презентация и видео - если интересно.

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

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

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

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

Английская статья "Spiral Dynamics" из википедии (http://en.wikipedia.org/wiki/Spiral_Dynamics) сейчас является перенаправлением на биографию Дона Бека. Оригинальную статью удалили 15.03.2015, а 10.08.2015 - сделали статью с перенаправлением. Основания для удаления - оценена как промо книги.

Я не нашел, как извлечь из википедии оригинальную статью, которую я читал в 2013, но archive.org все помнит. Я читал примерно вот это, а последняя версия перед удалением эта.

Я бы сказал, что логика очень странная. С другой стороны, на момент удаления в статье стало столько ссылок на книгу, что можно было так оценить, наверное. А в 2013 библиография была более сбалансирована.

Русский перевод тоже доступен только в архиве.

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

Сохраняю для себя.

А это - ссылка на пост Макса Богуславского с впечатлениями о конференции, FB принес в ленте воспоминаний.

Есть книга-исследования "Введение в организации будущего" - Фредерик Лалу. Автор попытался найти работающие бирюзовые организации, и изучить их ценности и процессы изнутри. Некоторые организации в исследовании желтые, но некоторые и врпавду можно отнести к бирюзовым. Это к вопросу о переднем крае развития организаций

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

Тренинг не записывали, но кусочки техники ведения видны на видео доклада на сайте конференции или на youtube на 11 минуте (и на других тоже), а в начале доклада видна камера, подключенная к компу. В презентации кусочки 9-12 слайды, 88-91 слайды и еще разбросано внутри

Сохраняю ссылки.

История Денверского аэропорта - Демарко Том и Тимоти Листер "Вальсируя с медведями" Глава 3 .Пересмотр истории международного аэропорта в Денвере: здесь есть начало главы бесплатно, дальше просят денег за книгу.

Максим, интересно, что изменилось за 7 лет?

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

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

Спасибо! А RSS-лента - есть, подписываться можно на Блог, на обновление отдельных Категорий и на все изменения (но все изменения - не слишком интересно). Правда, "из коробки" сделано не слишком удобно, кроме блогов.

Чтобы подписаться на изменение блога надо на странице блога (Блог:Максима Цепкова) нажать на значок Atom, который появляется в панели меню слева. А все остальное делается со страницы Свежие правки, тоже доступной из панели слева: по мере того, как фильтруешь запрашиваемый список правок, меняется url у значка Atom - получается нужная rss-лента.


Дополнение. Сейчас выложены все 8 частей, но, к сожалению, там уже pdf, а не rtf :(

К докладу "Слагаемые хорошего курса подготовки бизнес-аналитиков в среде Agile Scrum" попробовала собрать все по оценке БА на странице http://allbait.blogspot.com/2014/10/blog-post_47.html

Спасибо за интересное описание других докладов и хороший отзыв на мой! Я рад, что доклад был понят как описание "анти-догматичного процесса" - это действительно была одна из целей, о которых я думал при написании доклада. Любопытно, что про совместное использование обоих методов я говорил http://de.slideshare.net/AlexeiVinogradov/notestscases (слайд 17), и даже рекомендовал (в приемочном тестировании). И еще в самом конце (слайд 27) - говорил про то, что не призываю сломя голову использовать, я руководствоваться контекстом и учитывать особенности (там как раз не один Кэп, а сразу три на слайде:)). Я гляну еще, когда будет готово видео, потому что я это озвучивал голосом, на слайдах это может быть неоднозначно понятно.

Понятно. Значит момент про совместное использование я упустил. Поправлю.

А что учитывать особенности - это большинство докладчиков понимают и призывают, а слушатели почему-то часто воспринимают делай 1-2-3. Но я имел ввиду более подробное рассмотрение, для каких проектов и процессов такая замена разумна и в каком объеме, если такой опыт имеется, например, Вы пробовали в различных проектах и там оказалось несколько по-разному или на одном проекте границы нащупывали и двигали.

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

Максим, спасибо за ссылку на книгу Левенчука! И за Ваш блог в целом.)

P.S. почему-то у меня не получилось зайти через OpenID аккаунт Google.

Максим, привет! Всегда приятно и интересно читать твои емкие обзоры. Спасибо.

Спасибо! А ты кто? А то по регистрации это нельзя понять.

К сожалению, сайт конференции gamefest.biz - был утрачен организаторами. На новом сайте конференции материалы и информация прошлых лет - отсутствует. Видео на сайте GameTrek http://gametrek.ru/archives/2175 - сохранилось.

Мне кажется что на эту тему надо смотреть шире, а именно попытаться понять почему принимается решение о взятии долга. Результаты разбора (статья, доклады) и много интересных ссылок можно посмотреть тут http://www.maxshulga.ru/search/label/техдолг. В том числе есть мнение, что не надо тратить время на отслеживание долга: http://swreflections.blogspot.ru/2015/02/dont-waste-time-tracking-technical-debt.html

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

Ссылки на материалы с обсуждения на Facebook

  1. От Бориса Вольфсона - его доклад http://www.slideshare.net/blv/c-14782982 К сожалению, видео оказалось битым, только слайды.
  2. От Николая Рыжикова Материалы на InfoQ http://www.infoq.com/technicaldebt/ там много. Но я посмотрел несколько статей "подходящих" по названию - (Managing Technical Debt Using Total Cost of Ownership, Addressing Organizational Debt, How To Pay Down Technical Debt), к сожалению там в основном качественные рассуждения о том, что технический долг надо устранять, а то будут потери. Механизма расчета потерь нет. Если воспользоваться метафорой кредитной ставки в последней статье, там говорят "ну, вы же не будете пользоваться кредитной картой под 36%". На это есть два возражения менеджера (в метафоре): (а) а докажите, что там 36%, а не 12% и (б) многие люди используют кредиты типа "быстрые деньги" под 100 и более процентов.

Массив схем развивается и можно посмотреть два текущих среза

  1. Набор используемых схем СМД в Коммуникация при различной структуре мышления - таксономия против фолксономии (Максим Цепков на AnalystDays-2016)
  2. Представления о Спиральной динамике и развитии организаций - Действуй опираясь на ценности (Максим Цепков на AgileDays-2016)

Прочитав книгу Марка Розина "Успех без стратегии" добавил в набор схем типологию организаций 4F, тем более, что она сопрягается со Спиральной динамикой. Подробности Блог:Максима Цепкова/2016-08-01: Марк Розин "Успех без стратегии" как книга для бирюзовых организаций#Типология компаний 4F

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

Очередной фокус (2023-05).

  1. На основе спиральной динамики, agile-методов, социократии и других современных методов менеджмента самоуправления сформировалась целостная сборка схем, зафиксированная в серии статей. собранных в книгу Менеджмент цифрового мира - это дальнейшее развитие зафиксированного в 2018.
  2. Набор используемых моделей softskill был зафиксирован в докладе Модели softskill для тимлида (TeamLeadConf-2019) и нескольких последующих
  3. Сформировалась и развивается сборка схем, посвященных самоопределению, по ним есть серия статей и докладов Самоопределение
  4. Начата работа над сборкой схем по модели личности - пока смотри статью Модель личности, готовится доклад.

При обсуждении мне рассказали, что в интегральной теории Уилбера, на которую тоже ссылается Лалу, различаются уровни teal, соответствующий желтому Спиральной динамике и turquoise, соответствующий бирюзовому. Среди российских специалистов по интегральной теории принято переводить teal как изумрудный.

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

Прочитала ее с большим удовольствием, но при этом не покидало странное ощущение, похожее на то, которое возникает при чтении различной эзотерической литературы - "прикольно, но разве так бывает?" :)

Встречали ли лично Вы в России организации, близкие по духу к "бирюзовым"? Есть ли среди них IT-компании?

Оксана, тут вопрос - насколько близкие. А главное - близкие по духу или по практике? Потому что наша компания по духу, по ценностям - достаточно близка, однако с практиками не экспериментирует, применяя наработанное в более ранней культуре.

На AgileDays-2013 был очень интересный рассказ Антона Волкова из «Танки онлайн» про эксперименты с их практиками, в 2014 он приезжал и в кулуарах рассказывал про развитие практик. На последней AgileDays был доклад Станислава Сажина "Зарплату мне назначают сотрудники" - там очень много близкой практики по самоорганизации. По частным разговорам я знаю, что в Киви двигаются в этом направлении. А в небольших ИТ-компаниях и стартапах такой дух вообще часто встречается, но по мере роста он может трансформироваться в разные стороны.

Про доклады можно почитать в моих отзывах на конференции Категория:Конференции

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

Нет, ближе к синим (по Спиральной динамике, по Лалу - янтарный) и оранжевым - классическая организованность. По спиральной динамике последующий уровень включает в себя предыдущие, так что если практики применять осмысленно и в уместном объеме, понимая их ограниченность, то они не мешают. Более того, отчасти становится проще, потому что внешний мир ждет от компании именно традиционного взаимодействия. Хотя есть опасность в том, что начнут работать стереотипы и осмысленность потеряется - это надо рефлексировать. При этом teal-практики agile в компании тоже есть и работают, так что организация смешанная.

Добрый день, Максим. Прочел Ваши рефераты по книгам Розина и Лалу и появился вопрос. Бирюзовые организации отличаются от традиционных тремя вещами:

1) Социальная адаптивность - всякий может выбрать любое доступное ему занятие и роль.

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

3) Люди организованы не в процессную иерархию, а в набор более-менее самодостаточных команд.

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

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

Опыт бирюзовых организаций показывает, что даже если на операционном уровне команды достаточно автономны, все равно есть аспекты, на которых сказывается эффект масштаба и для которых команда - слишком мала чтобы их осуществлять. Это касается инфраструктурных вещей типа бухгалтерии, юристов и управления финансами, хотя их можно аутсорсить в сервисные компании. И это касается развития бизнеса - обучения персонала, расширения сферы деятельности, и так далее - возникает внутреннее профессиональное сообщество и другие поддерживающие структуры. Роль центрального аппарата при этом сильно меняется. У Лалу это хорошо показано на кейсе медбратьейв Buurtzorg. Но я вижу примерно такие же вещи и в IT, хотя там много небольших компаний.

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

Можно попробовать рассмотреть это подробнее на кейсах.

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

Спасибо, теперь идея понятна. Ищутся не способы контроля, а построения культуры композиции долговременных интересов. При этом замковым камнем системы может быть что угодно: материальные активы, социальные связи, или даже умения фасилитации как у Семлера... ЗЫ. Давно хотел завести себе Фейсбук и, раз нашелся повод, то вот мой профиль https://www.facebook.com/and.kuzn

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

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

Рад, что оказалась полезной в образовании. А цепочка занятий по Спиральной динамике в Метаверситете - круто!

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

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

Для истории. Анонс 3 модуля был здесь. Помимо этих лекций есть достаточно много доступных лекций разных лет по этой же теме на сайте фонда Г.П. Щедровицкого http://www.fondgp.ru/lib/mmk/180

Комментарий от Димы Безуглого при repost

Максим Цепков Опубликовал отличный обзор наших дискуссий и доклада на ‪#‎AnalystDays‬. Часть комментариев на мой взгляд очень хорошо дополняют, то что прозвучало на докладе.

Однако он смягчил ряд тезисов.

  1. Мастер класс. Agile Product Owner не равно Product manager , то что Jeff Patton давал в теме управления продуктом на несколько голов выше стандартного сертификационного тренинга и самой рамки Agile методологий.
  2. Доклад по Гибкой стратегии и Гибкому анализу. Не хватает вывода. Без гибкой стратегии и гибкого анализа переход на agile это гарантированный ход, в конкурсе за премию Дарвина, только для организаций
  3. Гос - Agile. Мой тезис простой. Т.к. текущее законодательство и практика разработки сложных систем НЕ ПРЕПЯТСТВУЕТ итеративным подходам для взаимодействия Гос с исполнителями. ( Везде где важен результат это делается). Способствование расширению этих практик есть ДОБРО. Любая попытка ЗАКОНОДАТЕЛЬНО провести схемы контрактования T&M под Agile, ( без четкого определения результатов и SLA по TimeMaterial), является 100% признаком или глупости, или осознанного повышения коррумпированности процесса...

Дальнейшее обсуждение читаем на FB.

Схема переведена на английский с использованием оригинала из книги Бэкона Specialization of scientists by Francis Bacon

Осенью 2020 мне написал Yves-Michel Marti из The Baconian Company, что он нашел эту схему, она ему показалась интересной, и он хочет включить ее в статью для сборника (это анонс), который должен выйти в январе 2021. Позднее он прислал текст статьи «How Intelligence feeds Innovation. Merchants of Light of the Elizabethan Renaissance», принятый к публикации. В статье приведена эта схема и высоко оценена «An astute Russian researcher, Maxim Tsepkov, had the brilliant idea of describing the information processing process with process mapping software». Пользуясь случаем, я хочу поблагодарить Максима Осовского, который в свое время вдохновил меня на перевод.

Из комментариев Сергей Косовский: Огонь! Давно эта проблема у меня в голове висела! Спасибо за решение.

Из комментариев Эдуард Галиаскаров: Очень похожий подход я использую и студентам даю по use cases. А подсмотрел его у Арлоу и Нейдштадт в книге UML2 и унифицированный процесс. С другой стороны сам uml предлагает сворачивать каждый сценарий в отдельную деятельность.

Я: надо будет запомнить книгу

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

А регистрация и типизация инцидентов и автоматизация взаимодействия по ним - это уже следующий уровень.

Из поста на FB

В качестве ответа на статью Марк Мельник написал две статьи, в которых предлагаю термины, к которым мы более привычны: сценарий, типовой сценарий, рассматриваю ограничения нотации BPMN в моделировании сценариев. Там же я выдвигаю требования к ИС, которые хотелось бы видеть в реализации: https://habrahabr.ru/post/304242/ https://habrahabr.ru/post/305016/

Статьи интересные, мне понравились. На FB по ссылке можно посмотреть обсуждение.

Из комментов на FB

Игорь Беспальчук: Очевидное место исследований в ИТ - это исследования существующих продуктов, компонент, технологий. С целью изучения их свойств и границ возможностей.

Максим Цепков: Это интересная тема. Если быстро, то я подумал, что это получается как-то странно: изучаем отраслевой же искусственный мир. А потом вспомнил, что многие химические и фармацевтические компании изучают вновь синтезированные вещества для оценки потенциала применения в своей области. То есть получается цепочка R-D-R-D-...

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

Обсуждение на FB. В комментах есть интересная тема про вектора в сегменте малого бизнеса, я его не выделил отдельно, а, возможно, зря. И еще немного про blockchain

Сохраняю из комментариев facebook.

Елена Верещагина: Эх... не так страшен Agile, как эйфория вокруг него... https://vc.ru/p/agile-victims

С большим уважением отношусь к автору поста. Но не могу не заметить о странности противопоставления Agile и "всему остальному" опыту, накопленному в проектном управлении.

Успех того или иного проекта определяется, на мой взгляд, не сколько методологией, сколько профессионализмом участников, понятными целями и сыгранной командой. Разве не так?

И мой ответ.

Елена, к сожалению, статья тиражирует много ложных мифов. И, более того, пытается подкрепить их ложными фактами. Первое - о том, что Agile подходит только маленьким компаниям. Реально Agile подходит и большим компаниям, хотя с его внедрением есть определенные сложности (о которых я писал). Более того, Microsoft и IBM внедряют у себя Agile-подходы уже несколько лет. При чем начали это делать именно потому, что лишились лучших выпускников - они уходили в небольшие стартапы за той свободой самореализации и отсутствием регулирования, которое дает Agile. Далее, успех проектов по Agile в IT выше, чем успех проектов, сделанных в классической методологии. Хотя цифры для сложных проектов - невелики. При этом достигается кратно дешевле. Подробности можно посмотреть, например, в докладе Джефа Сазерленда на SECR-2011 (видео и презентация опубликованы) и в других источниках.

Один из известнейших провалов классической методологии - отсрочка запуска уже построенного нового Денверского аэропорта на полтора года (!) из-за того, что не смогли запустить софт управления доставкой багажа. И неудача американской системы страхования, на которую ссылается автор статьи - это тоже провал классического подхода, а не Agile. Ген.подрядчиком вроде был IBM, а разработка обошлась 1.7 млрд $, так что провал был впечатляющим. И именно после него Обама озверел и потребовал принять Agile-методологию как обязательную для ведения ИТ-проектов с для государства в штатах. Так что дело обстоит ровно наоборот, чем пытается представить автор статьи. Что касается классического проектного подхода, то о его провале говорит то, что начиная с 6 версии PMBoK авторы пытаются включить в стандарт Agile-подход. Получается печальная эклектика. Вот так.

Так что Agile не страшен, и за ним - будущее.

Елена

Максим, больше всего вокруг шумихи про Agile мне не нравится высокий эмоциональный тон дискуссии - в духе "кто не с нами - тот против нас". Вот и Вы не правы, утверждая, что автор говорит о неприменимости Agile к крупным компаниям, просто расставляет некоторые акценты - на что стоит обратить внимание.

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

Автор говорит о вполне конкретных вещах - необходимости интеграционного и регрессионого тестирования, об архитектурной целостности системы и т.п.

Там, где Agile внедряется - это как правило компромисс и микс, а не ортодоксальное отрицание накопленного опыта.

Методологии приходят и уходят, а инженерные практики остаются. На голом энтузиазме далеко не уедешь...

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

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

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

Историю про приписывание провала ObamaCare методологии Agile в статье на которую сослалась Елена Верещагина рассказал в группе GosAgile, которая началась чуть больше года назад с AgileKitchen в Аппарате правительства, на которой Асхат рассказывал, что провал сайта медицинских страховок инициировал как раз обязательное применение Agile вIT-проектах для государства в Штатах.

Коммент Дмитрий Синяев А пруфы привести сможете?

Просто обзор заметок по данной теме лично у меня сформировал следующее мнение (возможно ошибочное) 1. Когда при запуске начались проблемы, ряд СМИ написал, мол обгадились из-за того, что не использовали "современные подходы", то же New Yorker писал что вот Agile, Scrum.

Только вот потом другие порталы писали, что подрядчики по проекту (их было несколько), в частности, те кто пилил front-end и back-end использовали Agile. И что проблема глубже, а использование agile еще не гарантирует, что вы на проекте не обгадитесь.

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

2. Что касается "послужила причиной перехода" - это тоже как-то не вяжется например с тем, что проекты по разработке ПО с использованием Agile реализовывались в 2012 году в FBI. А проблемный запуск Obamacare был в 2013 году. ИМХО параллельные активности, но консультанты Agile считают по-своему.

3. Для проекта, КМК, намного критичнее было, то что его республиканцы сливали, в сенате, в верховном суде и всячески вставляли палки в колеса, это в итоге привело к тому, что в 2014 году была проблема с согласованием бюджета.

4. Сейчас Трамп прикроет всю эту программу и тогда это будут просто выкинутые деньги на ветер, и будет не важно Waterfall, Agile или магия вуду использовались на проекте.

Мой ответ

Пруфы - легко. Тем более, что они есть в моем отчете с AgileKitchen http://mtsepkov.org/GosAgile-2015-11 Презентация Асхата http://www.slideshare.net/ScrumTrek/agile-55075828 История HealthCare.gov в вики https://en.wikipedia.org/wiki/HealthCare.gov, история US Digital Service на их сайте https://www.usds.gov/story

Из них видно, что фейл проекта произошел при запуске осенью 2013 года. Отдельные подрядчики могли работать как угодно, но в целом проект велся по классической водопадной технологии. Для меня достаточным признаком является обнаружение проблем с регистрацией практически перед запуском. Что означает отсутствие интеграционного тестирования, а возможно и вообще практики continuous integration в рамках проекта, и отсутствие итеративных поставок конечного продукта. То есть базовых практик Agile. Не говоря о многократном возрастании стоимости.

И поскольку облажались все регулирующие структуры, в которых, по-видимому, сидели апологеты проектного метода, то после этого фейла, в 2014, Обама организовал в составе аппарата Белого дома US Digital Service. Который занялся не только разработкой норм на ведение проектов, но и практической реанимацией HealthCare.gov.

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

Мое дополнение. Кстати, на той же AgileKitchen был интересный рассказ Марины Макарчук из Ростехнадзора - о том. что они уже два года перешли на Agile с 3-недельной поставкой релизов для своего основного комплеска из 17 подсистем. Чем избавились от конкретной боли. когда после очередного полугодового релиза всех подсистем 1-2 месяца шло утаптывание их интеграции в боевой конфигурации - при том, что установленные законом 2-недельные сроки для обработки Ростехнадзором обращений других организаций никто не отменял. Теперь все нормально. Правда, чтобы убедить подрядчика, который бsk сторонником классического подхода и уверял, что "Agile не работает" в таких проектах потребовалась эскалация до замминистра. Так вот, Agile работает.

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

Для себя сохраню следующий собственный коммент

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

Таким образом, провал ранее принятых стандартов проектного подхода был зафиксирован делом, а не словом.

Обсуждение в группе Бирюзовые организации продолжается.

Коммент Igor Panyuta Поддерживаю мнение Елены Верещаги. Во-первых, она практик и занимается реальным делом ежедневно. В вопросах IT её мнение для меня входит в пятёрку самых интересных. Наблюдаем ещё один пример перманентного конфликта между тем, кто делает и тем, кто учит. Воистину – “Кто умеет - тот делает, кто не умеет — тот учит” (Бернард Шоу). Подозрение вызывает уже сам по себе факт очередной активной шумихи. На этот раз это AGILE. Начинаешь разбираться и понимаешь, что по сути это один из инструментов в УП (Управлении Проектами) или PM (Product Management). Этих инструментов существует десятки и сотни. Почему вдруг один из них вдруг стал панацеей от всех бед? Это как если слесарь вдруг будет утверждать, что рожковый ключ на “17” самый главный и универсальный инструмент. И много он таким инструментом наработает? PM занимается не только IT. Круг использования инструментов PM достаточно широк и в бизнесе, и в быту. Во всех случаях инструментарий решения вопросов свой. Не представляю, как можно один единственный объявлять самым-самым? Если вернуться к аллегории со слесарем, то самыми универсальными инструментами являются молоток и зубило, древние и проверенные. Профессионализм связан со знанием как можно большего количества инструментов. Предлагать AGILE как универсальный инструмент? На все случаи жизни? Смешно, Максим. На мой взгляд, приведенная Еленой статья более объективная и взвешенная, упоминаются как достоинства, так и недостатки, ограничения AGILE. Доверия к приведенным фактам выше, чем к эмоциональным восторгам и опровержениям. Метафора с “Карнавальной ночью”? Всё это весело в кино или пока это тебя не касается лично в реальной жизни. А когда останавливается бизнес, останавливается денежный поток – это близко к катастрофе, а репутационные потери посчитать невозможно. Мой личный успешный опыт решения проблем в реализации проектов связан с высокой квалификацией исполнителей и здравомыслием, и никак не связан со знанием инструментария PM. ;-)

Мой ответ

Я тоже практик и занимаюсь реальным делом ежедневно. Коучингом и тренингами занимаются другие. Впрочем, у них - тоже реальное дело. А еще я вижу историю развития Agile и проектного менеджмента, и их взаимодействие. Так вот, в приведенной Еленой статье видно отсутствие владения фактическим материалом человеком, который полагает себя экспертом. И приписывание Agile тех недостатков, которыми он не обладает. Автор почему-то уверен, что практики тестирования в Agile отсутствуют. При этом все провалы из-за поставки некачественного ПО списывает на использование Agile-методов, не потрудившись разобраться. Особо ярким примером выступает история ObamaCare, проблемы с которой автор приписывает методологии Agile, в то время как проект велся именно по классической методологии проектного управления. А провал его осенью 2013 инициировал создание весной 2014 отдельного US Digital Service в аппарате президента, которое начало вводить нормы Agile для ведения IT-проекта и разбираться конкретно с проблемами проекта сайта страховок. Подробности можно прочитать https://en.wikipedia.org/wiki/HealthCare.gov и https://www.usds.gov/story

Далее, именно значительные успехи Agile, которые было невозможно игнорировать привели к тому, что держатели PMBOK были вынуждены включить эти практики в версию PMBOK-4 в 2008. Получилась эклектика. Впрочем, развитие идет, и стандарты подтягиваются вслед за практикой. А практика развивается в рамках Agile. При этом накопленный опыт прошлого - осмысляется и включается. Хотя держатели старых стандартов пытаются представить процесс другим образом - дескать, это Agile - лишь один из инструментов. Так что нет никакой панацеи. Есть разнообразно развивающееся, создающее практики новое - Agile, и есть старое, традиционное которое на это новое заглядывает и передовые практики оттуда забирает когда игнорировать становится невозможно. Нормальная эволюция.

А еще было конструктивное обсуждение с Екатериной Филатовой, с интересными ссылками на ролики.

Вопрос Екатерины подскажите, пожалуйста, где можно прочитать про принципы agile в более прикладном варианте? какая у него автоматизация, механизмы взаимодействия. Аллегория мне понятно - хотелось бы про механику прочитать (у меня IT проект)

Мой ответ тут вопрос сложный, в том смысле что ответ - очень объемный. Agile - это зонтичная конструкция, зонтиком являются ценности и принципы, сформулированные в Agile Manifesto http://agilemanifesto.org (там есть вариант на русском). Под этим зонтиком собираются многие методы, наиболее известные из которых - Scrum и Kanban, есть еще их комбинация Scrumban, Lean и другие. Про Scrum надо читать Сазерленда "Scrum - революционный метод управления проектами", хорошая для ознакомления (но старая, это надо учитывать) книга Книберга "Скрам из окопов" (Scrum from the Trenches), про Lean - "Lean Software Development" Мэри Поппендик. При этом, если говорить про IT-проекты, то к организационным методам надо добавлять технические - DDD, FDD, TDD, BDD, Continuous Integration и Continuous Delivery и многие другие. Автоматизируется все это в любом современном таск-трекере - Jira, TFS, есть специализированные инструменты для ведения досок, коллективной работы и много других. Потому что Agile в IT на западе - просто стандарт. При этом какие именно методы применять - сильно зависит от специфики вашего проекта. Для разных проектов подходят разные методы. Если Вы расскажете, я могу посоветовать подробнее. Можно здесь или в переписке.

Екатерина Про скрам и иже с ними знакома давно, а вот про DDD и прочими "DD" пока не понимаю их расшифровки) Про Agile нашла уже занятное видео, которое отвечает на мой вопрос. может быть будет интересно - делюсь. видео Про DDD можете расшифровку дать?

Еще видео

Мой ответ Первый ролик посмотрел, там понятная организационная конструкция в целом в рамках Agile (при условии, что механизмы, применяемые лидерами профессии и главой племени им соответствуют). Но пока эта конструкция - без организации процессов внутри, в рамках нее можно запускать Scrum или Kanban или другой вариант процесса, в зависимости от характера потока задач. Расшифровка xDD - Domain Driven Design, Feature Driven Development, Test Driven Development, Behavior Driven Development. И это далеко не полный список. А еще есть детальные практики, например. эталонный Scrum предполагает использование user story, однако они могут быть заменены на use case, если это уместно.

Второй ролик - это Книберг, один из мировых гуру, в переводе Вольфсона, который один из экспертов-практиков у нас. По книге Книберга я в 2008 знакомился с Scrum, а позднее - был на его тренинге. В ролике - классный ликбез и основы для знакомства с Agile. И от этого можно отталкиваться.

Продолжение обсуждения в комментариях на FB. Для меня много ценного, различные точки зрения. Сохраняю и для себя и для других читателей.

Комментарий Екатерина Филатова Все разговоры и непонимание происходит из-за того, что каждый по-своему видит Agile... Кто-то знает, что это манифест с 4-мя пунктами, а кто-то видит в этом целый инструмент. На сколько я понимаю, Agile - это религия) Люди знают, что убивать опасно, но им нужны были 10 заповедей. Мы все давно работаем по agile и вот только сейчас узнаём, как этот зверь называется)) (я про себя) теперь могу форсить, рассказывая "невеждам" про "Эджайл" )) Предполагаю, что ваши различия во мнениях имеют общую правду в корне, в глубине души.

Мой ответ Если б люди добирались до ценностей манифеста (которых 4) и принципов (их еще 12)... У очень многих цепочка рассуждений обрывается гораздо раньше: "непривычное -> много говорят -> фуфло" или "непривычное -> много говорят -> не для меня -> рационализируем". А потом другие читают подобную рационализацию, как в приведенной выше статье и получают подтверждение своей оценке. То есть срабатывает стереотип, отвергая непривычное. В принципе, хороший стереотип, позволяющий быстро принимать решения, особенно в современном мире.заполненном рекламой и информационным шумом. Только надо уметь во-время от него отказываться, чтобы не оказаться в прошлом. И начинать разбираться самому. А это было тяжело во все времена, люди часто глухи к новому. И, что интересно, даже реакция Грефа, который поглубже посмотрев на Agile почувствовал себя лузером(!) стереотипы многих людей не пробивает. Они ж лучше знают :) Вот так.

Так что правда - она есть, но не все включают ум, чтобы до нее докопаться.

Екатерина Филатова Максим Цепков )) у меня дилемма)) вы говорите справедливо, но я не понимаю, зачем вы это говорите. Всё правда.

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

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

Екатерина Филатова Максим Цепков теперь поняла. Мне свойственно иронизровать. Иногда это приводит в замешательство. Религия - это метафора. Сам по себе "эджайл" не инструмент. Инструменты внутри этой красивой коробочки, как 10 заповедей внутри религии.. мы опять же говорим об одном и том же, но под разным углом. Мне метафора про карнавальную ночь понравилась. Она иллюстрирует эджайл.

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

И еще один содержательный тред комментариев Елена Верещага 25-28.12 (перенесено позже)

Максим, спасибо за столь подробный ответ на мой комментарий.

Признаюсь я несколько “утонула” в том объеме информации, которую Вы вытащили на поверхность данного контекста ))

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

Какие высказанные Вами идеи мне созвучны:

  1. Профессионализм - прежде всего. Т.е. многие провалы связаны с нежеланием или неспособностью участников проекта разобраться в используемых ими инструментах - технических или организационных, новых или ранее существующих;
  2. Agile включает в себя набор вполне конкретных технических (инженерных) и орг практик. Это не религия.
  3. Выбор подходов и практик нужно делать под задачу и под проект. Где-то подходит одно, где-то другое. Например, глупо пытаться натянуть подходы из разработки front-end систем (web-интерфейсы, например) на системы класса DWH. Разные классы задач требуют разных подходов и разных способов их применения.

Далее под этим комментом я напишу еще несколько мыслей - в продолжение

С некоторыми суждениями я готова поспорить:

  1. Противопоставление Agile и классического управления проектами - на мой взгляд, это неверно. Т.к. Agile является скорее развитием - одной из веток управления проектами и продуктами. Действительно, PMBoK включает в себя Agile. Но это не говорит о том, что что он признает свою несостоятельность. Просто Agile стал частью целого - наряду с другими возможными подходами и практиками.
  2. Не берусь обсуждать приводимые автором проекты (я слишком мало про них знаю). Но из своего опыта могу сказать, что минусами Agile.. точнее минусами его конкретных внедрения являются многое из того, что называет автор: долгосрочное планирование развития системы (планирование спринтов не является достаточным для получения результата в нужный срок с нужным качеством), интеграционное взаимодействие систем (это актуально именно для крупных компаний - т.к. в одном ИТ-решении может участвовать несколько разных систем - и нужно обеспечить их слаженное взаимодействие и готовность функционала к определенному моменту), комплексное тестирование (TDD хорошо решает вопрос внутреннего тестирования, однако комплексное тестирование часто остается “за бортом”).
  3. Не думаю, что автор, который себя позиционирует как Agile-эксперт, заинтересован в том, чтобы как-то нивелировать этот подход. Это было бы странно. Впрочем, я его не знаю. Поэтому, давать тут развернутых комментариев опять же не могу. Однако многие мысли мне кажутся разумными. Действительно, Agile гораздо проще внедрять в локальных маленьких командах, нежели в крупных компаниях, где самыми большими рисками являются как раз интеграционные аспекты. Легко доработать отдельную форму для пользователя. И гораздо сложнее поменять процесс, где задействованы разные системы и люди. Поэтому, действительно важно дать этому внимание. А не превращать Agile в “религию” и окрашивать исключительно радужный окрас. И если в ряде случаев есть наработки и практики, которые хорошо работают и решают ряд проблем - почему их не продолжать использовать? Зачем внедрять “новые ради нового”? Такие вот “инновации ради инноваций”, а не смысла. Впрочем, я опять несколько увлеклась. )) Прошу меня простить.
  4. Насчет Continues* (integration, delivery etc). Это довольно сложная история. Наверное, есть проекты, где это уже сейчас применяется - в ИТ-компаниях. Но не всегда это просто. Например, в случае работы с крупными БД (я специализируюсь в области DWH) - дело осложняется тем, что мы имеем дело не просто с “поведенческим аспектом”, а с хранимыми огромными массивами данных. И это не так просто -исправить в случае чего. Гораздо проще предотвратить. И здесь во многих случаях важнее не скорость, а качество. Кроме того, предъявляются требования к качеству и целостности данных, не которые не должны быть нарушены. “Поведение” и “Хранение” - это разные информационные аспекты. И методологии работы с ними тоже имеют отличия.
  5. “Agile - наше все” - не соглашусь. Например, в нашей области полный переход к проектам "по Agile в чистом виде" выглядит неразумно и как раз приводит к провалам. Начиная с управления требованиями - agile.. точнее неправильно выстроенные процессы по agile позволяют Заказчику необоснованно менять их кардинальным образом. Вместе с тем, накоплены работающие подходы управления требованиями и ожиданиями Заказчика, которые позволяют избежать краха проекта - когда из-за метаний и многочисленных изменений в итоге не готово ничего. Почему же их не использовать? Крики “ТЗ запрещено - у нас Agile” - это мой страшный сон, и не только мой ((( Заканчивая управлением роадмапом развития системы - средне- и долгосрочным планированием. Когда слышишь фразу “у нас запрещено оперировать сроком больше 2х недель” - становится жутко.. а потом - весело ))) Работающим подходом является гибридный вариант - когда разработка ведется в scrum-спринтах, а предварительный анализ и дизайн (проектирование) - выносится за скобки. Также после внутреннего тестирования есть этап сборки и общего тестирования (может включать в себя интеграционные и нагрузочные тесты). Поэтому, я бы не следовала догме “Agile - наше будущее, все остальное - отживший нафталин”.

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

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

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

Максим Цепков Елена, я очень рад, что мои комменты вызвали такой отклик. По пунктам, которые вы затронули в комментарии, я отвечу детально (только уже завтра), потому что их интересно разобрать конкретно. Но если говорить в общем, то у нас различается взгляд на логику развития ведения IT-проектов, которая породила Agile.

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

С моей точки зрения, Agile возник наоборот, как резкое отрицание PMBOK и вообще процессного подхода (который достаточно ярко проявился в RUP). Отрицание начал еще Том ДеМарко в 1987 "Человеческий фактор", и оно очень ярко выражено в первой редакции книги Бека Extreme Programming и Agile-манифесте, который как раз декларирует иные ценности. Далее он развивался, порождая собственные способы IT-разработки (Scrum - первый массово успешный из них), в том числе, используя ранее наработанные практики как источник идей, но сильно адаптируя их к собственным ценностям - в соответствии с диалектикой развития "тезис-антитезис-синтез". А когда успех стал очевиден - пошел еще обратный вектор.

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

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

Елена Верещага Максим, спасибо за интересную дискуссию! Буду ждать Ваших детальных комментариев. А "свою историю" про Agile я напишу позже - уже видимо, послезавтра ))

Максим Цепков Елена Верещага Отвечаю по пунктам, как обещал.

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

2. Долгосрочное планирование является проблемным независимо от Agile, про это есть множество исследований. И интеграционное взаимодействие тоже. Так что "а у нас Agile" - это просто очередная причина. Если смотреть глубоко, то Agile утверждает следующее: (а) долгосрочное планирование не должно быть фетишем; (б) трезво оценивайте свою способность к реалистичному планированию. И дальше как практический способ - держите product backlog на том горизонте, на котором можете, на коротком горизонте (1-3 месяца) он должен быть конкретным и пригодным для детального планирования спринта, а на длинном (полгода и более) - достаточно детальным для представлений о развитии продукта. Сроки - ориентировочные. В обучение Product Owner'а это входит (правда, я проходил тренинг Jeff Patton, он гуру, говорят, все бывает по-разному).

Что касается интеграции. в том числе от разных подрядчиков. то как только Заказчик жестко требует 2-3 недельного периода выпуска обновлений на пром, подрядчикам просто некуда деваться от налаживания интеграционного тестирования. На эту тему есть характерный кейс Ростехнадзора (там подрядчик у 17 подсистем был один, но команды разные). Классический выпуск приводил к тому, что после релиза раз в полгода комплекс 1-2 месяца приводили в чувство, а трехнедельные релизы это устранили. Кейсу уже 4 года, Заказчик счастлив. Подробности можно посмотреть http://mtsepkov.org/GosAgile-2015-11 (рассказывала Марина Макарчук, она - Заказчик).

Подводя итоги: трудности есть, но они не в методах, а в головах. Метод как раз жестко нацелен на то, чтобы проблемы были решены, ты не можешь выдать DoD "мы внедрили метод", не решив эти проблемы.

3. Я тут посмотрел автора поглубже. Если пойти на сайт компании, где автор - CEO, то компания ПРОДАЕТ Agile и DevOps крупным заказчикам. Либо автор продает то, во что не верит, либо журналист исказил его мысли до неузнаваемости. И получается. что к статье нельзя относиться, как к мнению эксперта. При этом, помимо CEO в компании два человека "старой школы"...

Конечно, Agile проще внедрять в маленьких компаниях, но это - вообще тривиальная мысль. Что, скажите, сложнее делать в маленьких компаниях. чем в больших? Разве что вести себя деструктивно и насаждать бюрократию :) Так что эта мысль не стоит большой статьи. Автор-то при этом ничего не пишет про то, как в больших компаниях это делать. А за развитие Agile тут наработаны практики и методы, например, SAF.

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

4. Continuous Integration, на мой взгляд, must уже 10+ лет (хотя я понимаю, что есть реликты), с delivery сильно сложнее. Тем не менее, есть крупные компании (например, badoo), где это реально применяется. Есть много разных практик, как это делать, в том числе для разных сложных проектов. Включая DWH, такие рассказы я тоже слышал. Фишка в том, что при непрерывной поставки мы делаем малый квант изменений, который проверить и даже исправить гораздо проще, чем большой. И в некоторых компаниях именно так и делают. Если интересно, можно обсуждать уже технические задачи, опыт организации обновлений при том, что работа идет с большими массивами данных у меня есть.

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

На самом деле, в Agile есть довольно много практик работы с требованиями. Userstory с планированием релизов по MVP. Use case, как альтернативный вариант, при чем он не так давно был довольно интересно адаптирован Якобсоном для гибкого планирования (UseCase 2.0). Domain Driven Design для корпоративной разработки. Сложная архитектурная работа в SAF.

B при этом есть отдельные практики. касающиеся того. как предотвратить необоснованные метания, но сохранить требуемую гибкость. Ведь основная-то проблем - именно в тоем, что характерный временной лаг изменений бизнеса во многих областях - 2-4 недели. И IT должно успевать, иначе оно становится ограничением для бизнеса. Такой сейчас мир.

Елена Верещага Максим Цепков , спасибо! Как всегда - детально и обстоятельно.

Позже соберусь - и тоже приведу примеры.. А сейчас за неимением времени отвечу коротко.

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

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

Долгосрочное планирование - всегда сложность и искусство. Проблема в том, что многие с криками "у нас Agile" на это забивают. Действительно - зачем, раз так сложно? Проще с шашками.

И поймите - я не против Agile. Я за! )) Я прекрасно вижу ограничения того же RUP. Там есть хорошие идеи и в этом есть развитие. НО! Меня коробит, когда это романтизируется, охватывается ореолом "инновационности" и преподносится как "серебряная пуля". К тому же он вовсе не в-новинку - об eXtreme Programming заговорили (а кое-где и внедрили, правда те еще приколы были) более 10 лет назад...

В любом случае - продолжаем беседу... Обменяться живым опытом (как + , так и -) всегда интересно! ))

Максим Цепков Про внедрение методологий подход классики (RUP, PMBOK) и Agile тоже кардинально отличается. Классика говорит - возьмите исчерпывающий многостраничный guide, вычеркните ненужное и используйте. Agile говорит другое - возьмите простой метод "из коробки" - Scrum, Kanban, внедрите "как есть", а потом - запустить совершенствование, точки, где это происходит процессно встроены в метод (ретро). При совершенствовании - используйте набор практик как готовый, а не подходит - придумывайте свое. Но при этом есть иерархия сверху-вниз, от ценностей и принципов к конкретным практикам, и трассировку надо сохранять.

В инновационности и романтике надо разбираться более конкретно - потому что в чем-то она есть, а в чем-то - нет. XP и Scrum появились 15 лет назад, но при этом продолжают развиваться, а применение Scrum вне IT, что сейчас делают - является определенной инновацией. То есть надо работать прагматично.

А те, кто продает серебряные пули и светлое будущее - они были, есть и будут, и будут продавать все новое, вернее, все КАК новое. Их породил маркетинг начала 20 века. Это не проблема Agile, это особенность развития современного мира. А он - таков как есть, другого у нас нет, живем в этом.

И да, продолжаем беседу!

Я, оказывается не рассказывал в блоге про песни, только в ЖЖ и на facebook. А было вот как. Когда я слушаю некоторые песни - то у меня в голове разворачивается цепочка образов. И у меня была давняя мечта - чтобы эти образы появились в виде мультика, стали доступны. На встрече ПИР, благодаря вечерним посиделкам с песнями под гитару и рояль, скрайбинг-летописи ПиРа, общению с Сергеем Гевличем, автором объясняшек, у меня сложилась мозаика и я понял, что технология, с помощью которой я могу осуществить свою давнюю мечту - увидеть мультики по некоторым песням - готова. Интересно, что про [http:xplainto.me объясняшки] я знал уже несколько лет, но вот все вместе сложилось только на ПиР.

Первая песня, которую я выбрал - "Дракон" Суханова. Я написал Сергею, он порекомендовал Елену Смирнову, художника - и получился прекрасный мультик. Я его выложил на youtube и рассказал об этом в ЖЖ и на facebook.

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

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

А теперь - Дракон.


Публикация в FB вызвала довольно много репостов. В публикации в группе AgileRussia было интересное обсуждение - Алексеей Пименов, Слава Цирульник, Tony Granton, Владимир Каленов, Сергей Баранов.

Из отзывов ведущих

Вадим Овечкин: однин из самых интересных эфиров про #аgile - Agile-трансформация
Олег Смирнов: согласен, очень интересный эфир получился!
« первая ‹ предыдущие 100 последняя »

Войдите, чтобы комментировать.

2012-05-28: Конференция AnalystDays

В пятницу был на первой конференции аналитиков AnalystDays в Минске. Конференция определенно удалась. Было более 250 участников, 4 трека и многие из них очень интересны, а залы — переполнены. Так что я думаю, что за первой конференцией последуют другие, конференция AnalystDays продолжит работу.

Отдельной фишкой был начатый ремонт во втором зале, о котором организаторов просто поставили перед фактом. И предложили замену — шатер во дворе. С погодой — повезло, поэтому он оказался, скорее, фишкой, чем неудобством. Хотя Саша Байкин, который докладывал там первым, пострадал сильно — как оказалось, проектор там не виден совершенно, и приходилось делать доклад фактически без слайдов, переключая их для записи. Между слотами вместо проектора поставили телевизор, так что Дима Безуглый читал уже с приемлемым показом слайдов.

Обзор докладов в отзыве будет несколько ущербным, потому что являясь вдохновителем двух докладов от нашей компании, я считал необходимым поддержать докладчиц и быть на их докладах. Все-таки, это — их первая конференция и они очень волновались. А еще — участвовал в Круглом столе по работе с гос.органами. Итого — про 3 слота из 10 я ничего не знаю, а еще на некоторых — общался вместо того, чтобы слушать. Потому что доклады можно послушать и посмотреть в записи, которую уже больше полутора лет обеспечивает Стас Фомин на конференциях Влада, благодаря чему конференции живут и после окончания. Кстати, под влиянием этого и другие конференции задумались о проведении записи. Но вот возможность общения — она не предоставится. Тем не менее, о тех докладах, на которых я был — расскажу.

Начну я с докладов Ани Рид и Вали Ломаевой из нашей компании, CUSTIS. В обоих основной темой является DDD (domain driven design), но под совершенно разными углами зрения. Аня — HR и она рассказывала, как связаны практики DDD и развитие аналитика, включая набор персонала, начальное погружение в проект и процесс дальнейшего развития. Аня очень волновалась, потому что когда HR рассказывает аналитикам о методике их профессиональной деятельности — можно ожидать всяких сюрпризов. В общем-то волнение ее отчасти подвело — доделывая презентацию перед самым докладом она переписала на комп конференции не последнюю версию, но обнаружила это только в середине доклада. Несмотря на это, в целом доклад, на мой взгляд, удался и вызвал интерес. А Валя рассказывала об опыте применения DDD для работы с требованиями на примере конкретного крупного проекта для Росатома в условиях постоянного и изначально заложенного в проект их активного изменения из-за параллельно выполняющейся доработки законодательной и нормативной базы. Идея — показать, как применяя DDD можно вселить в заказчика уверенность, что разрабатываемая система удовлетворит их требованиям, даже в условиях, когда эти требования с определенностью неясны, а имеются только общие представления или многие варианты решений и бизнес-процессов, которые лишь предстоит согласовать. Если я Вас заинтересовал — смотрите видео.

Дальше хочется отметить доклад Пола Тернера The impact of Systems Thinking on the Business Analyst role. Пол говорил о ментальных моделях и о мышлении. О тех изменениях, которые меняют верхнеуровневую картину системы и потому подлежат особому контролю. О малых решениях из локальной оптимизации, за которые приходится платить большую цену, потому что они ломают цельность. К сожалению, на мой взгляд, в докладе не хватает более конкретных примеров, потому что на уровне слов и общеизвестных историй про слепых, осматривающих слона это понятно, а в практике, тем не менее, возникают проблемы. Однако, я по своему опыту знаю, как сложно такие реальные примеры делать — потому что для понимания они часто требуют большого контекста из конкретного проекта, а его у аудитории, естественно, нет

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

А после обеда Пол Тернер и Адриан Рид проводили большой мастер-класс Practical Techniques for early use in BA cycle на 4 слота. У меня получилось быть маленьком кусочке и надеюсь, что посмотрю запись полностью. Они рассказывали большое количество техник, по которым группы последовательно шли по разным проектам, выполняя задания. Среди них: PESTLE analysis; five forces analysis; MOST; Resource audit; SWOT analysis; kind business problem — actualy, risk, opportunity; способы визуальной работы над решением проблем — rich picture, mind map, fishbow; работа со stakeholder в зависимости от их роли… И это — сильно неполный список.

Дальше пойдем по порядку докладов.

Вадим Мустяца, Deeplace. Живые вики как оперативные базы знаний. Рассказ был основан на опыте внедрения на конкретном большом проекте вики как системы ведения материалов. При этом докладчик пришел на проект, которому было уже два года, и получил на входе файловое хранилище документов различного качества и слабой систематизации, и задачу — закрыть аналитику и сделать еще 160 отчетов. Он поставил использование rizzoma.com, которая тогда была еще google wave. В докладе Вадим не просто рассказал об использовании, он сопоставил вики с общим контентом верхнего уровня — онтологию представления знаний. А вот сопоставления с другими вики-системами и практиками их использования — нет. Это определенный недостаток для тех, кто этого контекста не знает — потому что по ряду пунктов будет смещенное знание. Но для итого, кто контекст представляет, такой взгляд показывает неожиданные грани предмета. Как пример такого взгляда — вики как месседжер, что достигается через совместное редактирование.

Оксана Сергеева, EPAM. Специфика работы бизнес-аналитика в зависимости от типов проектов и методологий (мастер-класс). Я заглядывал кусочками, зал мастер-класса был переполнен. Основная мысль была очень правильная — процесс управления должен быть адекватен потребностям конкретного проекта, и процессы могут быть сильно различны, в то время как на практике об этом задумываются редко, менеджеры предпочитают использовать знакомые процессы. Но вот позиционирование практики в теорию — оно забавно: «возьмем итеративный процесс, например RUP». Ему противостоит Agile, о котором сказано «наверное, доморощенный», и без деталей «каждый проект что-то свое придумывал». С моей точки зрения, это — еще одно свидетельство того, что практики — не слишком склонны разбираться в тонкостях теории, применяя слова как мемы, за которыми стоит не определение, а набор ярлыков-ассоциаций. Это явление хорошо известно по массовому сознанию и, собственно, мемы и являются способом управления современным обществом (доклад Дмитрия Пескова на KM Russia-2011), и оно же работает в профессиональной среде.

Юлия Михайлова, EPAM. Записки аналитика: как бежать впереди паровоза и не попасть под него. Хорошая и понятная success story с выводами. Аналитик доказывал нужность и роль — на входе его воспринимали как технического писателя, по опыту предыдущих аналитиков. А проект — большой, с внешним большим заказчиком, у которого некоторые фичи не имеют единого владельца. Контент мне лично понятный, но наверняка очень полезный для людей с меньшим опытом, и не только начинающих.

Мария Бондаренко, Generation_P Consulting. Анти-паттерны аналитика: Как «провалить» продуктовую разработку. Был на кусочке доклада, потому что не совсем моя тема, мы не занимаемся продуктовой разработкой, но опыт такой — был, мы делали тиражируемую систему. Доклад хороший и качественный, о тех ошибках, которые может совершить аналитик, когда компания решает на основе заказной разработки сделать тиражируемый продукт. С конкретными примерами ошибок аналитика: ориентация продукта на одного клиента, ориентация на дозапросов текущих клиентов в ущерб развитию и так далее. Ошибки все сложные потому что в них надо искать правильную точку баланса интересов, а это — сложная задача.

Николай Киреев, ИИТ БГУИР. Практический анализ по RUP (мастер-класс) Сюда я тоже зашел на маленький кусочек, и зал тоже был переполнен. На примере конкретного проекта докладчик рассказывал, как проводить анализ, создавая модель из обычного текстового описания, получаемого из заказчиков. Как правильно классифицировать сущности, отличать важное от неважного в контексте конкретного проекта, избегая, например, излишне подробного атрибутного описания, не соответствующего роли объекта, а это типичная ошибка. Целевой рамкой модели выступала модель с точки зрения RUP и, с моей точки зрения, в этом есть определенный недостаток — потому что RUP-модель сама по себе сложна и многообразно, и требует хорошего владения. Но все равно, конкретные примеры анализа с примерами — они ценны и, думаю, не только для начинающих аналитиков, но и для более опытных.

Денис Гобов, Арт-мастер. Выстраиваем процесс управления требованиями. Перед организацией стояла вполне конкретная задача — выстроить свою систему управления требованиями таким образом, чтобы проходить аудит соответствия CMMI и RMM-6. И они сделали систему управления требованиями на базе Jira, которая это обеспечивала? выдавая нужные отчеты с трассировкой и детализацией. О которой и было рассказано в докладе. Очень полезно для тех. перед кем стоит задача сертификации, но и остальным может быть интересно потому что управление на основе интегральных показателей из системы ведения дел — в любом случае актуальная задача и опыт — полезен.

Денис Бесков, Школа Системного Анализа. Управление требованиями VS Разработка требований. Принципы и инструменты Основная мысль доклада состояла в том, что управление требованиями, в отличие от их разработки, является не аналитической, а менеджерской задачей. Потому что включает вопросы границ проекта, а это бюджет, scope против денег. И вопрос релизов, приоритеты требований — тоже связаны с управленческими согласованиями. Поэтому когда управление требованиями полностью передают аналитикам без соответствующих полномочий, оно не работает. Хотя аналитическая часть работы безусловно присутствует.

Александр Кондаков. Оценивания по CMMI как… источник вдохновения. Неожиданно интересный доклад, что не предвещалось ни названием, ни аннотацией. Он наполнен историями, с которыми автор сталкивался, проводя оценки по CMMI и gap-анализ перед оценкой. О том, почему не делают те или иные практики: некогда, работу делать надо; у нас люди умные — им не надо учиться. О том, какие практик обычно есть и в каком виде. О результатах хорошей оценки, которая обычно стимулирует реальный рост компании, а не просто выдает гору бумаг. А еще — о графике роста профессионала-аналитика и новой интересной позиции CPO, Chief Process Officer, которая появилась недавно.

Екатерина Макаренко, TEAM International. Техники аналитика — CATWOE, H-METHOD, MOSCOW, SQUARE. Начало доклада я пропустил, а зря. Екатерина рассказывала о большом количестве конкретных методов аналитика, которые, собственно, перечислены в названии доклада. Например, MOSCOW, который по ее опыту позволил обеспечить реальную приоретизацию требований в контексте релизов. А SQUARE представляет собой фреймворк для требований по безопасности, который позволяет перевести эти требования в разряд функциональных. Эта часть рассказа была на примере конкретного проекта, который изначально был сделан вообще без требований по безопасности, а потом оказалось что они есть и жесткие, проект — банковский. Что ценно — это не методика, а фреймворк, имеющий шаблоны и поддерживающие средства, что позволяет пользоваться даже новичками, набираясь опыта. А еще в методе есть довольно много практик, которые применимы не только к требованиям по безопасности, а могут использоваться для других видов требований. А еще — был рассказ про способ трейсинга требований и их изменений по функциям, причем в условиях. когда за время развития проекта было использовано несколько вики-систем и систем ведения дел, и там были конкретные приемчики, сильно облегчающие работу. Например, при изменениях не только ссылаться в новом деле на предыдущее, но и цитировать формулировки — чтобы поиск это подхватывал.

На этом — все.


2012-05-13: ADD-2012

Был на ADD-2012. Посмотрел на передний край разработки. Не на тот, где гиганты презентуют новые решения, и не на высокую науку, а на тот, где практики работают и мыслят о движении вперед. Где рассказывают о своих идеях.

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

Так вот, реально дело обстоит совсем не так. Причина этому - в творческом характере разработки. Я вполне согласен с достаточно старой и известной теорией Jack W.Reeves What is software design (Корешков/Продукт_инженерной_деятельности_(в_разработке_ПО) русский вариант), что разработка ПО соответствует проектированию в других отраслях. А потому все, кто занимаются разработкой - они порождают новые оригинальные идеи, а вовсе не следуют чужими путями. Естественно, при этом идет массовое заимствование, использование чужих идей в своих разработках - но комбинации тоже являются оригинальными. Если смотреть на аналогии вне IT, то ближайшей, на мой взгляд, является рынок бытовой электроники, на котором сотни фирм производят множество мобильников, телевизоров, пылесосов и других разнообразных вещей, каждая из которых спроектирована более или менее уникальным образом, чем-то отличается от других, и потому идеи, которые при ее проектировании были придуманы - могут представлять интерес. А в IT это же можно сказать про каждую разработку, потому что программный продукт - это индивидуальное, а не массовое производство.

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

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

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

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

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

Так вот, если говорить об основных темах и впечатлениях для меня, то это новые языки и NoSQL базы данных. Темы не новые, но они интенсивно развиваются, и это развитие - интересно смотреть. Об этом было много докладов. Если говорить об языках - то это новый язык Kotlin, который делает JetBrains для JVM, это развитие Groove, Scala, Nemerle, отчасти F#. И это только в один день конференции. Интересно, что в рассказе про Kotlin сказали, что новый язык для JVM независимо начали делать JetBrains, RedHat и Eclipse. А на докладе про Groove докладчика спрашивали - стоит ли сейчас начинать его использовать, или лучше дождаться Kotlin.

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

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

Еще есть все более развивающаяся тема принципиально другого подхода к разработке, при которой принципиально учитывается ненадежность железа и его сбои - речь идет о высоконагруженных приложениях, работающих в распределенной среде, в кластерной архитектуре, в которой отдельные узлы статистически могут выйти из строя, и выходят. А еще - они могут падать из-за ошибок программистов разных уровней. На работу именно в такой среде ориентированы как многие NoSQL базы данных, так и архитектуры на основе модели акторов - Erlang, Akka. Что интересно, когда на подобном железе работают и традиционные промышленные базы данных, например, Oracle, то вопросы надежности и замены узлов они берут на себя, обеспечивая дублирование или подобные вещи и выдвигая требования к конфигурации. И программист может работать в парадигме абсолютно надежной среды, о которой позаботятся админы. А вот сейчас от такого подхода начинают отказываться. Такая надежность оказывается несоразмерно дорогой по сравнению с ущербом от потерь. Поэтому разработчику предлагается самому о ней позаботится на верхнем или среднем уровне. Например, заказать дублирование некоторых данных на нескольких узлах. Или для критичных входящих запросов - позаботится о проверке, что запрос был принят и обработан, а не пропал по причине крэша ноды системы, а если нет - запустить еще раз. И эта парадигма начинает распространятся из социальных сетей, где надежность, в общем-то, не слишком важна, в область таких приложений как, например, электронные аукционы. Кстати, разработка в облаке тоже не дает надежности - в датацентры амазона, например, попадают молнии, выводя их из строя вместе с данными, и оказывается, что такие кейсы в модель надежности заложены не были.

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


2012-04-26: Три мира программистов

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

Так вот, это разделение образует два мира, которые слабо понимают друг друга. Первые - не очень понимают, зачем работать в таких фирмах, где руководство - "они". А вторые - убеждены, что большинство фирм устроено как у них. Разве что какие-нибудь сияющие высоты типа Google или Яндекс, и еще какие-то странные фирмы устроены иначе. Но по-любому таких мало, а доклады про иное отношение - больше пиар, чем правда. Хотя мой опыт говорит о том, что первых фирм сейчас - достаточно много.

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

В общем, это наблюдение подтвердилось и на последующих конференциях. Но на SoftwarePeople-2012 из общения в кулуарах я понял, что есть еще и третий мир. Там программисты работают по 60-80 часов в неделю, прихватывая выходные. И они свято уверены, что так обстоят дела во всех фирмах, так что искать альтернативы нет особого смысла. Еще они обычно считают, что они получают хорошо для своей работы, иногда сравнивая зарплаты с интернетом. О разнице между их фирмой и другими местами, где эту зарплату платят за нормальную рабочую неделю - они не подозревают. Так что на собеседования они не ходят, пока не припрет - потому как при такой рабочей неделе времени на это просто нет. Собственно, на конференции я услышал историю, как кандидат просто заснул на собеседовании, объяснив, что устал сильно - пару недель пришлось работать по 80 часов. Я вспомнил ранее слышанные подобные истории, в том числе от тех, кто пришел к нам работать. Поговорил с нашими HR - они подтвердили, есть соискатели которые несколько недель не могут дойти до собеседования потому как работают с 9 до 21, а иногда и выходные прихватывают. Так что третий мир - он есть. И люди в нем - не подозревают не только о первом мире, но и о втором. Потому что по конференциям не ходят, в интернете особо не сидят - им некогда, они работают.

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

2012-04-23: SQAdays весна 2012 - день второй

Второй день весенней SQA Days 2012 в Киеве был достойным продолжением первого. Было много достойных докладов, о которых я напишу. Правда, после обеда я три слота пропустил - Susumu Sasabe и Yaron Tsubery, чьи выступления мне очень понравились в субботу отвечали на вопросы и это надо было слушать: доклады можно посмотреть в трансляции, а это - нет.

Слушая Susumu, я осознал принципиальное отличие японского способа мышления от западного (американского и европейского) в представлении процессов. Западный человек представляет процесс как объект, статически - картинка as is. Если его зачем-то надо изменить - ставим цель, рисуем картинку to be. И меняем. Если изменения велики, то ищем траекторию as is ⇒ to be, вырабатываем план и меняем по плану. Японцы же знают, что процесс сам по себе изменчив и всегда держат в голове траектории их изменения. Когда Susumu говорил о разных процессах, а он в своих ответах описывал их несколько, он всегда держал эту траекторию изменения, представлял их. И, собственно, японский подход непрерывного улучшения - он как раз опирается на это представление, работает на сознательный выбор траектории, ведущей к улучшению.

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

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

Оговорюсь, что все это - сугубо мое осознание, полученное по осмыслению описания Susumu разных процессов, на контрасте вопросами и ответами Yaron. Я не обсуждал его с Susumu и могу ошибаться. Но оно хорошо соотносится с моей картиной мира. А еще - несмотря на малую практическую разницу, это отличие, думаю, имеет очень большое значение для понимания японских методик изменения процессов, прежде всего kaizen и lean, которые сейчас очень распространены. Преломляясь в западном сознании они теряют восприятие процесса вместе с траекториями его изменения. Я еще буду осмысливать это. Понимание не значит, что я научился мыслить по-японски, я всего лишь понял, в чем отличия.

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

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

→ продолжить чтение…

2012-04-23: Правильное автоматическое тестирование

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

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

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

Итак, после вступления - начинаю.

Для начала - два совершенно общих принципа.

  1. Следование методологии не может быть оправданием конкретных предпринимаемых действий.
  2. При реализации чего-либо правильно опираться на распространенные практики отрасли в этой области и соотносить свои действия с ними.

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

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

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

  1. Business value автоматических тестов - сокращение усилий на выпуск продукта надлежащего качества. Следование этому принципу должно быть доказательным и признанным заказчиком.
  2. Люди, отвечающие за выпуск продукта - тестировщики (у нас - аналитики и инженеры) и представители заказчика - доверяют автоматическим тестам. Без этого business value не достижимо. Поэтому тестировщики играют роль непосредственных заказчиков для любых автоматических тестов, и именно они - оценивают их целесообразность.
  3. Доверие результатам автоматических тестов повышается, если тесты представлют собой белый ящик - последовательность выполняемых действий видна тестировщикам, и они могут в нее вмешиваться. В отрасли является нормой, когда автоматические тесты реализуются на некоторых скриптовых языках в терминах модели. Они понятны тестировщикам, которые часто их разрабатывают и почти всегда - могут доработать и изменить. Тесты на верхнем уровне джолжны быть компактны.
  4. В отрасли применяется подход Data-Driven тест, в котором в составе теста отделены входные и проверочные данные. Данные написаны компактным, легко понимаемым и модифицируемым образом. Это позволяет легко создавать множество прогонов одного теста на разных данных, тестируя сложные случаи, например, данные на границе допустимого диапазона или спецсимволы в строках. И это точно доступно тестировщикам и IT-службы представителям заказчика.
  5. Тесты выполняются в рамках фреймворка, который собирается на основе одного (или даже нескольких) из большого количества стандартных.
    • Фреймворк обеспечивает взаимодействие с программой на нескольких уровнях - UI, веб-сервисы, процедуры базы данных, интеграция через MQ, файлы или другим образом. При этом тест может предполагать взаимодействие разных видов. А конкретные процедуры интеграции и взаимодействия реализуются на основе стандартных библиотек.
    • Фреймворки также обеспечивают логирование, включая внутренний лог теста на уровне белого ящика, и отчеты разного уровня - для тестировщиков, разработчиков и менеджеров.
    • Фреймворк обеспечивает ведение тестов и данных для них, запуск тестов в ручном режиме или при сборке, подключаясь к серверу непрерывной интеграции. Хорошие фреймворки на основе BDD позволяют связывать тесты с тест-кейсами.
    • Предпочтительны фреймворки с открытым кодом, и их - тоже много. Для тестирования Web-приложений стандартом де-факто является Selenium, который также подключается к большинству фреймворков (взаимодействие с базой данных и интеграция - они вне Selenium). Рассказыввали также Auto IT X и Robot Framework, но приводились и большие списки, включая композитные конструкции. Есть способы тестировать продукты-черные ящики, включая приложения, запускающиеся под Citrix или закрытые flash-апплеты в броузере - ориентируясь на графические картики, и это можно применять вместе с другими методами. Выбирать надо с учетом специфики проекта - интерфейсы, интеграция и прочее.
    • Над фреймворком прорабатывается некоторая надстройка, ориентированная на конкретный проект. Обеспечивает интеграцию, ведение тестов как белого ящика. А иногда - и представление дополнительных отчетов или макроуправление тестами. Средства для всего этого - имеются (НР QTP не любят потому, что он сам - черный ящик).
  6. Тестов у проекта - много. И выполняются они - долго. Поэтому они требуют структуризации. И это - нормально.
    • Применяется выделение Build Acceptant Test (BAT). Они выполняются после каждого билда в первую очередь, и остальные запускаются только когда эти - не прошли. Прочие автоматические тесты могут выполняться реже, в том числе - только при регрессионном тестировании.
    • Применяется деление тестов по функциональным областям. Тогда запускаются сначала BAT-тесты, потом тестирование функционала тех областей, которые затронуты разработкой, и лишь потом, если предыдущие этапы завершены - все остальные. С учетом появления времени новых изменений кода.
    • Применяется приоритезация тестов по критичности функционала и рискам, связанным с его утратой. С соответствующей настройкой исполнения тестов.
    • Тестирование через конечный UI тяжело сопровождается и часто медленнее. Поэтому его применяют ограниченно, например, для одного документа, проверяя остальные варианты на уровне прямого взаимодействия через данные. И пренебрегая связанными с этим рисками, полагаясь на дешевое устранение чисто UI-ошибок.
  7. Тесты требуют внимания и дизайна.
    • Если пренебрегать тестами и их дизайном - они превращаются в дорогой, слабополезный и несопровождаемый код, становятся обузой.
    • Разумное применение тестов, наоборот, приносит измеримый эффект в виде экономии усилий на разработку проекта в целом и удовлетворенности заказчика качеством.
    • Организация процесса может быть различной, но в любом случае он встраивается в процесс разработки как одна из составляющих и предполагает совместную деятельность и взаимодействие разработчиков, тестировщиков и аналитиков. Границы ответственности между ними также могут быть разными, при том что за конечное business value автоматических тестов отвечают тестировщики - автоматическое тестирование является частью тестирования в целом.
    • Unit-тесты применяются многими как составляющая часть автоматических тестов (часть людей используют это как синонимы, но многие - разделяют). Формальная граница проводится по-разному, но по-любому они встроены в общий процесс как составляющая, организуются и оцениваются соответственно.

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

2012-04-21: SQAdays весна 2012 - первый день превзошел ожидания

Первый день весенней SQA Days 2012 не просто оправдал ожидания - он их превзошел. Я знал, что конференция - очень живая, а тестировщики - активно общаются поэтому на конференции много практических рассказов, из которых можно почерпнуть идеи - и ожидал этого. Но получилось больше. За счет иностранных докладчиков, которые много работают с качеством продукта и сделали хорошие и неожиданные для меня доклады. Конференция реально становится интернациональной, при чем широко - Германия, Нидерланды, Израиль, Япония. Единственное - мне по-прежнему сложно одновременно слушать доклад по английски и записывать его, так что о них будет несколько в телеграфном стиле.

А теперь, прежде чем перейти к обзору докладов - интересное наблюдение. Это - конференция практиков, причем тестировщики-практики - значительно более конкретны, чем разработчики. Они знают теоретические понятия - как слова. Они не слишком доверяют теориям, потому как не понаслышке знают, насколько слова, теория отличаются от реального мира. И, в общем, потому они не слишком вникают в теорию - если это не описания тех программ, которые им надо протестировать. Waterfall, Agile, Lean для них - теория. У которой есть предельно конкретное воплощение в собственной жизни. А вот обобщенного понимания - часто нет. Потому как не нужно. И оно - домысливается по месту, иногда адекватно, иногда - не очень.

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

А сейчас - обзор докладов.

→ продолжить чтение…

2012-04-17: Желание и Возможность формулируются на разных языках

Этот пост посвящен теме, которую я давно для себя знал, но доклад Василия Малинова на SoftwarePeople пробудил ассоциативный ряд и я решил об этом написать.

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

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

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

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

Однако, на самом деле стоит посмотреть вокруг, поискать - какие реальные проблемы, задачи или трудности стоящие в рамках производственных процессов вы могли бы решить, если бы достигли этих умений. И, найдя - предложить тем лицам, которые за эти проблемы отвечает: "Я хочу попробовать это, думаю, это решит такие-то твои проблемы, давай попробуем?" Чаще всего ответ будет положительный - если усилия, затраты на "попробуем" будут разумны. Даже если проблема не находится в списке первоочередных, но актуальна: потому что без Вас о ней думает ответственный, а так - будете думать Вы как заинтересованный человек.

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

Собственно, почему я это написал? Потому что лично я - всегда ищу возможности, и, как правило - их нахожу. Иногда мир вообще их преподносит совершенно неожиданно. Например, несколько лет назад у меня возникла идея попробовать преподавать, я ее летом высказал - и осенью меня позвали читать курс в институте, я 2.5 года это делал. Правда, не совсем туда, не совсем то, и не во-время - но так оно всегда почему-то бывает. И в целом - я не жалею. Но почему-то далеко не все люди так поступают. Многие - лишь сожалеют, что мир глух к их желаниям. Или - что гораздо лучше, но все равно не совсем то - реализуют их лишь как хобби. А Возможности - они есть. Их лишь надо увидеть. Потому что они - совсем не на том языке, на котором сформулированы Желания.

Удачи!

2012-04-12: SoftwarePeople 2012, день второй и мастер-класс Джеффа Де Люка

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

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

А сегодня я был на мастер-классе Джеффа Де Люка о Feature Driven Developer (FDD). И с пользой послушал изложение методологии от его автора, который создал ее не теоретически, а обобщая собственный опыт ведения проектов. Опыт от мэтра — это всегда интересно, особенно если он методично изложен. И в целом он окрасил теоретически известную мне методологию практическими аспектами. Часть из которых мы применяем, а другие — точно стоит попробовать использовать и, может быть постепенно возьмем все…

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

→ продолжить чтение…

2012-04-10: SoftwarePeople 2012, день первый

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

Теперь - подробности. Для начала - об общем тренде, который я явственно зафиксировал на этой конференции. Это - работа как fun, а не как необходимая деятельность. Конечно, об этом я слышал и раньше, но это было где-то в теории, прекрасном будущем. А теперь, похоже, оно входит в жизнь, становится ее частью. Об этом говорили минимум в трех докладах: Дэниэл Льюис "Мотивация — залог успеха", Асхат Уразбаев и Дмитрий Евтеев (Positive Technologies). И, как сказал Асхат "не то, чтобы это мне нравилось, но это входит в жизнь и с этим надо считаться".

Кстати, если говорить о нашей компании (CUSTIS), то с этой точки зрения дело обстоит хорошо. Правда, вместо модного слова fun мы говорим о самореализации, что вносит свои оттенки, включая определенную сдержанность. Но тезис, что "Компания объединяет людей, самореализующихся в творческой практической инженерной работе в области информационных и бизнес технологий" (Володя Рахтеенко на стратегической сессии 2011) - звучит адекватно духу времени, хотя и не использует модных мемов.

Теперь про отдельные доклады.

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

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

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

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

Что замечательно - совсем недавно Рома Корешков рассказывал о статье 1992 года на ту же тему - Jack W.Reeves "What is software design. По ссылке - оригинал, а здесь - русский перевод. Через 13 лет Ривз вернулся к тезисам статьи и нашел, что они сохранили справедливость.

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

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

Остальные доклады - коротким списком, что запомнилось

  • Асхат Уразбаев "Лидерство в стиле Lean". Говорил о 3 видах развития команд. Первые - идут вверх. Вторые - попробовали, но не сложилось, и тут - понятно, усилия оказались чрезмерными, но прорыва не принесли. А третьи - вышли на некоторый уровень и там колеблются. И таких много. Почему? Потому что у них кончились проблемы, работа пошла "хорошо". Если проблема возникает - они с ней борются. Но вот чтобы идти дальше, надо уже говорить не о проблемах, а о возможностях. Пробовать, экспериментировать. А без этого - не получится. Дальше речь шла о различных способах - что и как можно пробовать, но это - примеры, а не руководства. Но примеры - полезные, так что презентацию я тоже буду смотреть.
  • Джефф Де Люка "Почему мы терпим неудачи. Разработка ПО в наши дни". Джеф дал авторское видение современного состояния. Там не было открытий, но это не было и изложение от капитана Очевидность. Это было авторское видение с полутонами и деталями, и от мэтра оно - интересно. Из неожиданного: изменения он видит всегда революционные, через хаос. А я так не хочу.
  • Дэниэл Льюис. Мотивация — залог успеха. В докладе был список буллетов - что мотивирует английских разработчиков сегодня. Утверждалось, что не только английских. Размер зарплаты там очень далеко не наверху (но он должен восприниматься как справедливый). В целом - любопытно.
  • Вадим Митякин "Путешествие по изведанному. Чем ваша компания является на самом деле". На этот доклад я не попал, пошел на Джефа. А, говорят, он был весьма интересным - о компании из позиции генерального директора, это редко бывает на конференциях.
  • Василий Малинов (Oktogo.ru) "Роль продукта в успехе привлечения инвестиций" - об успешном стартапе, интернет-проект по резервированию отелей в России, взгляд на развитие изнутри. Как менялась бизнес-идея при сохранении в целом технологической платформы резервирвоания - они искали нишу рынка. Любопытно.

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

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

Завтра - второй день и, надеюсь, тоже будет интересно.


2012-04-01: Atlantic Systems Guild

Последующие дни Atlantic Systems Guild, увы, не принесли ничего нового. Второй день был сильно гнилой, третий - повеселее, но все равно, информация, которую я услышал - это прошлое, она была бы мне интересна в 2005-2007 году. А с тех пор на проблемы были получены ответы, которые естественно, дали крен в другую сторону, это было осознано, и выработаны какие-то практики поиска баланса. Все это в докладах отсутствовало.

Наверное, это объясняется высоким уровнем самих докладчиков. Потому что когда люди успешно применяют достаточно тяжелые практики за счет личных способностей - им легкие практики не слишком актуальны, тем более, что они видят их ограниченность. Они сосредотачиваются на том, чтобы выделять, раньше обнаруживать неправильные ситуации. И антипатернов было действительно много. Но, опять-таки, во многом прошлые. А еще - успешные люди не слишком понимают, за счет чего они сами успешно это делают. За счет чего держат в голове и обеспечивают те самые checklist'ы из 20 пунктов, которые показывались - они просто делают это. Они выдают этот список, они умеют находить баланс, чтобы не слишком закапываться - и все.

Подробный отчет - Atlantic Systems Guild 2012


2012-03-28: Agile как IT-форма современного менеджмента

Статья была опубликована на softwarepeople.ru (портал закрыт) и перепечатана на interface.ru
Статья получила развитие Agile в контексте большого менеджмента – тренды развития (SPMconf-2013)

Прошедшая конференция AgileDays-2012 естественным образом сфокусировала мои мысли на теме Agile-практик как таковых, их развития и соотнесения с традиционным менеджментом.

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

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

Однако, важным является тот факт, что способных успешных менеджеров, а также желающих, готовых на достаточно большие усилия, чтобы стать успешным менеджером, было не так много. И пока организация производства могла обходиться таким количеством менеджеров, система более-менее работала. Это, по моим ощущениям, 60-70-е годы. А затем произошло следующее. Повышение потребности в квалифицированном труде позволило достаточно большому количеству людей подниматься вверх альтернативным путем. Не стремясь стать успешным менеджером ценой больших усилий. В ответ на это - появилась идея обучения регулярным образом, без существенных затрат собственной энергии, которая, в конце концов, вылилась в идею MBA. Теоретически там учат тех же самых успешных менеджеров на основе анализа опыта и методов. Но практически тех самых менеджеров, которые служили образцом - не получается, потому что составляющие самомотивации и самореализации в должной мере не присутствуют у всех обучающихся. Хотя тем, у кого он присутствует в силу личных склонностей, такое обучение безусловно помогает.

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

Возвращаемся в область IT. Она отличается от других материалом, из которого изготавливаются конечные изделия. Он имеет преимущественно нематериальную природу, так как изделие - исполняемая программа, написанная на некотором языке. В этом смысле IT ближе к научной области - НИР и НИОКР, однако требуется от нее производственная деятельность. Менеджмент пытался решить эту потребность через все большую и большей регламентацией. К началу 2000-х этот путь достиг своего апогея в виде unify process, но требуемый результат в виде гарантированного завершения, пусть даже ценой больших денег - достигнут не был.

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

И в 90-х решение было найдено - Agile-технологии. Возникнув первоначально как протест против доведенных до абсурда процедур регламентации в виде XP, они с появлением SCRUM дали легкий и эффективный способ управления IT-проектами, обеспечивающий приемлемое качество и при этом сделавший управление IT-проектами доступным достаточно широкому кругу людей в отрасли без чрезмерных усилий по освоению. И этот способ завоевывал мир де-факто. При этом первоначальная цель XP - вытеснить за рамки IT процедурное администрирование и вообще классических управленцев - также была во многом достигнута за счет внедрения собственной, оригинальной терминологии и практик. В результате IT-шники получили возможность самостоятельно управлять своими проектами или, во всяком случае, обрекли менеджеров на разбор со спецификой отрасли. Хотя сами практики, если разобраться внимательнее, впитали в себя позитивный опыт "обычного" менеджмента который тоже интенсивно развивается.

После успеха де-факто началось признание де-юре. Артефактами этого являются SWEBOK 3 версии (2004) и PMBOK 4 версии (2008) в которых явно упоминаются agile- методологии и сделана оговорка, что структура самого документа повторяет стадии классической (водопадной) модели лишь по совпадению. PMBOK-4 читать особенно забавно - итеративность новые веяния вписаны в книгу явно на живую нитку, точки сшива и провалы целостности, возникшие из-за этого - видны. И этот процесс завершается сейчас понятийной сшивкой с менеджментом вне IT, которая необходима для Agile-управления IT-проектами в мегакорпорациях. Проявления этой сшивки - доклад Dan Rawsthorne. Scrum: the Big Picture на AgileDays-2012, в котором показана реализация в Agile "общепринятой" иерархии уровней Software Development - Product Development - Project Management - Portofolio Management. И доклад Джефа Сазерленда на SECR-2011, в котором правильный SCRUM позиционирован как высшая и последняя стадия CMMI-5.

Если же говорить о широких массах, то IT-шники относятся к управлению так же как к технологиям. Они знают, что серебряных пуль - нет. Они знают, что новые идеи могут давать много полезного, и за ними надо следить. И чтобы их использовать вовсе не обязательно углубляться в теорию - можно применять на практике и без этого. Хотя если интересно - то почему бы не разобраться в теории - это прикольно, полезно и поучительно. Но во всей теории разбираться - никакого времени не хватит. Поэтому новые идеи вспыхивают, оказавшись удачными - распространяются, становятся общеизвестными, в их ограничениях разбираются, после чего они осыпаются в багаже полезнымии практиками. Так же и в технологиях: вспыхивает функциональное программирование, F# и Haskel, обретает последователей, интенсивно развивается, а потом опадает новыми элементами в C# или занимает подобающую, хотя и неожиданную нишу как Erlang. И практики управления и технологии по пути могут обрастать евангелистами и ярыми сторонниками. А сам цикл от прихода до обретения места - стремителен, порядка полутора лет.

Как я уже говорил, оригинал управленческих практик часто приходит извне. Но попав в IT - он сильно изменяется. Например, Канбан в IT обернулся тремя практиками ведения проекта: доска, ограничения на ней, измерение скорости потока. Который сосуществует в сознании с "большим" Канбаном как методом оптимизации процессов. Схема формирования команды - стадии Storming-Forming-Norming-Performing тоже стали более простыми и формальными, скрестившись по пути с IT-командами. Поэтому многие говорят об отсутствии принципиально нового или искажении оригинальных, якобы правильных идей и процессов. Но это неправильно. Потому что реально процессы впитывают специфику IT-разработки. А еще - приобретают нужный уровень легкости и схематичности, который и обеспечивает их успешное применение в проектах.

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

2012-03-28: Atlantic Guild, день первый

Сегодня был первый день Atlantic Guild. Кажется, я нашел-таки конференцию, которая мне не понравилась. Хотя - это не совсем конференция, это обучение от мэтров. Так вот, выход сопоставим с выходом от обычных конференций. Не то. чтобы мыслей не возникает совсем, но их в сухом остатке - не больше, а местами - меньше. А вот интереса к содержанию - почти нет, увы. Текущее объяснение таково: мэтры - они в отрасли с 80х. Они пережили пришедшее стремительное изменение 2000-х, осознали его. И сейчас - транслируют это осознание другим людям своего уровня. Проблема в том. что в России отрасль сформирована в конце 90-х - в 2000-х. И поэтому тех самых традиций - нет. Люди живут в стремительно изменяющейся отрасли и как-то умеют это делать. Так что когда докладчики говорят. о том, что есть проблема и нечто нужно менять - слушатели уже знают. какие ответы на это даны, в том или ином виде пробовали и знают о следующем шаге - о проблемах, которые порождены этими ответами. А в докладах - только первый шаг. А он - очевиден.

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

Еще вопрос. То, что у проектов есть стейкхолдеры, у них есть интересы, они конфликтуют и работа с этим - часть IT-проекта сейчас знают все, кто ведет проекты, да и другие - слышали. И людей интересует конкретные практики и кейсы. Поэтому когда на практику дают кейс - выявить конфликты, то люди с этим справляются элементарно. И, более того. большинство знает, что дальше надо группировать и приоритезировать. плюс докапываться до реальных причин, придумывать варианты. А когда вместо этого берут первый попавшийся конфликт и просто "говорят вокруг" его решения - это, в общем, антипаттерн. Увы.

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

Хотя, может, они пойдут дальше в последующие дни, или будет больше конструктива. Но пока не похоже - судя по уровню ответов на вопросы.

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

Пока все.


2012-03-25: Agile Days-2012, день второй

Закончилась конференция Agile Days-2012. Второй день был определенно не хуже первого. В нескольких докладах я услышал конкретные идеи, которые можно применить на практике, другие - влекли размышления. Так что, если говорить о конференции в целом - она удалась. И по реакции других участников, они почерпнули для себя много нового. Потому что в целом конференция предназначена все-таки для более молодых, ищущих новые пути и осваивающих новые идеи. Это было видно и по реакции зала на доклады, и по активному общению.

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

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

→ продолжить чтение…

2012-03-24: Agile Days-2012, день первый

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

→ продолжить чтение…

2012-01-18: Отчет с KM Russia 2011

Наконец, доделал и опубликовал отчет KM Russia-2011 - конференция по Управлению знаниями.


2011-12-12: KMrussia - объясняшки

Посмотрел на этих выходных выступление Сергея Гевлича на KMrussia про Объясняшки. На самом форуме я в это время был в другом зале и пропустил, но по общению второго дня понял, что пропустил зря. Видео всей конференции еще не выложено, но это выступление было опубликовано на youtube, и ссылка дана в группе TopClassInternational на facebook, где идет общение по управлению знаниями.

Реально вдохновился идеей. С точки зрения теории - ничего нового. Давно известно, что наиболее эффективная передача информации - при сочетании каналов видео и аудио, в динамике. Более того, есть известные и популярные рисованные мультики RSA-студии. Что, кстати, видно из вопросов после выступления - автору указывали на книги, где все это тоже написано.

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

Я потом еще посмотрел сайт автора http://xplainto.me и вышел по ссылкам на статью, программа уже доступна для бета-тестирования, но у меня нет iPad. Может, это повод?

2011-12-08: Культуры IT-компаний

В этом посте речь пойдет не о книге Энтони Лаудера (Стаса Фомина), которая выделяет четыре культуры на основе западной истории IT-компаний, а о тех культурах российских IT-компаний, видение которых у меня сформировалось в результате общения на конференциях, окончательно сфокусировавшись на SQA Days.

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

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

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

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

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

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

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

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

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

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

2011-12-05: Впечатления о SQA Days-2011

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

→ продолжить чтение…

2011-11-28: SPM Conf - впечатления

В субботу 26.11.2011 участвовал и выступал в Питере на конференции SPM Conf 2011 - Software Project Management Conference. Это - новая конференция от SQA labs, которая, думаю, станет первой в серии конференций по софтверными проектами, дополнив ранее стартовавшие линейки конферениций - SQA Days и Application Development Days. Конференцию снимала на видео наша компания, и скоро запись появится на lib.custis.ru, а пока - мои впечатления.

Если выразить кратко - конференция удалась. Было много хороших и интересных докладов. И, несмотря на относительно узкий предмет, доклады были посвящены различным темам. И это была конференция практиков, которые имея представление о методологиях, основной упор делают именно на практические приемы эффективной работы. И хотят поделиться своим опытом, передать его другим участникам. Наверное, поэтому я не открыл для себя в докладах чего-то принципиально нового - я все-таки работаю в отрасли достаточно давно. Но атмосфера общения с сокультурными людьми - она ценна. Если же говорить о более молодых участниках конференции, то на мой взгляд большинство докладов несло для них ценный опыт и вызывало явный интерес - что хорошо было видно и по вопросам и по активному участию зала. И я видел далеко не все доклады - все-таки, 3 трека подряд, и планируя конференцию я в большинстве слотов отметил себе два доклада, разрываясь между ними. К тому же, на последних трех слотах докладчики конкурировали еще со стендовым докладом Стаса Фомина, который держал стоящую аудиторию 2.5 часа (сидящих мест там было мало). При этом доклад Стаса - не снимался на видео, поэтому при отсутствии - ты терял возможность увидеть. Что повлияло на не только на мой выбор, но и, думаю, на выбор других участников - остальные доклады будут доступны в записи.

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

  • Project Manager в SCRUM - как жопа: жопа есть, а слова - нет.
  • Аналогия Ежи и Лисы...
  • Кнут получился, а пряник - не очень.

Я тоже выступал на конференции, с достаточно провокационным, как я думал, докладом Описание бизнес-процессов — waste? На этой конференции он оказался вовсе не провокационным, потому что большинство участников были уверенны, что главное при применении любых методологий - не переусердствовать. И ничего не делать только потому, что этого требует какая-либо методология. Все это в полной мере относится и к описанию бизнес-процессов. Правда, как практики - они предпочитают не спорить с теоретиками и ограничиваются этой рекомендацией. А я тут осознал что конкретно по этому вопросу - теорию уже можно аргументированно подправлять, убеждая заказчиков и снимая с себя необходимость в описании процессов - о чем и рассказывал.

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


2011-11-24: Бизнес-форум управления знаниями - день второй

Сегодня был второй и последний день Бизнес-форума по Управлению знаниями KM Russia-2011. Были мастер-классы, самым впечатляющим из которых безусловно был мастер-класс Рона Янга, больше трех часов. Практически это была расширенная версия его вчерашнего доклада, с конкретными кейсами и подробностями. Замечательный человек. Рон несколько раз задавал работу в группах на 10 минут с ответами на вопросы, а потом - за перерыв подстраивал следующий слот с учетом услышанного. В конце была обратная связь от участников, ему переводили и Рон исписал больше страницы заметок - он тоже учится, проводя такие мероприятия, что очень впечатляет. В апреле, в рамках бизнес-конгресса, обещан его 8-часовой (или 16-часовой?) тренинг.

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

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

А еще, кроме мастер-классов - было живое и активное общение участников. И это - ценная вещь форума, реальный обмен знаниями - потому что участники очень разные. Я, кстати, узнал, что вчера Сергей Гевлич в своем докладе рассказывал про применение ими формы эффективной упаковки знаний в презентациях через рисование и звук, аналогично RSA Animate. И они готовят программу на iPad, которая сделает создание таких презентаций общедоступным. Стас, правда, говорит, что у него такая технология есть...