Официальные и не очень события нашей команды, потенциально интересные и за пределами компании.
Как правило, это анонсы и отчеты о разного рода семинарах и конференциях, часть из которых мы проводим у нас в компании (см. Категория:Открытые Семинары).
Блог,
как и весь этот сайт, реализован на Mediawiki4Intranet — «прокачанной» нами MediaWiki на стероидах.
Уважаемые разработчики!
Местами проскакивает информация, что сборку CUSTISWIKI с вашими суперплагинами где-то можно скачать, попробовать. Это так? Если да, то дайте пожалуйста ссылку.
Зараннее спасибо.
Стас, у меня уже полгода вот такой монитор Dell ST2220T. Мультитач (2 точки), гнется хоть до горизонтального положения, устойчив, достаточно тяжел. Правда, скрость реакции тачскрина не очень - это может сказаться на возможности рисовать.
Спасибо! «E-IPS» — типа углы обзора должны быть хороши? (полезно для докладчика).
А попробуйте порисовать на вашем! (Поставьте Inkscape или хотя бы ZoomIT, например).
Интересно, будет ли получаться.
Но меня все-таки идея моноблока греет (портабильность, проводов почти нет...).
Может у кого-то дома есть тачсмарт? Или кто-то знает шоурум, где его можно попробовать?
Стас, ко мне можно на ты, всё ж таки 6 лет вместе работали :)
Углы обзора замечательные.
Попробовал порисовать в Paint.NET - и точности не хватает, и "сигнал пропадает" время от времени. Этот тачскрин рассчитан только на тычки и драги :(
Добрый день. Я был на нескольких семинарах у вас ранее, и с удовольствием бы сходил на этот семинар, но увидел в rss-ленте только сейчас, да и пост насколько я вижу размещён 30го числа. Подскажите, может быть есть возможность узнавать о ваших семинарах хотя бы за неделю?
Во вторник, 21 апреля, прошла аннонсированная ранее встреча сообщества AgileRussia.ru, озаглавленная «Agile по-крупному!». Изначально тема заявлялась, как разбор сложностей Agile в крупных командах и проектах, обсуждение тонкостей масштабирования, ведь все, что выходит за максимальный размер стандартной Agile-команды в 9 человек, уже требует специальных подходов.
Но на месте, обсуждение велось вокруг двух следующих, «живых» бизнес-кейсов:
«Waterfall2Agile — Agile для Большой Waterfall компании: нужен? как и что внедрять?» — это пришли ребята из широкоизвестной компании «C», они детально описали свой цикл разработки и структуру проектного управления своегоБольшого Продукта (достаточно заметить, что цикл тестирования релиза занимал у них 18 месяцев), пояснили возникающие проблемы, и запросили у сообщества предложений по улучшению процесса — включая как Agile-практики, так и технические/инструментальные решения.
«AgilePostmortem» — это была посмертная ретроспектива распределенного Agile-проекта, интересного высокотехнологичного стартапа, к сожалению, «не дожившего до весны».
Что касается кейса «Waterfall2Agile», то ребята из компании «С» заслуживают серьезного уважения за смелость публичного обсуждения внутренних проблем разработки — далеко не всякая команда (вне зависимости от agile она или нет) решится на это. Мы публикуем две части видео «Waterfall2Agile-1» — это описание текущих процессов и постановка проблем, и «Waterfall2Agile-2» — это предложенные сообществом решения после 50-ти минутного обсуждения.Будет очень интересно, если внедрение Agile в компании «C» продолжится, и через некоторое время, на очередной встрече мы узнаем о прогрессе в этой области, о новых проблемах и нетривиальных решениях.
С другой стороны, кейс «AgilePostmortem» более соответствовал заявленной теме встречи — хотя команда там была не такая большая, как в случае компании «С», но она была и географически распределенной, и работала в очень быстром темпе, с использованием большинства современных agile-практик и инструментов эффективной разработки. Публикую «спойлер» — в целом, «вскрытие показало, что больной умер от вскрытия здоровым/от несчастного случая», ибо почти все было сделано правильно. Хотя с другой стороны, возможно, некоторые небольшие проблемы, которые были вскрыты обсуждением, тоже внесли свою лепту, ибо проекту совсем чуть-чуть не хватило, «чтобы допрыгнуть до другой крыши» — т.е. выпустить бета-версию, ведь альфа-версия уже была и успешно демонстрировалась.
Как обычно, видео публикуем на высококачественном веб-видео-хостинге, плюс каждое видео можно скачать в лучшем (оригинальном) качестве. Если доступ к хорошему интернету сильно затруднен, а желание посмотреть велико — напишите нам, мы вышлем диск.Waterfall2Agile-1
Наша компания выступила спонсором весенней олимпиады по программированию на физтехе (более формально — «Индивидуальное первенство МФТИ по программированию (весна 2009)»).
У нас в команде есть бывшие олимпиадники, и, мы несогласны с мнением, что олимпиады по программированию «вредны для программиста-ремесленника», да, не все сильные программисты любят олимпиады, но почти все олимпиадники — классные программисты, которым будут рады в любой приличной компании.
Мы со своей стороны, планируем и впредь поддерживать физтеховские первенства по программированию, думаем, в следующий раз будут и более интересные призы (наше спонсорство этой олимпиады, если честно, былоочень внезапным), и возможно, мы предложим интересные задачи.
17 апреля «наш цирк» гастролировал на «Дне Карьеры МФТИ» (как-то двусмысленно получилось с «днем карьеры», ну ладно). Гастролируем мы уже не в первый раз (отчеты о предыдущих ярмарках вакансий МФТИ — осень-2008, осень-2007), в целом все как обычно, все тот же набор околофизтеховских компаний, разве что явно стало просторней (по сравнению с предыдущими заездами) на втором «мансардном» этаже ГЗ — т.е. не все компании «дожили до весны», ну или по крайней мере, продолжили интересоваться студентами.
Кстати, хотелось слегка пояснить, в чем нам видится смысл таких студенческих «дней карьеры», «ярмарок вакансий» — ведь часто встречается мнение, что это малоосмысленные мероприятия, ибо наиболее продвинутые студенты уже имеют работу и в рабочее время не могут посетить ярмарку, а «нерабочие» студенты в массе своей еще слишком «зелены» для реальной, высокооплачиваемой работы.
Ну так не стоит путать все это с биржей труда, где «потерявшие надежду ищут черную работу» (хотя безусловно, в РФ сейчас полно ВУЗов, где на ярмарках вакансий предлагают работу на уровне макдональдса).
Вообще, карьерный вопрос решать напрямую на ярмарке «вот я такой, умею XXX, сколько мне у вас дадут?» практически нереально — идет плотный поток. А для того, чтобы устроиться на работу, необходимо не менее получаса внимательно изучать друг друга. День карьеры - скорее, неспешный процесс «принюхивания» (ну, скажем, «взаимного обмена информацией») — мы собирали анкеты студентов, не для того, чтобы немедленно предложить работу каждому из 250 сдавших анкету, а скорее чтобы оценить потенциал подрастающей смены, затем возможно предложить им побывать на мероприятиях компании — семинарах, обучающих курсах. Тем, кто действительно хочет получить работу у нас, нужно посмотреть на наши актуальные вакансии, слать нам резюме и требовать от нас ответ (а то мы иногда присланные резюме теряем…).
Ну и в обмен на анкету, мы вручали «флешку с сюрпризом», содержащую, также и краткую презентацию о компании (надеюсь не все отформатировали полученный флешки сразу, не просмотрев эти краткие семь страниц). По сути, мы не ожидаем немедленно отдачи, мы верим, что многие молодые студенты, с которыми мы общались сейчас, через пару лет, если они не разочаруются в IT-области, и не уйдут в финансы или ядерную физику, вспомнят о нас («были какие-то прикольные ребята»), и поинтересуются, есть ли у нас вакансии для таких суперспециалистов, как они. Ну или мы встретимся быстрее — если будет отклик на наши конкретные вакансии, или на наших обучающих курсах.
Кстати, о курсах — когда мы собираемся проводить курсы (обычно это не чаще чем раз в полгода), мы обычно рассылаем е-майлы и даже иногда обзваниваем, оставивших контактную информацию в анкетах. Но, как обычно, бывают накладки и информация путем таких рассылок доходит не до всех. Так что если вы заинтересованы побывать на наших курсах — надежней просто подписаться на этот блог (см. «Подписаться на: Сообщения (Atom)» внизу), и когда будет соответствующий анонс — писать на указанный адрес, просить чтобы вас зарегистрировали).
В целом, все прошло гладко, две с половиной сотни «2GB-флешек с сюрпризами» было успешно роздано, фото с мероприятия прилагаем — и рекомендуем его просмотреть, там будет прекрасная коллекция девушек «МФТИ-весна-2009».
21 апреля (вторник) в нашей компании состоится очередная встреча сообщества Agile Russia. Тема обсуждения — «Agile в больших проектах».
Всем известно, что размер команды в Agileне должен превышать 9 человек. Но что делать, если на самом делепроект больше? Нужно лиотказыватьсяот применения Agile? Если нет, то какиепрактики масштабирования Agileлучше применить?
На встрече мы обсудим следующие вопросы:
Как внедрить Agile в крупных командах?
Возможно ли коллективное владение кодом в большой команде?
Что делать, если архитектура не позволяет поделить на части разработку?
Как поставить Agile в распределенной команде?Время: 21 апреля, во вторник. Начало - 19-00. Окончание - 22-00. Место проведения: центр Москвы, наш офис.Условия участия:Бесплатно.Регистрация обязательная. Просто заполните регистрационную форму или напишите письмо на askhat@agilerussia.ru
Мы постараемся снять и опубликовать видео, но участвовать «вживую», безусловно интересней, приходите!
В связи с этим событием, мы вынуждены извинится перед студентами и перенести одно занятие курса «Разработчик СУБД» с вторника на среду, 19:00. Студенты, не пропустите!
Во вторник успешно прошла презентация курса «Разработчик СУБД» и последующий набор. Пришло больше полсотни ребят, и, честно говоря, интерес, который вызвал этот курс у студентов был для нас несколько неожиданным, так что в некотором смысле это был тест нашему офису на пропускную способность.
На всякий случай, для интересующихся, приводим краткий конспект презентации (флеш-версия или Java-версия).
Далее, перед нами стала нелегкая задача отбора студентов — для этого мы приготовили легкий тест на элементарные понятия на уровне первого курса физматвузов («системы счисления», «простые программы», «логика», «комбинаторика»). Впрочем, мы ничего не скрываем, на тест можно посмотреть и даже попробовать пройти. Ну и судя по результатам, этот легкий тест не вызвал особых затруднений у большинства студентов — среди показавших максимальные результаты много даже второкурсников.
Изначально, мы планировали взять 12-14 студентов, исходя из вместимости нашего учебного класса, но приняв во внимание интерес к курсу у студентов, и в целом, «высокий уровень собравшихся», мы решили «переиграть» правила проведения тренингов — отказаться от учебного класса, а проводить тренинги в самом конференц-зале, используя ноутбуки самих студентов, ведь, как выяснилось из опроса, — ноутбуки есть уже больше чем у 90% студентов. Сейчас мы в срочном порядке закупаем специальные легкие столы для ноутбуков, но зато теперь мы смогли взять на курс в два раза больше студентов, и мы взяли всех, чей результат был «не ниже медианы всех результатов».
Немного статистики (для тех, кто захочет сопоставить свои результаты, и трезво «взглянуть правде в глаза») — медиана результатов тестов —19, а гистограмма «распределения по баллам» приведена ниже:
Далее, судя по результатам анкет, большинство выбрало для занятий вечер вторника. Наши HR-ы должны обзвонить всех участников, и сообщить о результате.
Таким образом, мы поздравляем всех избранных для курса, и просим не унывать остальных — ничего страшного, это не первый и надеемся, не последний, курс, который мы проводим, к тому же, мы попробуем публиковать некоторые материалы, например, видеозаписи лекций.
Наша следующая встреча — 24 марта, вторник, 19:00, приходите со своими ноутбуками, у кого они есть (у кого нет — попробуем что-нибудь придумать).
Весело отпраздновали 8 марта! Подарки-викторины-игры, все исключительно оригинального креатива от мужской части части компании — да, пришлось потратить время и постараться.
Но было ради чего — у нас много девушек, и все как на подбор — комсомолки, спортсменки, красавицы!
Так как меня упрекают в многословности отчетов, буду краток. Семинар прошел успешно, — именно семинар, скорее даже «круглый стол», а не «доклады/лекции», ибо практически каждый слайд подвергся живому обсуждению, скажем, что некоторые «зрители» говорили и держали фокус внимания больше докладчиков. Темы дискуссий, правда часто уплывали далеко в сторону. Казалось бы, какое отношение имеет дискуссия «Вменяемые Аналитики должны получать больше $4000» к теме «Аналитик в Agile?». Некоторые участники даже озвучили вывод, что оба доклада не имеют отношение к Agile. Можно констатировать, что период романтической влюбленности в модные agile-buzz-words прошел, звучит жесткая критика, и возможно (?) маятник ожиданий прихода «серебряной пули» в методологиях разработки софта скоро качнется обратно к водопадным моделям.
В общем, рекомендуем посмотреть видео — ибо мероприятие никак не сводится к слайдам/статье/аудио, много User-generated контента.
Как обычно, будет веб-видео для поверхностного ознакомления (вы сможете убедиться, что там не все так уныло, как на классической вечеринке IT-шников) и видео в хорошем качестве для скачивания.
Теперь о минусах. Ну, как обычно, пришло только чуть больше половины зарегистрированных, причем не пришла ни одна из зарегистрировавшихся девушек. Выносим устное порицание отсутствующим (кроме девушек, их мы поздравляем с наступающим 8 марта)!
Далее, «живой формат» растянул дискуссию несколько дальше ожиданного — мероприятие, начавшись в 19:00 закончилось почти в 23:00, и далеко не все участники смогли сохранить бодрость духа и внимание до конца.
Но мы сделали выводы! На будующее будем или урезать scope — одна тема на такой вечерний семинар, или вводить некоторую тайм-модерацию ( гонг? девушки с «тайм-плакатами»?).
Студенты, интересующиеся курсом «Разработчик СУБД» — немного подождите, курс обязательно будет, мы готовим его изо всех сил.
Будут и лекции, и живые тренинги, и тренажеры — и главное, мы готовим-препарируем большой реальный проект для практики.
Ожидаемая «точка сборки» — следующаяпятница, 13. HR-команда будет обзванивать всех изъявивших желание, на всякий случай уже можете присылать им письма на hr@custis.ru.
Анонсируембесплатный семинар «Теория и практика Agile».
Будут следующие доклады:
Андрей Бибичев, «Аналитик в Agile: Архаизм или необходимость?». Доклад был уже представлен на SECR-2008, доступны все материалы (аннотация, слайды, статья и даже видео), но ожидается активная живая дискуссия по изложенным положениям.
Александр Байкин, «Гибкий анализ требований». Приблизительные тезисы: 1. Agile — это методология или набор практик? 2. Возьмем немного от Agile. 3. Возьмем немного от RUP. 4. Перемешаем RUP и Agile или 15 принципов гибких требований. 5. 13 чертей требований. 6. Гибкий бизнес-анализ. 7. Гибкий анализ требований и управление изменениями. 8. Гибкое взаимодействие в проекте. 9. Преимущества и недостатки «гибкого» анализа требований.
Время: 4 марта, среда, 19:00; Место: в центре, место легко достижимо с пяти станций метро веток трех цветов — достаточно удобно.Формат: Доклады в конференц-зале с проектором, два тайм-слота по 1:00-1:30 (40 минут доклад, 30-40 минут обсуждение/круглый стол). Между докладами — кофе-брейк (с кофием из кофе-машины и бесплатными плюшками). Все участники обеспечиваются раздаточными материалами.
Мы ожидаем ≈30-50 участников ибо с большим количеством людей, как показал опыт, конструктивное обсуждение организовать очень сложно.
Технический момент — при регистрации нужно указать ФИО — это нужно, чтобы выписать пропуск, поэтому, если ваши ФИО не указаны — пошлите их по почте (stas@custis.ru).
Конкретную программу пока объявлять рано, но там будут и базовые средства групповой работы — системы контроля версий и вики-системы (MediaWiki и Subversion), аналитик-skills (UML, интеллектуальные карты), и самое основное — реляционные СУБД (Oracle) и программирование серверной логики (PL/SQL).
Конкретно график занятий будет определятся демократически (голосованием студентов), но приблизительно мы расчитываем на два месяца — март и апрель, как самые «ненапряжные» для студента месяцы, т.е. планируем завершить все до сессии.
Будет использоваться ударная комбинация методов — лекции с проектором, практические тренинги в компьютерном классе, обучающие тренажеры с тестами, командная работа над игровым проектом, презентации реальных проектов руководителями, и активная дистанционная работа — будут выделены доступные через интернет сервера. В общем, скучно не будет!
В процессе обучения будет подкормка сладостями и чаем/кофе, специальные призы, по окончании — наш сертификат о прохождении курса, а самые лучшие получат суперприз — работу в нашей команде!
Кто заинтересовался — оставайтесь на связи и следите за объявлениями.
И снова хорошие новости для любителей Agile — мы исправили видео с конференции AgileDays-2008, победив мерцание проектора и шум, добавили флеш-видео для обзорного просмотра, и теперь его можно посмотреть или скачать со страницы нашего отчета о AgileDays.
Видео с Физерсом пока не опубликовано по просьбе самого Физерса.
В продолжении поднятой нами темы про IT-комиксы, нельзя не пройти мимо комикса блога «Stuff That Happens». Настоящий программистский комикс, в темах — религиозные войны языков программирования и фреймворков, модные веб-два-ноль сервисы и современные гаджеты, вопросы дизайна и юзабилити. Ну разумеется, есть также романтика, политика, социальные вопросы, вопросы жизни и смерти и т.п. Манера рисунка близка к комиксу XKCD (т.е. совершенно, скажем, без претензий на художественное совершенство), но автора это не смущает.
Итак, год успешно завершен. Вообще, год был исключительно удачным, настолько удачным, что было ясно, что так не бывает — и Гомеостатическое Мироздание не замедлило нанести ответный удар…
Но несмотря на Кризис™, мы достаточно уверенно смотрим в будущее — полно работы от Очень Надежных Заказчиков, и мы их не подведем!
У нас нет массовых сокращений, даже наоборот, мы активно набираем сильных профессионалов — сейчас, в период массовых сокращений, часто «режут» не только случайных людей, но и целые команды с сильными ребятами — так вот, мы ждем мощных программистов, аналитиков, руководителей. Хотя конечно, нам пришлось ужесточить планку отбора — на рынке сейчас действительно стало очень много людей, и многие из них, скажем, в IT-отрасли оказались случайно, на волне «кадрового пузыря»… Но если вы настоящий профессионал, мы вас ждем! Да, возможно зарплаты перестанут расти «по инерции» (как раньше рос фондовый рынок), но у нас всегда есть место для подвига — Производительность и Качество у нас без награды не останется. Но хватит о грустном, возможно мы посвятим следующие посты нашей процедуре отбора более подробно.
А так, мы совершенно с чистой совестью встретили Новый Год традиционным корпоративом, ну и наиболее невинные фотографии с праздника, мы, как обычно, замешали в коллаж:
Еще раз поздравляем всех наших сотрудников, заказчиков, и просто друзей компании с Новым Годом!
Надеемся, кому-то видео окажется полезным, и позволит немного взбодрить мозг после развлекательной новогодней телепрограммы, возможно оно также даст некоторое инсайд-представление о наших внутренних семинарах.
Стас Фомин, «MediaWiki: серебряная пуля или швейцарский нож?».Аннотация: Сейчас вики-системы активно используются не только открытыми сообществами, но и компаниями-разработчиками для написания документации и внутрикорпоративного управления знаниями. При этом вики-системы вытесняют «классические» системы документооборота и технологии документирования. Мы рассмотрим причины этого и обозначим границы применимости, указав также на минусы вик, из-за которых они так и не стали «серебрянной пулей».
Затем мы рассмотрим выбор внутрикорпоративной вики-системы, где мы рекомендуем MediaWiki, имеющую огромный опыт использования и доработок, открытая архитектура которой позволяет, как легко расширять возможности, так и «срезать» неудобные углы в использовании.
В конце мы предложим решения наиболее острых проблем в использовании вики-систем.
Решили выложить видео (вместе с презентациями и статьями) некоторых внутренних семинаров. Видео мы выкладываем в виде нормальных AVI-файлов максимально возможного разрешения, ибо никакое «веб»-качество и «флеш»-видео не дают достаточного качества, а вопросы объема/веса видео, для большинства наших читателей, имеющих безлимитный интернет, больше роли не играют.Если вы из регионов со слабым каналом, но есть большое желание посмотреть видео — напишитенам, мы вам бесплатно вышлем диск почтой.
Андрей Бибичев, «Аналитик в Agile: Архаизм или необходимость?»
Аннотация: Среди вопросов о применимости и использовании Agile-методологий можно выделить три наиболее популярных: совместимость с проектами фиксированной стоимости; какова роль менеджеров; как быть с аналитиками. Что касается первых двух, то им уже посвящен целый ряд докладов и статей от гуру Agile-движения. А вот последний вопрос освещен не так здорово, что и пытается поправить данный доклад.
В первой части обсуждаются причины, по которым возникает мнение, что в Agile аналитикам не место. Основная из них – неверная (гипертрофированная) интерпретация некоторых тезисов и «слоганов» из описаний Agile-методологий, таких как кроссфункциональность членов команды, отрицание необходимости в подробных спецификациях, стремление к избавлению от создания ненужной документации и т.д.
Вторая часть посвящена описанию задач, которые возникают на разных этапах Agile-процесса разработки и при решении которых роль аналитика почти незаменима: формирование модели предметной области; формулировка задач на итерацию; взаимодействие с представителями бизнеса (экспертиза в предметной области, прояснение деталей постановки); контроль качества; пилотное внедрение и начальное сопровождение программного обеспечения.
В третьей части подробно рассматриваются и анализируются возможные варианты взаимодействия аналитика(ов) и команды разработчиков: аналитик внутри команды; Product Owner, исполняющий функции аналитика; аналитик – помощник Product Owner-а; обособленный отдел аналитиков. Обсуждаются плюсы и минусы каждой из схем, условия применимости.
Заключительная часть коротко затрагивает такие смежные вопросы как: что такое Agile-постановки; где, как и зачем вести внутреннюю проектную документацию; почему модели предметной области снова в моде; как выращивать аналитиков.
Весь материал основан на практическом опыте внедрения и использования Agile-методологии Scrum в российской компании-разработчике программного обеспечения enterprise-уровня, а также соотнесен с авторитетными мнениями и высказываниями.
видео (1.5Gb).Это «черновая» репетиция доклада на внутреннем семинаре, сам доклад был успешно прочитан на конференции SECR-2008, но время доклада было неудобное (ранее утро), а видеозаписей на конференции не велось. Так что, думаю видео может быть вполне интересно тем, кто по тем или иным поводам интересуется темой, но пропустил доклад на SECRе.
Видео (с сайта хостинга можно скачать и AVI-файл в лучшем качестве):
В день конституции наша команда десантировалась на конференции AgileDays-2008 — от нас было два докладчика, десяток участников и спонсорское участие.
Пара слов об аудитории в обоих смыслах:
Все действие происходило в переоборудованном буфете компании Luxoft, который широко известен в узких кругах — там регулярно проходят собрания различных IT-сообществ: тестировщиков, аналитиков, разработчиков.
По ряду косвенных признаков можно утверждать, что аудитория состояла скорее из тестировщиков, чем разработчиков, и занималась скорее entreprise-разработкой, чем массовыми web-проектами.Мы попробовали снять видео, это было достаточно сложно, ибо аудитория была забита под завязку (по крайней мере первые несколько часов) и удалось приткнуться с видеокамерой только в дальнем углу — это дало возможность снимать аудиторию (дискуссии, вопросы), но существенно ухудшило шумами качество аудиозаписи. Еще одна проблема — низкоскоростной DLP-проектор дал раздражающие мерцания при съемке экрана. Новости:Наши парни разработали специальный видеофильтр, который победил мерцание этого проектора! Звук тоже исправлен! Все более чем смотрительно!
Да, видео мы выкладываем в двух вариантах: флеш-видео в высоком разрешении (размещенном на профессиональном хостинге) и нормальных AVI-файлов максимально возможного разрешения (чтобы рассмотреть нетривиальный текст или живую демонстрацию программы), которых можно скачать перейдя (клик в правом нижнем углу) на страничку видео на хостинге, и проследовав по ссылке опять в правом нижнем углу. Мы проверяли — скачивания 700 мегабайтного файла с этого хостинга в московских домашних сетях идет со скоростью не меньше 1МБ/c и проходит меньше чем за 10 минут. Если что-то с видео «не слава богу» — не скачивается там, или обрезано — пожалуйста, сообщите почтой или комментарием. Объявление: если мы вручили вам на конференции флешки (с логотипом CustIS), пожалуйста, прочтитеэто объявление. Итак, вернемся к конференции. От нас было два доклада.Введение в непрерывную интеграциюДокладчик: Андрей Сатарин.Презентация, презентация-handout, статья.Есть аудиозапись.
Мы несколько опоздали к началу, поэтому рекомендуем скачать полное видео с сайта agiledays.ru.
Доклад про Continuous Integration, возможно уже несколько набил оскомину у продвинутых тестировщиков и разработчиков, — ведь мы по более-менее схожей теме уже проводили открытый семинар, доклад на конференции SECR-2008, не говоря уже о паре внутренних лекций. С другой стороны, в отличие от некоторых авторов (включая западных гуру), выступающих с одной темой годами, достигая в ней неизмеримых высот и глубин, мы считаем, что лучше «отбомбиться» по теме сразу и до конца, пока она актуальна, чтобы избежать обидных обвинений ([:|||||||:] ). И действительно, семинар показал, что в целом, концепция непрерывной интеграции у аудитории удивления не вызывает, споров полезна она или вредна, уже не ведется (примерно как ранее стало бессмысленно спорить о необходимости систем контроля версий), многие попробовали несколько различных продуктов, а многие даже гордятся возникающими сложностями — «наш проект настолько длинныйвелик, что даже самая непрерывная интеграция прерывается и превращается в ночные сборки» и «наша команда настолько распределенная, что наши сборки не поспевают за Солнцем…». Такие настроения было несложно предугадать, и продемонстрировать «карту в рукаве/рояль в кустах» — «слайды с ответами на ожидаемые вопросы». В целом мысль такова: долгое время сборки это либо проблема неправильных инструментов (не используются правильные менеджеры сборки, типа SCons, Ant, make, …), либо проблема архитектуры (наличие крупных ядер, где «все зависит от всего»). Конечно, такие случаи есть, и странно, что аудитория на них не указала (тогда бы мы показали еще слайдов). Например, классическая реляционная база данных, как известно, очень плохо стыкуется почти со всеми agile-практиками, и в случае continuous integration «кошерное» пересоздание тестировочной базы с нуля в большинстве случаев выглядит неподъемной задачей. Но и в этом случае можно «бороться за живучесть» концепции, применяя разные лайфхаки. Например, классический паттерн ускорения непрерывной интеграции — наращивание памяти на сборочном сервере, и использование tmpfs для файлов и специальных in-memory SQL СУБД для тестирования SQL СУБД функциональности. Но несмотря на все эти гитики, действительно, тема непрерывной интеграции не такая уж и обширная, в целом тянет на полдесятка статей, так например, книга «Continuous Integration» Пола Дюваля и К° (есть русский перевод — «Непрерывная интеграция»), явно имеет «надутый водой» объем.Безудержный Рефакторинг: как не убить себя об стену.Докладчик: Андрей БибичевПрезентация: http://agilerussia.ru/files/agiledays/Bibitchev.Refactoring.pdf
Поднята достаточно оригинальная тема. После десятков регулярных докладов agile-евангелистов о безусловной пользе рефакторинга, появления удобных инструментов, сделавших рефакторинг автоматизированным и доступным для применения в режиме «не приходя в сознание», наконец появился кто-то, чтобы остановить разогнанный маятник, одуматься, рассмотреть случаи, когда применение рефакторинга, как ковровых бомбадировок, вредно, и прояснить причины, почему собственно. Причем «разбор полетов» проходил не на абстрактных примерах (коде типа Foo/Bar), а на настоящих живых примерах на C# и Java из репозитория нашей компании и компании Microsoft.
Доклад концептуальный, не ограничивается рамками достаточно «канцелярского» названия, мыслей много. Основная драматургия: противостояние людей (опытных творцов, весельчаков и разумных лентяев) и механизмов (инструментов, жестких социальных организаций, регламентов и методологий). Мысль — жесткие/водопадные методологии разработки — это если ваши бойцы тупая пехота. Тогда да, муштра и вперед на минные поля — ненадежность отдельного солдата спасет дублирование и избыточность, и заплаченная цена будет оправдана.Но если у вас мощные, кросс-функциональные парни-коммандос, то нужно организовать им комфортную команду и обеспечить полную поддержку. Холить, лелеять, обеспечивать имFun иProfit. А то, что agile проекты иногда проваливаются, виновата не избалованность людей, а отсутствие способностей —в agile проекты нужно нанимать лучших, а дальше пускай они уже выкручиваются сами, главное их не обижать.В качестве метафор «подходов прошлого тысячелетия» автор использовал концепцию стимпанка, иллюстрируя ее картинкой из steampank-style календаря «The other side of the coin» (остальные картинки, если заинтересовали, можно найти тут [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] ).Со своей стороны, мы заметим, что это несколько натянутая, и нехарактерная визуализация стимпанка. Стимпанк — это не депрессивные ржавые железяки, чешущие зад лоснящегося мускулистого рабочего (ммм…?), а скорее идея максимальной эволюции старинных технологий, в предположении, что им так и не было найдено замены. А вершина эволюции — это всегда красиво (дредноуты времени Iмв, последние паровозы, американские автомобили эпохи дешевой нефти). Так что если хотите взглянуть, что есть стимпанк, лучше смотреть соответствующиеаниме-мультфильмы. Вообще видов тестирования очень много (Unit testing,Integration testing,System testing,Performance testing,Reliability testing,Security testing,Usability testing,Portability testing,Acceptance testing) и хорошо автоматизируется только первый (Unit testing), а автоматизация всего остального — это увы, всего лишь пропаганда вендоров, которые втюхивают дорогущие инструменты автоматизации. Так что в тестировании все остальное надо делать вручную «на коленке» и здесь на первый план выходит квалификация тестировщиков (люди — самый ценный ресурс!).
Следующая мысль — несправедливость Agile-благ для программистов и тестировщиков. Пророки Agile многое дали программистам —Refactoring,Unit-тестирование,Continuous Integration, парное программирование,Scrum со всеми его играми и т.п. Power и Fun, как и заказывали. Тестировщикам же из этого ничего не обломилось, кроме фреймворка FIT, но докладчик с негодованием открестился от этого убогого подарка («недопрограммирование» на вики-разметке, тотальная неполнота и ограниченность). С учетом предыдущей мысли, что для правильного тестирования все равно нужны крутые супертестировщики, возникает идея, что не «тестировщик — друг программиста», а «программист — студент, сдающий экзамен тестировщику». Т.е. нанимать надо самых лучших и задорого («Разве вы не знали, что тестировщики везде получают больше разработчиков?» Profit!), желательно из программистов достигших совершенства, и потерявших интерес к программированию («Саваоф Баалович был всемогущ. Он мог все. И он ничего не мог. Потому что граничным условием уравнения Совершенства оказалось требование, чтобы чудо не причиняло никому вреда.»), программистов надо отдать тестировщикам на съедение (отдать их код на Code Review), ведь единственная корректная метрика кода — это количество WTF-ов в минуту при проведении code-review. Ну не говоря уж о том, что Scrum/Agile для тестировщиков означает одно — больше Fun-а, а Scrum Master должен быть помесью пионер-вожатого и массовика затейника! Местами этот фан выглядит несколько беспредельно. Только компания привыкла, что все вертикальные поверхности, включая шкафы-купе для одежды обклеены Scrum-taskами, возникают тестировщики и исписывают стены в туалетах (концепция «Testing on the Toilet»). Докладчик рассказал, что в Беларуссии была конференция SQA Days 4 на которой был доклад «Funny testing: как добавить драйва в работу» — какой еще Fun можно придумать команде что бы не работать. Ну и в целом, нужно смотреть видео. Хотя бы для того, чтобы узнать о силе волшебной фразы «Ну и что?». Тестирование в Agile проектах Докладчик: Илья Гаврилов Презентация: http://agilerussia.ru/files/agiledays/Gavrilov.TestingInAgile.pdf
Хотя название доклада похоже на название предыдущего доклада, тут совсем о другом, скорее о чисто тестировании, чем об Agile. Вполне можно представить этот доклад с небольшими изменениями для тем «тестирование в RUP-проектах», «modern testcase management» и т.п.
Т.е. упор действительно сделан на управление сценариями (use case), тестами (test-case и unit tests). Указывалась необходимость покрыть все сценарии тест-кейсами не меньше чем на 60%, и 80% кода (больше бессмысленно) — юнит-тестами.
В качестве универсального инструмента для ведения и сценариев тестирования, и расчета различных метрик и графиков докладчик рекомендовал Excel.
Основной вопрос, обсуждавшийся после доклада — это как держать все эти планы тестирования в актуальном состоянии. Предложение докладчика простое и очевидное: планировать их актуализацию также, как и все остальные работы, т.е. при оценке задачи сразу оценить какие изменения нужно делать не только в коде, но и в тестах.Unit testing with XML Докладчик: Дмитрий Всехвальнов Презентация: http://agilerussia.ru/files/agiledays/Vskehvalnov.XmlUnitTesting.pdf
По сути доклад был посвящен исключительно использованию библиотеки XmlUnit для написания unit-тестов, связанных с проверкой корректности сформированного XML-я.
Доклад состоял из двух частей:
перечисления задач, которые возникают при написании тестов на сформированный XML:
проверка эквивалентности структур с учетом и без таких нюансов как: неймспейсы, порядок атрибутов и тегов, пробельные символы, комментарии, управляющие конструкции;
вычисление XPath-выражений;
валидация по XSD/DTD;
XSLT-трансформации;
работа с разными XML и XSLT-процессорами.
живой демонстрации по написанию несложных тестов на Java:
проверка по точному совпадению;
проверка с игнорирование отдельных атрибутов (по их именам);
проверка с игнорированием целых узлов и их содержимого (опять же, по именам тегов);
валидация по XSD;
проверка существования узла по XPath-выражению;
проверка совпадения значения, извлеченного по XPath-выражению.
По сути, библиотека XmlUnit — это набор готовых ASSERT-ов для JUnit-а (Java-версия библиотеки) и NUnit-а (.Net-версия библиотеки). При этом .Net-версия, судя по описанию на сайте, развита значительно слабее своего Java-аналога.Тестирование Web 2.0Докладчик: Владимир КолесниковПрезентация: http://agilerussia.ru/files/agiledays/Kolesnikov.TestingWeb2.0.pdf
Краткий, 20 минутный доклад, как можно и нужно тестировать вебдванольные проекты.
Основной посыл доклада: очень много javascript-а, больше 4-х браузеров (каждый со своими нюансами и глюками), аудитория пользователей огромная — нужна гарантия качества. Далее перечислил что и как можно тестировать:
бизнес-логику — это оставил за рамками доклада, так как это стандартно не только для web-проектов и здесь все используют unit-тесты;
серверную часть — выполнение http-запросов к web-серверу и проверка их результата (ну здесь вроде как всё просто и понятно — во всяком случае так счел докладчик);
клиентский javascript — здесь нужны тесты, которые выполняются внутри браузера, для чего почти в каждой известной javascript-овой библиотеке классов (включая jQuery, Prototype, Dojo) есть свой набор функциональности для удобного написания и выполнения unit-тестов прямо внутри браузера;
автоматическое UI-тестирования при помощи инструментов, эмулирующих действия пользователя — здесь докладчик упомянул набивший многим оскомину Selenium. Далее докладчик в основном рассматривал именно unit-тестирование javascript-а и навороты вокруг этого. Когда его спросили всё же про автоматическое UI-тестирование, то он ответил, что этим занимается другой отдел и лично он не очень в курсе их успехов…
Еще запомнилось, что им сильно помогает логгирование исключений, произошедших на стороне клиента. Делают они это при помощиwindow.onerror, правда работает это только в IE и FireFox-е. Именно благодаря этому приему они узнают об успешности версии (если за несколько часов таких ошибок не поступает, значит версия успешна).
Как мы уже заметили, в аудитории было мало вебразработчиков, в основном тестировщики и разработчики enterprise-приложений, вероятно поэтому, вопросов доклад практически не вызвал.Working Effectively with Legacy Code
Доклад Майкла Физерса был «guest star» всего мероприятия, хотя стоит отметить, что не все смогли выдержать плотную конференцию до самого конца — слушателей было существенно меньше, чем в начале дня.
Но тема доклада всегда актуальна,Legacy Codeэто вечное проклятие невезучих программистов (т.е. тех, которых бросают на поддержку чужого кода), и legacy code вечен — да, старые информационные системы умирают, но проходит пару лет, и даже твой супер-крутой код становитьсяlegacy… . Трудно удержаться и не процитировать соответствующие комиксы Дильберта:
На модельном примере класса «расписание» (Schedule), написанном на Java, Физер показал как сделать его тестопригодным. Основной прием свелся к N-кратному применению Dependency injection. Причем, на наш вкус с некоторым перебором: даже статические helper-методы определения является ли день выходным или рабочим были перенесены в нестатический класс, а в тесте было предложено их «заглушить», написав соответствующего наследника. ИМХО это уже другая крайность: когда тестируется функциональностьровно одного класса, а всё, что он использует, либо заглушено при помощи Stub-ов, либо эмулируется при помощи Mock-ов (см. http://martinfowler.com/articles/mocksArentStubs.html). Это так можно получить результат как в репризе Райкина «претензии к пуговицам есть — нет, пришиты намертво…»
К сожалению, по просьбе Майкла, мы (пока?) воздерживаемся от публикации видео — Майкл хотел бы вырезать некоторые моменты. Возможно мы передадим видео Асхату Уразбаеву, и Асхат уже опубликует одобренную часть.
Мероприятие удалось! Очень удачно выбранный формат, резервирующий 20-25 мин, после каждого доклада на вопросы, делает осмысленным личное присутствие на конференции, а доступ к презентациям и видео — неограниченно расширяет аудиторию. Полезность мероприятия явно не уступает «стандартной» Software конференции, типа SEСR, — и это еще одно доказательство, что Agile-подход рулит и в организации конференций. Это подтверждают и отзывы.
Надеемся, что Асхат сможет продолжить линию таких миниконференций.
Если чуть-чуть уменьшить число участников (до 50), то мы могли бы предложить и свою площадку для участников — зал с креслами, мощным проектором и экраном с 4-метровой диагональю, в центре Москвы, в 5-минутной доступности от 5 станций метро.
Объявление. На конференции AgileDays мы раздали несколько 4Gb флешек с материалами к нашим докладам. Но выяснилось страшное — поставщик нас подвел, и вместо 4Gb флешек нам продали «перепрошитые» 2Gb флешки (т.е. 2Gb-флешки, изображающие, что они 4Gb). Т.е. резюме — вероятно большинство материалов будут вам, увы, недоступны. Во-вторых, не храните на ней свои файлы! Она бодро дает записать 4Gb, но считать их не удасться!
Что делать? Есть два варианта. Простой — выкинуть и забыть. Чуть более сложный — выкачать фирменную утилиту, запустить ее, воткнуть флешку и нажать кнопку «Start All», ну а по окончании — отформатировать ее. Флешка будет корректно откалибрована на 2GB, и еще долго послужит вам.
Семинары В нашей компании регулярно проводятся технологические семинары, способствующие поиску, усвоению и трансляции новых технологических и гуманитарных знаний. Одним ударом мы убиваем множество зайцев — стимулируем и выделяем время на исследование и апробацию новых технологий, транслируем знания внутри компании, обсуждаем актуальные задачи и тренды, и наконец — тренируем «презентационные качества» каждого сотрудника, включающие:
умение сделать грамотную презентацию (а не типичную «смерть от Powerpoint», вгоняющую в скуку и сон);
овладение риторикой и вниманием зала;
готовность к публичным дискуссиям и аргументированной защите собственного мнения. Выступающие получают самый разнообразный профит. Во-первых, ведь классно поделиться интересным, будь то технология, фреймворк, язык программирования, и даже хобби — и заслужить уважение коллег. Во-вторых, есть и небесполезные денежные бонусы — за участие, за лучший семинар (с демократическим свободным выбором раз в квартал).
Как правило, семинары внутренние — т.е. создана комфортная среда для выступающих, присутствуют только сотрудники и представители заказчиков, но иногда устраиваем и открытые семинары-презентации, приглашая всех желающих.
Выступить может любой сотрудник (один и или в соавторстве), тема может быть почти совершенно любая. Главное — выступающий должен ей более-менее овладеть (например, тема специфичная для его направления), и тема должна представлять интерес для сотрудников. Впрочем, дальше мы покажем «цветущую сложность» и многообразие тем. В распоряжении сотрудника будет достойная инфраструктура — просторный зал, проектор-экран-компьютер-сеть, маркерные доски, и самое главное — заинтересованная и благожелательная аудитория. Для тех, кто не смог посетить семинар вживую — в компании записываются и публикуются видео и аудио-запись, слайды, вспомогательные материалы.
В целом, практика показала жизненность такой схемы — и у нас появилось много сотрудников, активно выступающих на тематических конференциях и выставках, и публикующихся в IT-прессе.
Чтобы показать разнообразие тем, мы приведем краткие обзоры некоторых прошедших семинаров, в разбивке по годам.
2006Конкурентная работа в Oracle
Ключевые уникальные возможности СУБД Oracle, целостные чтения и RollBack Segments (RBS). Транзакции и Savepoint-ы. Особенности consistent get-ов и уровни изоляции. Блокировки и транзакции, взаимные блокировки (DEADLOCK), явные и пользовательские блокировки.
Технологии проектирования информационных систем
Процесс проектирования ИС — с чего начать, на что обратить внимание, о чем не забыть. Цели, критерии и метрики успеха. Бизнес-объекты и модель предметной области. Переход к архитектуре ПО. Орструктура и документооборот, учет существующих практик и алгоритмов, внутренние регламенты и законодательные акты. Информационная модель — источники, документы, преобразования, получатели. Оперативная и нормативно-справочная информация. Модели предметной области — модель сущностей-связей и иерархия типов, схемы состояний документов. Виды учета: «ресурсный-купеческий» и «требования-обязательства». Способы борьбы со сложностью. Интерфейсы — эргономика и дизайн.
ЗИС: «вчера, сегодня, завтра»
История компании: первые проекты, первые сотрудники, хронология интересных и знаковых событий. Мифы и легенды. Позиционирование компании. Эволюция управления, основы корпоративной культуры и кадровой политики, системы оценки и мотивации, экономическая модель компании. Клиенты и качество их обслуживания.
Принципы оценки проектов и организация работ
Оценки проектов — необходимость, отличия от оценки продукта, основные проблемы плохого качества. Предварительная оценка — цель, особенности, принципы проведения. Дизайн концептуальныйvs.реальный.Методы оценки трудозатрат.Оценки при планировании работ — от «от потолка» до математических методов. Модели декомпозии программного продукта.Оценка в ходе выполнения проекта — cбор информации, выполнение в срок, ретроспективный анализ. Многомерный анализ данных
OLAP и Информационные Хранилища: основные концепции. Недостатки реляционной модели. Многомерная модель: показатели, измерения, агрегации, разрезы… Основные OLAP-операции. OLAP vs. OLTP. Архитектура многоуровнего Хранилища. Многомерная модель (схемы «Звезда»/«Снежинка»). OLAP-архитектуры: ROLAP, MOLAP, HOLAP. Cерверные и клиентские инструменты: основные игроки и модные термины, что делать и как выбирать. Стандарты и языки: MDX, XMLA. Бесплатный OLAP на коленке: локальные гиперкубы.Концепция регулярного маркетинга
Различия между маркетингом и продажами. Этапы внедрения. Привлечения новых клиентов и удержание существующих. Процедура планирования и бюджетирования. Результаты исследований и база знаний. Классификация маркетинговых событий и методы оценки маркетинговой деятельности.
Оптимизация запросов в СУБД Oracle
Как выполняются запросы: запросы по одной таблице и методы выполнения join-ов. «Планы решений» Oracle и cost-based оптимизация. Работа над запросом — выявление проблем, планы выполнения, оптимизация. Алгоритмические улучшения.
CruiseControlиCruiseControl.NET—cервера непрерывной интеграции для Java и .NET. Управление тест кейсами (test case managment). Устройство сетей
Модели TCP/IP и OSI. Нижний уровень: физическая топология, Ethernet,HUB,SWITCH,BRIDGE. Internet Layer: IP-адресация v.4, маршрутизация, ARP. Общеупотребимые «сетевые» команды ОС. Сеть с несколькими маршрутизаторами, компьютер с несколькими сетевыми платами. Transport Layer: TCP и UDP, зарезервированные стандартные порты. Application Layer: HTTP, SMTP, POP3, FTP, LDAP. DNS —Domain Name Service. NAT —Network Address Translation. Организация DMZ (ДеМилитаризованной Зоны), VPN, SSH-туннель, IP/SEC.
Знакомство с SharePoint 2007
Что это и зачем:решаемые проблемы и области применимости. Основные концепции и объекты: cайты, страницы, вебчасти, списки, документы, рабочие области, календари, форумы, задачи, опросы, … Оповещения через почту и RSS. Поиск. Представления. Групповая работа над документами и интеграция с MS Office. Персонализация. Sharepoint Designer. Создание приложений.
Учетные модели
Документооборотная модель в целом: «Документы-Операции-Проводки-Отчеты». Концептуальные варианты учета: ресурсная модель, активно-пассивный (бухгалтерский) учет с двойной записью, планово-бюджетная модель: план и его выполнение, система показателей. Учетные регистры: синтетические и аналитические счета, остатки (сальдо) и обороты. Схема реализации, принципы расчета проводок и создания отчетов. Проектирование плана счетов.
Внутренняя архитектура и развертывание SharePoint Server 2007
Информационная архитектура: SSP, фермы, структура сайта, эталонная модель корпоративного интранета. Программная архитектура. Развертывание SharePoint Server 2007.
Средний уровень для описания и генерации RML-документов Внутренние технологии компании: некоторые вопросы использования фреймворка генерации отчетов специфицированных на RML (Report Markup Language).
Право интеллектуальной собственности и вопросы правоприменительной практики
Интеллектуальная собственность как объект гражданского права. Авторское право: его понятие и содержание, объекты и субъекты, договоры о передаче. Права на программы для ЭВМ и базы данных. Права на средства индивидуализации. Исключительные права на секрет производства (ноу-хау). Ответственность за нарушение прав интеллектуальной собственности.
Применимость Agile-методологий
Водопадная модель (waterfall model): общие концепции и стандартная критика. Agile-методологии: история, Agile-манифест, базовые принципы. Семейство методологий:eXtreme Programming (XP),SCRUM,Feature Driven Development (FDD). Применимость Agile-методологий в ЗИС: что есть, чего не хватает, что не подходит. Обзор:Rational Unified Process (RUP и AUP),Microsoft Solutions Framework (MSF), ISO 9000/9001, CMM(I).
Приемы схематизации при описании бизнес-процессов
Разные виды схем: методологии описания бизнес-процессов, модели, блок-схемы, схемы размещения предметов… Схема Захмана (архитектурная схема предприятия). Схемы деятельности в нотации Йордана-ДеМарко, Гэйна-Сарсона. Модель сущностей и связей. IDEF: Методология процесса моделирования (IDEF0-IDEF14). UML. Схематизация и моделирование. Схематизация как инструмент (деятельностный подход). Схемы в СМД-методологии. Схематизация в коммуникации, мышлении, действии. TestLink — система управления тестами
Теоретическое введение (QA, QC, определение и виды тестирования). Обзор текущей ситуации (тест Гринкевича). Обзор инструмента TestLink.
Интеграция Open Source-систем для управления разработкой ПО
Предпросмотр доклада для конференции SECR-2007. Интеграция бесплатных систем с открытыми исходными кодами для полноценного управления процессом разработки программного обеспечения. Bugzilla, Mediawiki, CVS, Subversion, Bonsai.
Безопасное хранение в СУБД Oracle
Базовая безопасность вOracle: пароли; права; синонимы; роли. Использование пакетов шифрования данных. Разграничение доступа: на уровне представлений;Oracle Database Vault;Oracle Label Security. Авторизация и аутентификация: с учетными записями базы данных; прокси-аутентификация;Enterprise User Security.Oracle Advanced Security. Обзор:Oracle Internet Directory;Oracle Virtual Directory;Oracle Enterprise Single-Sign On (eSSO);Oracle Identity Manager;Oracle Audit Vault;Oracle Secure Backup;Web Services Manager;Oracle Information Rights Management;Oracle Adaptive Access Manager. Платформа: CustIS Universal .Net
Внутренняя разработка компании — фреймворк CustIS Universal .Net: основные принципы, сравнение с ближайшими аналогами (NHibernate), концепция посткомпиляции, метаданные и код. Экземпляры и состояния сущности, объектные запросы.
2008Приемы эффективной работы в PSPad, PL/SQL Developer, ...
Обучение полезным инструментам (как бесплатный, так и купленный компанией софт). PSPad и его внутренние доработки (мультикомпиляция, syntax highlighting, …). Сборка SGML документации (Jade, интеграция с PSPad, проверка синтаксиса, сборка RTF, сборка CHM). PL/SQL Developer: настройки, управление сессиями и блокировками, работа с SQL, PL/SQL, работа с несколькими коннектами, типичные проблемы. Работа с XML в SharpDevelop-е и не только. Бесплатные UML-редакторы (Violet, ArgoUML, …)
Новая система описания, сборки и проноса патчей
Внутренний фреймворк компании. Идеология управления версиями (версионность системы, нумерация версий, инсталяция, обновление, горячее исправление, порции исправлений, их тестирование,…). Утилита для описания и сборки патчей: инструментарий для редактирования, утилита сборки (PatchBuilder), утилита ручного проноса, как это фиксируется в БД, ошибочные ситуации, принципы восстановления… . Модуль для централизованного проноса и мониторинга версий. Типы личностиПо книгам Отто Крегера «16 типов личности...» и сопутствующим материалам. Многие проблемы общения обусловлены тем, что люди плохо представляют себе разнообразие взглядов и типовых схем поведения других людей, степень возможного отличия. Если это представлять, то многие конфликты и проблемы, если не снимаются, то сильно упрощаются, поскольку поведение других людей становится для тебяболее объяснимо.
Методология: Типизация людей — средство отделить личные особенности от поведения, свойственного определенным типам (средство, с помощью которого решаются реальные проблемы, а не цель). Подход классификации — предпочтения в разрезе этапов деятельности. Пары предпочтений. Характерные признаки, статистика. Общение —Экстраверты(E) иИнтроверты(I). Сбор информации:Сенсорики(S) иИнтуиты(N). Принятие решений:Мыслящие(T) иЧувствующие(F). Претворение в жизнь:Решающие(J) иВоспринимающие (P). Четыре типологических темперамента. Соционика как альтернатива. Примеры типологических шаблонов (как разные типы ставят и понимают цели, руководство, относятся к командной работе). Эволюция типа личности человека со временем. Истинная мотивация
Борьба с демотивацией. Что такое хорошо и что такое плохо. Компенсация.
QCon 2008Наша компания командировала эксперта на одну из ведущих международных конференций разработчиков — QСon-2008, проходящей в Лондоне. Сразу после возвращения («по горячим следам»), наш сотрудник устроил обзор основных трендов этой конференции.
Обзор конференции (участники, вендоры, темы). Обзор треков и тем: управление разработкой, архитектура, технологии. Развитие и пропаганда agile-методов. Архитектура: принципы и шаблоны масштабируемости систем, продукты и технологии для масштабируемых систем, ресурсно-ориентированные веб-сервисы (REST-архитектура),Cloud computing.
Зачем разработчику знать основы бухучета? Бухгалтерский, налоговый, управленческий учет. Классические счета БУ: синтетические, аналитические. Группировка синтетических счетов: по балансу, по разделам. Примеры отражения хозяйственных операций. Основная регламентированная отчетность (баланс, отчет о прибылях и убытках).
Обзор конференций по IT в торговле
Посетившие несколько российских и зарубежных выставок и конференций сотрудники поделились впечатлениями.
Обзор мероприятийEuroshop 2008 Dusseldorf,Buissines Solutions: Retail Кёльн/Дюссельдорф,AHConference Москва, Мариотт Тверская.Обзор выступлений: новые технологии, оборудование (Self Checkout, Self Return, Счетчики перемещений), идентификация (Databar, RFID и многое другое), мобильные технологии:Visa Paywave,Visa Mobile Platform,Accinity. ИТ проекты: «Детский Мир»; «Копейка»; «Монетка»; «O'keй»; «Купец», «Стройбери»; «Кей»; «ТопКнига»; «Лента»; «Адамас»; «Л'Этуаль». Принципы управления ИТ в Рознице —принципы управления ИТ в региона, проблемы с западными принципами управления в России, инструментарий описания бизнес-процессов, опыт CIO из Европы и Штатов. MDM+EDI :Teradata; «Метро групп»;SOLQUEST;GS1. Проекты внедрения SAP: «Лента»; «Мир»; «Эльдорадо». BI-проекты и решения: внедрение («М-видео», «Адамас», «Азбука Вкуса», «Монетка»), cистема прогноза продажForseason, Sybase IQ, Advizor Visual Discovery, платформа для выявления out-of-stocks ECR, SAP Pos DM, GMCS.
Почтовая система компании или как подружить Outlook c Exchange
Обзор почтовой системы компании. Обзор и настройка почтового клиента Outlook. Связка Outlook и Exchange, переезд на серверную почту. Outlook Web Access. Переезд с других клиентов.
UML 2.0
Коротко про UML: что такое UML, способы использования UML (эскизирование / проектирование / программирование, бизнес-анализ / системная архитектура), обзор видов диаграмм, что такое допустимый UML. Диаграмма классов. Диаграмма состояний. Диаграмма пакетов. Диаграмма деятельности. Use case (прецеденты). Диаграмма прецедентов. Диаграмма последовательностей. Графическая нотация «от CustIS». Инструменты (доступные нам): Visio + шаблоны к нему / Violet / ArgoUML / StarUML / …
Практики управления проектами
Обще-философская часть: что должен делать руководитель, типы проектов по типам ожиданий, ключевые особенности наших проектов, «продукт vs. услуга», орг. структура производственных подразделений и альтернативы ей. Практическая часть: cтарт проекта, устав / ключевые игроки / оценка проекта, текущая деятельность, планирование работ / постановка и формирование ТЗ / разработка / QA / сопровождение / документирование и т.д., закрытие проекта. Переговоры и клиентские отношения: переговоры, управленческие приемы, управление ожиданиями, риски. Варианты развития.
Scrum: перезагрузка
Дополнения к предыдущему семинару: документирование, комментирование кода, автоматические тестирование и сборка, code review, обязанности руководителя проекта. Nokia-тест: блог Джефа Сазерленда, варианты теста, про agile-спецификации, выводы. Scrum checklist от Книберга: блог Книберга, общий обзор checklist-а (в виде mind-map), Definition-of-Done (DoD), выводы для нас. Полезности из презентаций Книберга: наиболее частые проблемы (или узнайте себя!), роль менеджера в Agile (или измените менеджмент!). Наш roadmap. Подборка полезных ресурсов.
Практика работы с мастер-данными
Что такое мастер-данные и НСИ. Проблема двойственности терминологии: мастер-данные и НСИ . Выделение мастер-данных из общего объема данных: цена вопроса. Обзор существующих практик ведения МД/НСИ. Этапы создания управляемого ведения МД/НСИ. Проектирование системы ведения МД/НСИ: с чего начать MDM, необходимые условия успеха, четырехпараметрическая модель информационного обмена, модели ведения МДМ, сравнительный анализ по функциональности . «Звезда» в торговой сети.
Что выбрать: краткий обзор готовых решений для MDM.
Основные идеи и реализация Главной книгиВнутренние технологии компании — механизмы (фреймворки, библиотеки) организации универсальной учетной машины.Организация бизнес-процессов и учета по сделке . Принципиальная схема и характеристики учетной машины . История развития — эволюция учетных машин:Custis Transactions,Custis Accounting,Custis Universal,Custis GL/XML,CisUni.Net. Принципиальная схема. Структура модели «Главной книги». Объектное ядро и отображение в структуру хранения (ORM). Документооборот (состояния, методы).
Система прав доступа. Учетные счета, синтетические счета, субсчета, аналитические счета, аналитики (субконто). Хранимые показатели (агрегация). Синхронизация объектной и учетной моделей. Генерация операций при изменении документа. Сбор отчетности. Прозрачность модели (drill down,traceability).
Распределенное ведение и использование справочников и классификаторов. Производительность. Гибкость. Масштабируемость.
Функциональное программирование
Что такое функциональное программирование? Блажь математиков и эстетов от программирования или что-то полезное? История, достижения, найденные сферы применимости. Какие проблемы решаются, а какие — создаются. Примеры: HASKELL, OCAML, F#, LINQ.
В теории применение технических практик Agile кажется очень привлекательным. Test Driven Development, Continuous Integration, Refactoringи прочие позволяют разработчиком повышать качество кода и эффективность разработки. Однако на практике возникает множество вопросов. Как делать рефакторинг в реальном проекте при отсутствии юнит тестов? Окупиться ли применение Continuous Integration? Как использовать TDD для наших технологий и архитектуре? И, наконец, как писать тесты при наличии большого объема унаследованного кода? На первой в России конференции по техническим практикам разработки мы постараемся ответить на эти вопросы. Конференция пройдет 12 декабря 2008 года в Москве с 10-00 до 19-00.
На этой конференции выступят и наши ведущие специалисты:
Андрей Бибичев — «Безудержный Refactoring: как не убиться об стену» На тему рефакторинга кода написано немало книг. Правильный рефакторинг кода поможет любой команде эффективно и безопасно модифицировать свою систему. Но не всегда рефакторинг применяется и понимается правильно. В этом докладе мы расмотрим, как делать рефакторинг с пользой для системы и при этом не «Убить себя об стену» в борьбе за качество кода.
Изюминкой доклада являются примеры – все они не модельные, а из реальных систем, находящихся в production-эксплуатации. Причем примеры будут как удачных, так и неудачных преобразований. Это тот опыт, который получен в ходе боевых действий (а не учений) и которым хочется поделиться.
Андрей Сатарин —«Введение в непрерывную интеграцию»Использование непрерывной интеграции в процессе разработки программного обеспечения обещает много преимуществ: быстрое обнаружение ошибок, устранение проблем интеграции, меньшее число дефектов. При более подробном рассмотрении оказывается, что эта практика сильно зависит от других, таких как модульное тестирование, стандарт кодирования и т.д. Множество ожидаемых преимуществ не реализуются без использования этих дополнительных практик. Складывается парадоксальная ситуация когда не ясно, имеет ли непрерывная интеграция независимую ценность или вся ценность обусловлена только «сторонними» методиками. Нет ли здесь обмана, когда под предлогом внедрения непрерывной интеграции пытаются использовать преимущества других инженерных практик?Спешите зарегистрироваться, конференция бесплатна, но помещение небольшое и количество мест ограничено!
[ Хронологический вид ]Комментарии
Уважаемые разработчики! Местами проскакивает информация, что сборку CUSTISWIKI с вашими суперплагинами где-то можно скачать, попробовать. Это так? Если да, то дайте пожалуйста ссылку. Зараннее спасибо.
Вам надо сюда http://wiki.4intra.net/Mediawiki4Intranet, а может прямо сразу сюда http://wiki.4intra.net/Wampp-mediawiki4intranet
Благодарю!!!
Про префиксный поиск в PostgreSQL неправда, он там есть.
Хм, действительно. Что-то фигово доку просмотрел. Спасибо, исправил, заодно добавил про их "веса"...
Стас, будет ли видео? Когда и где?
Валера, привет. Ну как-то так: Блог:События/2011-09-20_Whale_Rider_2011, т.е. Мишин доклад уже был и его можно посмотреть (и прокомментировать ^_^), у Виталия можно полистать статью-презентацию (правда тема там более-менее наша обычная), а у меня только краткие заметки о конференции. Видеозапись велась, но кто были эти люди, и когда опубликуют — увы, неизвестно. Надо следить за Олегом Буниным.
Спасибо!
Стас, у меня уже полгода вот такой монитор Dell ST2220T. Мультитач (2 точки), гнется хоть до горизонтального положения, устойчив, достаточно тяжел. Правда, скрость реакции тачскрина не очень - это может сказаться на возможности рисовать.
Спасибо! «E-IPS» — типа углы обзора должны быть хороши? (полезно для докладчика).
А попробуйте порисовать на вашем! (Поставьте Inkscape или хотя бы ZoomIT, например). Интересно, будет ли получаться.
Но меня все-таки идея моноблока греет (портабильность, проводов почти нет...). Может у кого-то дома есть тачсмарт? Или кто-то знает шоурум, где его можно попробовать?
Стас, ко мне можно на ты, всё ж таки 6 лет вместе работали :) Углы обзора замечательные. Попробовал порисовать в Paint.NET - и точности не хватает, и "сигнал пропадает" время от времени. Этот тачскрин рассчитан только на тычки и драги :(
Понял, вычеркиваю. Углы это хорошо, но рисование должно быть настоящим.
Как я это могу понять? Ты бы хоть страничку свою заполнил....
Эх вы шуток не понимаете :-))
Дима, мы понимаем шутки! Это вообще лучшая реклама! Тебе стоит сделать визитку с этими Ж!
Добрый день. Я был на нескольких семинарах у вас ранее, и с удовольствием бы сходил на этот семинар, но увидел в rss-ленте только сейчас, да и пост насколько я вижу размещён 30го числа. Подскажите, может быть есть возможность узнавать о ваших семинарах хотя бы за неделю?
Войдите, чтобы комментировать.