Общие
Конференция «Учимся на чужих ошибках» в рамках IT Brunch 9 июня
15 Май
Мы долго не могли определиться с темой следующей конференции IT Brunch, но потом остановили свой выбор на теме ошибок и извлекаемого из них опыта. Ведь больше всего в IT мы делаем именно ошибок, к нашему большому сожалению. Причем, ошибок на всех этапах разработки программных продуктов – планировании, проектировании, выборе технологий, работе с заказчиком, тестировании и т.д. Наша индустрия славится количеством проваленных проектов, но при этом мы все равно не учимся на чужих ошибках и допускаем их снова в очередном проекте.
Мы назвали конференцию «Учимся на чужих ошибках», чтобы подчеркнуть, что гораздо лучше слушать про ошибки других людей, учиться на них и не допускать их в своей практике. Как обычно, мы приглашаем выступить профессионалов и практиков своего дела и поделиться своими печальными историями, выводами и мерами по их предотвращению в будущем. Темы выступлений принимаются любые, но обязательно основанные на реальном практическом опыте докладчика – ведь конференция имеет практическую направленность. В программе уже 5 докладов и она почти сформирована.
Конференция пройдет в первой половине дня 9 июня. Начало в 10:00 по Киевскому времени (UTC+3, EEST). Формат простой и непринужденный. Каждый докладчик будет иметь 20 минут на свой доклад и еще 10 минут чтобы ответить на вопросы участников. Участники смогут задавать вопросы по ходу всего доклада в Twitter (хештег #itbrunch) или в онлайн системе, которая была выбрана для проведения конференции. Организаторы будут озвучивать все вопросы в конце доклада.
Напоминаем, что конференция совершенно БЕСПЛАТНАЯ. Да, мы знаем, что вы не цените бесплатных мероприятий. Да, вы регистрируетесь, а потом попросту забиваете на то, что не стоили вам ровным счетом ничего. Но при этом, прошлые конференции собрали несколько сотен действительно заинтересованных участников из 10 стран и большого количества городов, разбросанных по карте мира. Разве это не здорово? Ведь доклады могут послушать совершенно разные люди, а у докладчиков есть возможность поделиться своими мыслями с такой широкой аудиторией. А еще тысячи людей смогут послушать доклады в записи. Поэтому мы будем продолжать развивать это направление!
Приглашаем вас присоединиться к нам 9 июня. Регистрация уже открыта. Будет интересно!
Мои впечатления от конференции ADD-3
13 Май
Конец этой недели, 11 и 12 мая, я провел в Москве на конференции Application Developer Days 3 (ADD-3). Поэтому решил написать отчет сразу по горячим следам. Я побывал на этой конференции впервые, хотя порывался съездить и в прошлом году. В этот раз я был с докладом на тему облачной разработки, но об этом позже.
Лететь из Киева мне пришлось в одиночку, потому что никто из знакомых туда не собирался. Это немного расстроило. Возможно, причиной стала высокая стоимость участия и отсутствие дефицита в мероприятиях в самой Украине, к чему мы сами сильно прикладываем руки.
Так или иначе, проснувшись в 4:40 утра, я отправился в дальний путь. Благодаря разнице во времени, даже не смотря на ранний рейс, на открытие и первый доклад я не успел. По дороге позавидовал москвичам за наличие аэроэкспресса из аэропорта, потолкался как пингвин в метро, очередной раз порадовался тому, что живу в Киеве.
На конференции сразу же бросилось в глаза небольшое количество участников. Везде были свободные места и создавалось ощущение, что просто многие не добрались вовремя. Благодаря этому конференция получилась какая-то домашняя. Не было толкучек, очередей, попыток пробиться в переполненный зал и прочих атрибутов больших конференций.
Стоит отметить очень высокий уровень места проведения – Международный Информационно-Выставочный Центр «ИнфоПространство». Все было отлично – качественные микрофоны, звук, мониторы для показа презентации, трибуны для докладчиков, удобные стулья. Отдельно порадовали вкусный обед и кофе паузы. Было вдоволь всего, а сервис не вызывал нареканий.
Я еще отметил для себя удивительную вещь. Атмосфера и участники очень сильно отличались от украинских мероприятий. У нас обычно народ жалуется на трудную жизнь в аутсорс-проекте, невозможность внедрения новых технологий, редко когда люди хвастают своими навыками сразу в нескольких языках программирования. На ADD-3 я тут и там встречал людей, которые знают Python, C++ (обязательно), Java и периодически играются с Erlang. На конференции практически не освещались подходы к разработке, все доклады были техническими, некоторые на чересчур узкие темы. Маловато было выступлений на тему архитектурных решений в распределенных и высоконагруженных системах, слабовато были представлены современные NoSQL решения и разработка клиентских приложений. Это еще одно отличие от Украины – у нас эти темы очень популярны.
Теперь о докладах, на которых мне удалось побывать. Начал я с доклада Дмитрия Лазаренко «Облачные платформы Java: как они устроены и чем отличаются». Сразу объединю свои впечатления с посещением его второго доклада «Облачная платформа Jelastic c точки зрения конечных пользователей: проблемно-ориентированный подход». Для меня оба доклада были очень похожими и мало что дали из новой полезной информации. Нам постоянно намекали или говорили прямо как крут Jelastic, хотя без масштабирования уровня данных, возможности менять некоторые характеристики без рестарта и некоторых других возможностей Jelastic может сгодиться разве что небольшим проектам. Хотелось бы больше деталей о том, как это реализовано внутри, но докладчик постоянно ссылался на отсутствие у него подобных знаний. А некоторые вещи выглядели на презентации как «чудо» в Java мире. Я был бы рад узнать, как они победили некоторые насущные для Java проектов проблемы, чтобы применить это на практике.
Следующим в моем списке был доклад Константина Данилова Библиотеки и фреймворки для построения клаудов. Краткий вывод – слишком сложно! Рассказ был о низкоуровневых инструментах и приемах, в то время как половина аудитории вообще не понимала для чего это все нужно. В итоге, слышал много отзывов, что было мало что понятно.
Дальше я отправился на доклад Артура Орлова «DVCS как конвейер IT-производства». Доклад был очень живой и мне понравился. Докладчик представил несколько моделей использования VCS в проектах разного типа и показал, как распределенные системы Git и Mercurial помогают справиться с проблемами легче и эффективнее. Подискуссировали на тему полезности команды ‘rebase’ и несет ли она потенциальный вред, а также можно ли работать без роли branch maintainer и кто тогда несет ответственность.
Следующим был Александр Долгарев с докладом «Сравнение AMQP и ZeroMQ». В качестве реализации протокола AMQP рассматривался RabbitMQ. С ним я знаком и мы давно запланировали переход на него с текущего JMS провайдера, как только сделаем надежный механизм поиска и перепосылки потерянных сообщений. ZeroMQ показался очень интересным. Это «socket на стероидах». Многое надо писать самому руками, но очень быстрое и гибкое взаимодействие между отправителем и получателем следует из самой технологии.
Дальше настала моя очередь поделиться знаниями об облачной разработке на AWS в моем докладе «Разработка распределенных приложений на AWS». Я был очень удивлен такому небольшому количеству участников в зале. Потом узнал, что параллельно выступал человек-легенда в мире разработчиков России – Дмитрий Завалишин. Он, к слову, получил первый приз за лучший доклад по голосованию участников. Надеюсь, я не подвел тех, кто выбрал мой доклад. Еще минут 20 после доклада я отвечал на вопросы участников и никто не разбегался на кофе. Пересказывать доклад смысла нет. Вот презентация, а скоро сделаю из нее слайдкаст:
С последнего доклада я ушел погулять по городу и заселиться в отель. Усталость и ранний утренний подъем давали о себе знать, поэтому на следующий день я решил выспаться и не пойти на первый доклад. Тем более, что Андрей Бреслав будет у нас в гостях 19 мая на JEEConf, а остальные доклады мне не особо были интересны.
Первым докладом во второй день конференции я посетил «Картография в Windows Phone» от Александра Сороколетова и Алексея Страха. Ребята приехали из Минска и я их хорошо знаю. Доклад был очень легкий и приятный. Я для себя узнал в каком формате хранятся карты у современных провайдеров, а также как устроены картографические сервисы. Оказалось, что написать свое приложение с картами внутри очень-очень просто, по крайней мере на базе Windows Phone 7.
После обеда я реально разрывался. На всех трех сценах были интересные доклады. Я все таки выбрал доклад Романа Елизарова «Пишем самый быстрый хэш для кэширования данных». Доклад немного разочаровал – я ожидал больше стратегий по кэшированию, выявлению мест для потенциального применения кэшей и, возможно, существующих решений. А весь доклад свелся к тому, что для реализации быстрых алгоритмов надо читать Кнута (совет от КЭПа), а еще при определенных обстоятельствах (когда ключ является частью самого значения) можно сделать свою реализацию классической мапы с прямой адресацией. Да, она будет давать очень быстрый get, но часто очень медленный put. Вопрос в том, какому количеству участников реально нужно тратить время на подобную реализацию. Ведь у 99.9% гораздо больше времени уходит на вычитывание самого объекта из памяти, чем на поиск его в кэше. Есть естественно критические приложения, где это очень важно, но их мало.
Дальше я снова разрывался, но выбрал доклад Вадима Цесько «Потоковая обработка данных с помощью модели акторов (Actor Model)». Я уже не раз присматривался к этой модели и ее реализации – Akka. Очень хотелось посмотреть, как люди в большой компании применяют ее на практике. Первая половина доклада все больше подталкивала меня к внедрению, но вторая половина вернула в реальный мир. Обработка ошибок, ненадежная доставка сообщений, возможные падения по памяти либо блокировки из-за ограниченного размера почтовых ящиков, неявные дедлоки и т.д. Еще сильно тормозящим фактором является применение именно в Java. Там далеко не все так красиво как в Scala, а ради этого переводить проект на сравнительно новый язык безумно. Но доклад был очень интересным, с множеством примеров и детальным описанием модели.
Потом я отправился на доклад Дмитрия Грошева «Обработка ошибок — общие соображения и грязные подробности». По-моему докладчик перемудрил с избавлением от исключений – система получилась очень сложная и не работает в общем случае. А так в очередной раз потерли тему нужны ли исключения, вред от возвращения null, панацея ли unchecked исключения.
Я возлагал большие надежды на доклад Александра Чистякова «Практический опыт использования некоторых современных решений репликации MySQL». Тема мне особенно интересна, потому что без репликации в облачной разработке никуда, а мы постоянно выдумываем свои костыли для MySql. Да и база у нас измеряется терабайтами. Доклад был очень живым и интересным. Видно, что докладчику очень наболело и он делился своими попытками сделать адекватное решение. Я записал себе несколько новых идей. Жаль, что заключением доклада было «адекватного способа делать надежную репликацию нет». Так доклад заканчивать нельзя. Даже мы придумали некоторые решения, которые вроде как работают.
Последим докладом я выбрал «Как готовить MySQL» от Андрея Аксенова. Доклад будет очень полезен тем, кто начинает работать с MySql или на собеседовании не может толком объяснить как настроить InnoDB. Небольшая, но очень важная тема, четкий детальный анализ с примерами из жизни, живое выступление. Обязательно рекомендую пересмотреть доклад на видео, а также проверить все настройки в своем проекте.
Это был последний доклад на конференции. Дальше закрытие, розыгрыш призов и слова благодарности всем-всем-всем. Я не рассказал о соревнованиях в программировании роботов, но деталей не знаю – зашел только один раз поглазеть.
В целом, конференция получилась интересная. Не все темы для меня были актуальны, но тут на всех не угодишь. Ждите видео и обязательно уделите время на просмотр выбранных докладов. Спасибо всем, кто пришел на мой доклад, не смотря на интересные выступления на других сценах. Очень рад, что получил опыт «погружения» в такую атмосферу и общения с новым интересными людьми. Приглашаем разработчиков из России к нам в гости на XP Days Ukraine и JEEConf!
JavaScript разработка на встрече «Клуба анонимных разработчиков» 17 мая
9 Май
8 мая мы провели встречу «Клуба анонимных разработчиков» на тему построения интерактивных сайтов. На встрече мы поговорили об общей архитектуре, серверных и клиентских технологиях, протоколах взаимодействия, способах передачи данных и многом другом. Теперь время углубиться в детали.
Ключевую роль в современной веб-разработке играет JavaScript. JavaScript давно перестал быть «игрушечным» языком. Напротив – современные веб-приложения диктуют свои правила и сложность front-end части неумолимо растет. Подходы, которые мы с успехом использовали пару лет назад, основанные на jQuery и других подобных библиотеках, перестают работать, когда приложение переходит определенный «порог» сложности.
Front-end, также как и back-end приложения, требуют архитектурного подхода решения задач программирования. Благодаря очень активному сообществу, которое сложилось в последнее время в JavaScript разработке, мы имеет обширную базу знаний, подходов и шаблонов проектирования. Также, необходимо отметить рост числа готовых к использованию библиотек и инструментов, которые значительно облегчают front-end разработку.
17 мая мы проведем очередную встречу из цикла встреч, посвященных JavaScript разработке, на которой рассмотрим основные проблемы, шаблоны языка JavaScript и также библиотеки для построения крупномасштабных JavaScript приложений. Вести встречу будет наш опытный тренер Александр Белецкий. Александр имеет очень большой опыт в разработке клиентских приложений и готов им поделиться с участниками встречи.
Итак, встреча пройдет в четверг 17 мая. Место проведения мы объявим ближе к дате мероприятия. Это связано с тем, кто число членов клуба постоянно растет и мы рискуем не влезть в уютный Киевский офис компании DataArt. Этот офис полюбился членам клуба своей уютной обстановкой и наличием всего необходимого для продуктивного общения. Но, по итогам прошлых встреч, есть риск, что все желающие не поместятся.
Официальное начало встречи по-прежнему в 19:00, завершение в 23:00. Стоимость участия 80 гривен при оплате заранее, 120 гривен при оплате на месте. Пива, пиццы и кофе с печеньками хватит на всех. Регистрация обязательна. Все детали по оплате будут высланы вам после успешного прохождения регистрации. Количество мест ограничено 60 участниками.
Десант XP Injection на конференции AgileBaseCamp
27 Апрель
Май получается очень-очень насыщенным на конференции. Одна из них на тему Agile – AgileBaseCamp CREW DRILL пройдет 25-26 мая в Харькове. Это 2 насыщенных дня:
- индивидуальными и командными учениями
- богатыми опытом экспертов докладами
- дискуссиями, нетворкингом и фаном
Только в течение этой недели у вас есть шанс сэкономить до 50% стоимости билетов, собрав команду из 3-х или 5-ти человек! Зарегистрировав команду и оплатив участие до 30 апреля, вы получаете огрооомную скидку и возможность участвовать в конкурсе на самой конференции. Командных участников ждут квесты и призы.
Цены на 2-х дневную конференцию такого масштаба еще никогда не были такими низкими: 555 или 777 грн вместо 1100 гривен!
Мы высылаем туда целый десант докладчиков. Николай Алименков представит свой доклад «Continuous Delivery». В докладе Николай расскажет как построить надежный и повторяемый процесс поставки продукта, заменив большую часть ручной работы с помощью автоматизации. Речь идет не только о релизах, но также о различных демонстрациях и ручном тестировании. Слушателям будут представлены принципы и правила, которые лежат в основе Continuous Delivery (непрерывной поставки). Будет рассмотрен последовательно весь процесс внедрения полезных инженерных практик, необходимых для успешной реализации подхода, а также инструменты и библиотеки, которые помогут его реализовать.
Еще один наш тренер, Александр Белецкий, выступит с докладом «Архитектура крупномасштабных JavaScript приложений». Современные веб-приложения имеют тенденцию переноса «центра сложности» с серверной на клиентскую сторону. Такое смещение акцента требует от разработчика переосмысления некоторых привычных ему фактов, изучения языка JavaScript, а также понимания архитектурных решений на клиентской стороне. Об этом и пойдет речь в докладе.
Дмитрий Ефименко представит свой доклад «Auftragstaktik – старые новые принципы самоуправляемых команд». Auftragstaktik – философия управления, выработанная немецкими военными в конце XIX вв для борьбы с кризисом управления, вызванным повсеместным применением Befehlstaktik с её фокусом на выполнении детальных приказов. Новая философия управления позволила сформировать инициативный, способный к самостоятельным действиям коллектив единомышленников, объединенных общими целями. Принципы Auftragstaktik читаются как руководство по управлению Aglile командой, стартапом, продуктом. Именно поэтому, во многих современных армиях и бизнес-школах их изучают очень тщательно – они совершенно не устарели, а многие идеи и принципы прямо прописаны в наших настольных книгах.
Присоединяйтесь к нашему десанту! Будет интересно!
Как я участвовал в конференции SQADays-11
26 Апрель
В эти выходные, 21 и 22 апреля, Киев принимал самую масштабную на просторах постсоветского пространства конференцию тестировщиков – SQADays. Конференция в Киеве стала 11-ой по счету, что уже говорит немало о ее популярности. Не смотря на мои «разработческие корни», я в очередной раз подготовил доклад на тему тестирования и принял участие в конференции в качестве докладчика. Но о моем докладе чуть позже…
В субботу меня мучала температура, поэтому я приехал практически перед официальным открытием. Тем не менее, времени вполне хватило, чтобы пообщаться со многими знакомыми. Приятно видеть на конференции столько знакомых лиц, причем из разных городов. Это отличная возможность поболтать и поделиться полезной информацией. Генеральный партнер конференции, компания Lohika, установила в холле оригинальный стенд с кислородными коктейлями. У участников появился шанс окунуться в воспоминания из детства.
Местом проведения был выбран КИМО, что поначалу меня немного шокировало. Ведь в образовательных заведениях по-прежнему царят «советские» устои, да и помещения не претендуют на звание современных. Но скажу сразу, что мои опасения мало в чем подтвердились. Огромным плюсом стал размер залов и холла. Складывалось ощущение, что никакой конференции и нет вовсе, а просто «пожилые» студенты с бейджами бродят из аудитории в аудиторию. Везде хватало мест и никто не теснился.
Сразу отмечу удобство программы, которая одновременно является и блокнотом. Мы позаимствовали этот формат для наших конференций. Это реально очень удобно – вы создаете свою версию «книги знаний». Но, к сожалению, информация о докладах в программе была устаревшей и для навигации я в основном пользовался листиком с расписанием докладов.
Как организатор подобных мероприятий, я еще сильно напрягался с односторонним бейджем – он все время норовил перевернуться чистой стороной наружу.
Двухсторонние бейджи гораздо приятнее в этом отношении.
Вот наступило долгожданное открытие конференции. Много слов благодарности, мини-речи приглашенных зарубежных гостей и информация для участников – все это растянулось на полчаса. Скоротать это время помог интернет. Он работал практически всегда адекватно. Много участников общались в Twitter по хештегу #sqadays12 (старый хештег #sqadays атаковали спамеры). В ленте можно найти много всего интересного.
Первый доклад Ярона Цубери я пропустил в пользу мини-доклада на тему советов по смене работы от Алексея Лянгузова. Леша сам только сменил работу после долгих лет, проведенных в компании Sun, и ему было чем поделиться. Много полезных советов, пометил себе эту презентацию на случай ухода с текущего насиженного места. Надо отметить, что зона стендовых докладов была оборудована грушами-подушками, которые просто мега-удобные. У меня такая есть дома. Теперь мы постараемся на следующих наших конференциях делать лаунж-зону с такими же грушами.
Очень хотелось проснуться, а растворимый кофе на кофе-брейке пить совершенно не хотелось.
Поэтому мы отправились в близлежащий «Кофе-Хаус». Оказалось, там достаточно много участников конференции также коротали время. Вообще, кофе-брейки стали самым слабым местом конференции. Кипяток был на вес золота, его постоянно не хватало. Женщины в столовской одежде разливали его из большой кастрюли, заливая насыпанный в стаканчики растворимый кофе и чай в пакетиках. До еды я так ни разу и не добрался, но, по слухам, она разлеталась очень быстро. Я больше расстраивался отсутствию постоянного доступа к горячей воде, потому что мне нужно было принимать лечебные процедуры полоскания.
Следующим в моем списке стал доклад Эдуарда Плаксина по грамотной отчетности нагрузочного тестирования. Много полезных советов из жизни, немного не хватало огонька в глазах, а так очень даже неплохой доклад. Прослушав его, можно избежать многих ошибок в своей практике составления отчетов.
На обед я решил пойти во вторую смену и остался на доклад Тани Зинченко. Она захватывающе рассказывала о своей команде и о процессе, который они у себя построили. Некоторые вещи мне было очень странно слышать «под соусом» Agile. Но доклад порадовал очень позитивным настроем и полной отдаче своему делу. Так держать!
Обед я провел в компании Андрея Дзыни и Алексея Лупана. Спасибо им большое за интересную беседу, обмен идеями на будущее и просто хорошую компанию. Правда обед разочаровал. Давно я не кушал в столовках и не ощущал «столовочного сервиса». Но тут ничего не поделаешь – такое уж место проведения. Иначе бы мы просто все остались голодными.
После обеда я отправился на главную сцену послушать про серебряную пулю автоматизации тестирования от Наташи Руколь и Игоря Любина. Доклад получился достаточно динамичным, слайды яркие, тема важная. Иногда не хватало живого диалога от Игоря, но это можно списать на отсутствие опыта публичных выступлений. В целом, доклад поднимал достаточно интересные вопросы по поводу внедрения автоматизации тестирования и неправильного ее применения.
Следующим по расписанию шел мой доклад. Я выступал в зале В с докладом «А вы знаете что тестируют ваши тесты?». В докладе я рассказал каким образом можно контролировать покрытие требований, кода и UI элементов приложения тестами, при этом получая информативный и красивые отчеты. Анализ и понимание покрытия тестами позволяет спать спокойно не только тестировщикам, но и менеджерам. А это очень важно во многих проектах.
Но лучше слов за меня все расскажет презентация:
Как только появится звук, я сделаю слайдкаст. Также я выложил проект, на котором я демонстрировал все примеры, на свой аккаунт на GitHub. Пользуйтесь на здоровье!
После своего доклада я много общался в кулуарах, познакомился с ребятами из «Одноклассников», обсудил с Лешей Баранцевым некоторые инструменты и подходы из моего выступления, практически убедил на реальных примерах одну из участниц конференции в неправильности подхода выделенных функциональных команд. Вообщем, с пользой провел время.
Первый день конференции закрывал Алексей Баранцев с темой о важности граничных значений и тестирования на границах. Мне доклад очень понравился. Тема достаточно узкая, поэтому Леша медленно и интересно ее раскрывал, с кучей классных примеров из не-IT тематики. В завершение, всех ждал мультик о «целеустремленном тестировщике», который сильно поднял настроение и стал замечательным завершением дня.
Во второй день я немного опоздал на первый доклад из-за плохого самочувствия и «попал в лапы» к Стасу Фомину. Он показал и рассказал про базу знаний, которую они собирают в компании на протяжение многих лет, продемонстрировал прогресс в его подходах к съемке и подготовке материалов, а также поведал много чего интересного. Стас – увлеченный человек и это здорово (хотя и негативно повлияло на его работу в компании)!
На второй доклад я пошел к Мишу Полярушу послушать про Robot Framework. Давно хотел посмотреть его в действии и мне это удалось. Миша показал на простых примерах как легко можно начать работать с этим инструментом и какие интересные возможности открываются перед тестировщиком. Круто, я люблю практические доклады с живыми примерами!
На следующий доклад я снова остался на главной сцене послушать про внутренние «облака» в компании Parallels. Кирилл Казаков очень уверенно доносил информацию, но практической ценности в докладе я не увидел. Мало какие компании берутся за построение собственного «облака» – это затратно как по времени, так и по деньгам. Гораздо проще начать использовать публичные сервисы и отбросить паранойю по поводу кражи исходников и прочих «ценностей».
На обед я отправился немного пораньше, поэтому не стоял в очереди и хватило времени поболтать с Сашей Баглаем, с которым мы знакомы уже давно и он помогал нам в качестве волонтера на многих конференциях. Обсудили конференцию, будущие мероприятия, волонтерство, рынок Java разработчиков и, если бы не наплыв желающих пообедать, могли продолжать еще долго.
После обеда мой выбор пал снова на главную сцену – там два Сергея (Атрощенков и Бережной) вещали про нежелание заказчиков давать «свободу» тестировщикам. Выступление было несколько смазанным по техническим причинам – микрофоны ужасно фонили и просто не давали возможности сосредоточиться на выступлении. Идея доклада была достаточно узкой, но хорошо разжеванной – не заигрывайтесь с инструментами и подходами, а стремитесь решать выгодные с точки зрения ROI проблемы. Даже с нелюбимыми мной матрицами 2 на 2, доклад получился неплохой.
Следующий выбранный мной доклад, пожалуй, был единственной «ошибкой». Я отправился слушать Александра Башарина про оценки тестирования. Доклад был очень запутанный и скучный. Зато поиграли в шахматы онлайн в паре с Игорем Любиным (да, сдал с потрохами). Надо же как-то выходить из ситуации.
На кофе-брейке мне опять ничего не досталось, с трудом выборол для себя немного кипятка в лекарственных целях. Поэтому на доклад Ани Скуминой я отправился в приподнятом настроении. Она рассказывала о нестандартных подходах к тестированию usability. Отличные слайды, поставленная приятная речь, легкий и интересный материал – я остался доволен. Важно помнить, что тестировщик тестирует usability продукта, просто его используя. А это круче многих специализированных тестов.
В это время твиттер разрывался от крутости доклада на сцене В. Я попал на последнюю часть и тоже был очень доволен. Олесь Сегеда в режиме реального времени демонстрировал уязвимости различных типов и способы борьбы с ними. Живое шоу действует на участников как нельзя лучше и доклад был воспринят на ура. Все отчаянно начали вписывать Олеся в анкету-опросник с голосованием за лучший доклад. Я себе пометил доклад для обязательного просмотра, как только появится видео.
Закрывали конференцию Наташа Руколь и Андрей Мясников. У них получился очень живой и насыщенный доклад в стиле боя в Mortal Combat. В схватке схлестнулись тестирование по сценариям и методом свободного поиска. Они наносили друг другу удары в виде аргументов и язвительных историй. То и дело зал присоединялся и выдавал свои комментарии. Отличная подача материала и, как принято, «победила дружба». Всякое тестирование важно, если его применять по месту и с умом. На этой ноте и завершилась официальная часть конференции.
За последним докладом последовало вручение призов от спонсоров и от организаторов за лучшие доклады. Очень заслуженно призы получили Олесь Сегеда, Миша Поляруш и Аня Скумина. Правда призы были несколько странными для IT-конференции – утюг, термос и еще что-то.
Мне же в подарок досталась мышка за самое активное участие в twitter-ленте конференции. Мелочь, но приятно!
На afterparty я не попал по состоянию здоровья, поехал долечиваться. В целом, конференция понравилась. Мне посчастливилось попасть на яркие и интересные доклады, а также завести несколько полезных знакомств. Также я поделился в своем докладе наработками и мыслями на тему тестирования. А не для этого ли мы и приходим на подобные мероприятия? Надеюсь выступить на следующей SQADays-12, где бы она не проходила. Спасибо организаторам, докладчикам и участникам за отлично проведенное время!
Строим интерактивные сайты на встрече «Клуба анонимных разработчиков» 8 мая
24 Апрель
Мы решили не откладывать в долгий ящик и провести очередную встречу клуба пораньше – 8 мая. Тем более нашлась очень интересная и «горячая» тема – построение интерактивных сайтов.
Интернет развивается с огромной скоростью и одной из основных тенденций последнего времени является перенос десктопных приложений в облака и работа с ними через браузер. Ключевыми особенностями таких «живых» сайтов являются интерактивнось и скорость отклика. Пользователь ходит по сайту со своим вопросом в голове и любая задержка сбивает его, переводя из категории довольного пользователя в категорию разочаровавшегося. Пользователи хотят видеть реакцию на свои действия мгновенно, не дожидаясь загрузок страниц и прочих задержек. С сегодняшним уровнем технологий такое решение доступно абсолютно любому интернет-проекту. Так как же не потерять клиента?
Дмитрий Рябко вызвался ответить на этот вопрос в своем докладе «Живые сайты – уничтожаем велосипеды». Этот доклад отражает практическое руководство создания интерактивного интернет-приложения с нуля. Основной упор будет сделан на сведение всевозможных «велосипедов» к минимуму, выводу общей концепции и выбору ключевых компонентов, как на серверной стороне, так и на клиентской стороне. В главных ролях CoffeScript, JavaScript, Python и Java.
Итак, встреча пройдет во вторник 8 мая. Место проведения мы объявим ближе к дате мероприятия. Это связано с тем, кто число членов клуба постоянно растет и мы рискуем не влезть в уютный Киевский офис компании DataArt. Этот офис полюбился членам клуба своей уютной обстановкой и наличием всего необходимого для продуктивного общения. Но, по итогам прошлых встреч, есть риск, что все желающие не поместятся.
Официальное начало встречи по-прежнему в 19:00, завершение в 23:00. Стоимость участия 80 гривен при оплате заранее, 120 гривен при оплате на месте. Пива, пиццы и кофе с печеньками хватит на всех. Регистрация обязательна. Все детали по оплате будут высланы вам после успешного прохождения регистрации. Количество мест ограничено 60 участниками.
Отчет о 15-ой встрече «Клуба анонимных разработчиков»
23 Апрель
В прошлый четверг, 19 апреля, состоялась 15-ая встреча нашего «Клуба анонимных разработчиков». В этот раз уютный и полюбившийся многим офис компании DataArt принимал гостей из мира разработчиков бизнес-правил. Встреча была посвящена инструментам для разработки сложных бизнес-правил, в частности JBoss Drools.
У нас был один докладчик – Виктор Полищук, но этого оказалось предостаточно. Витя с удовольствием делился своими знаниями и опытом в использовании JBoss Drools, отвечал на многочисленные вопросы по поводу его применимости и отличиях от простой реализации бизнес-правил на языке программирования. Было очень интересно и разошлись как обычно уже после 23:00. Вот презентация этого выступления:
По просьбе участников Витя выложил проект, на примере которого он демонстрировал возможности инструмента, на github. Таким образом, участники смогут быстро попробовать его на практике и избежать проблем при начальном изучении инструмента. Также Витя поделился ссылкой на интересный проект Акинатор, который реализован на базе экспертной системы и никого не оставит равнодушным. Играйтесь на здоровье!
Дополнительную информацию вы можете найти в Twitter по хештегу #uadevclub. Можно почитать о ходе встречи, найти интересные цитаты, советы и факты о рассматриваемых технологиях. Присоединяйтесь и обсуждайте вместе с нами!
Мы снимали видео выступления и постараемся в ближайшее время выложить его в открытый доступ.
Следующая встреча запланирована на 17 мая и будет посвящена современной разработке с использованием JavaScript. Следите за анонсами и не пропустите начало регистрации!
Старт проекта. «Продажа» Управления Рисками?
11 Апрель
Продолжаю серию статей «Старт проекта». Первая статья здесь – Старт проекта. Как это делать?, а вторая здесь Старт проекта. Что такое Управление Конфигурациями?
В этой, третьей статье, приведу некоторые мысли о том, как при старте проекта снизить его рискованность, и при этом не напугать заказчика или менеджмент.
Управление рисками – это та дисциплина, которая должна обязательно применяться при старте проекта, т.к. общеизвестный факт, что решение проблем на ранних стадиях всегда дешевле, и собственно есть гораздо больше возможностей эти решения применить.
Из-за чего возникают проектные риски?
- Заказчик не может обеспечить ожидаемый уровень коммуникаций, взаимодействия
- Сложная предметная или технологическая область
- Нехватка персонала или его квалификации
- Несоответствие типов контрактов, методологий и условий проекта
- Заказчик, а зачастую и менеджмент слабо (или не) знакомы как работает управление проектами
Управление рисками зачастую предполагает некоторые инвестиции в реакции на риски, то ли в виде некоторых дополнительных работ, например – прототип, то ли в виде некоторого резерва времени или средств. Естественно, что у заказчика возникает вопрос – «зачем платить за лишнее», или –«я плачу за работу, а не за риски». После того, как упомянуто слово риск, заказчик может перестать воспринимать вас всерьез, а то и просто «съехать».
Вот здесь ключевая идея – объяснить, а точнее замаскировать реакции на риски с помощью понятного для заказчика языка. Даже может быть категорически противопоказано употреблять термины и жаргон из мира разработки ПО.
Скажу по себе, хотя и был много лет назад разработчиком, но когда сейчас мне нужно узнать на концептуальном уровне о каком-то техническом решении, и я слышу в ответ слова: ADO, MVC, Hibernate, XML и т.п. у меня отключаются чувства восприятия
. Т.е. объясняющий совершенно профессионально объясняет техническое решение, но в силу разрыва понимания технологии получается недопонимание. Такие же разрывы случаются между парами тестировщик – разработчик, разработчик – менеджер проекта и т.д. И это между людьми, работающими в одном бизнесе! А что же говорить о заказчике, который хочет, чтобы мы поняли его бизнес потребности, а мы тут к нему с рисками?
Давайте посмотрим на неудачный и приемлемый варианты общения с заказчиком на этапе инициирования проекта. Беру условие практического задания «Маскировка» из тренинга «Управление рисками: классика, agile, бизнес, заказчик».
Условие:
Новый проект, примерно на год на команду 10 человек. Срок сдачи фиксирован. Требования слабо определены. Сложная предметная область. Заказчик примерно понимает приоритеты функционала, находится в США. Нужно как можно раньше четко осознать что успеется за год, т.к. нужно делать анонс продукта, продвигать и т.п. Не хватает 4 разработчика в команде, срок найма 1-2 месяца. Архитектура неясна, ориентировочно 2 подхода с разными ожиданиями по производительности, расширяемости и срокам разработки. Заказчик хочет 1-2 раза в месяц демо и прогнозы успеваемости по срокам. Прямо сейчас заказчик выбирает между 3-я поставщиками, понятно хочется выиграть заказ. Заказчик не очень техничен и от слова «риск» может «съехать».
Неудачные фразы:
- «Мы будем работать по СКРАМу и наши разработчики вам на демо все будут рассказывать» – вы можете представить каким языком разработчики расскажут? Да и хочет ли не техничный заказчик так общаться?
- «Мы по ходу разработки будем брать задачи из бэклога и по берндауну будем понимать наше велосити, а если не будем что-то успевать, то низкоприоритетные функции делать не будем» – несмотря на развитие гибких подходов у заказчика может случиться «вынос мозга» от такого заявления. К тому же от хочет «как можно раньше четко осознать что успеется за год».
- «У нас есть риск недобора команды, поэтому мы нагоним потом либо овертаймами, либо сокращением бэклога» – во-первых, состав команды это не есть проблема заказчика, ему по существу все равно как вы будете делать проект. Во-вторых, от такого «подхода» сразу же веет непрофессионализмом.
- «У нас есть риск неправильного выбора технического решения, поэтому мы заложим 20% времени на рефакторинг или имплементацию другого решения» – в понимании заказчика вы не знаете как правильно спроектировать его продукт, да еще и будете переделывать за его же деньги. И что это за мифический резерв в 20% времени?
Приемлемые варианты:
- «Для того, чтобы лучше понять вашу предметную область мы пошлем в командировку наших ведущих специалистов, которые обсудят с вами те задачи вашего бизнеса, которые вы хотите решить с помощью этого продукта, а также в подробностях самые первоочередные из них»
- «Так как вам нужно как можно раньше знать что войдет в продукт, то мы рекомендуем, чтобы вы выделили ваше время и-или время ваших специалистов для обсуждения требований»
- «Так как важно выбрать оптимальное техническое решение, а также оценить наши возможности как компании-исполнителя, мы предлагаем по-фазный подход. На первой фазе мы сделаем прототип, в котором постараемся отразить на концептуальном уровне первоочередные функции вашего продукта. Помимо этого вы также сможете оценить наши возможности»
Как-то так, на самом деле ваши действия скорее всего не будут зависеть от варианта формулировки вашего подхода. Но применяя нечто похожее на «Приемлемые варианты» и вы добьетесь того, что хотели, т.е. сможете включить реакции на риски в план проекта, и заказчик будет чувствовать себя более уверенным.
Серия статей «Старт проекта» выходит в поддержку тренинга «Успешный старт проекта», в котором темы статей рассматриваются подробнее и с практическими заданиями.
15-ая встреча «Клуба анонимных разработчиков» 19 апреля
5 Апрель
Прошлая встреча клуба, которая проходила 29 марта, получилась просто отличной – очень много полезнейшей информации, интересные доклады и классная атмосфера. Участники остались очень довольны. Следующую встречу мы решили назначить на 19 апреля.
Темой встречи мы выбрали BPM. Бизнес-процессы включает в себя ряд активностей, целенаправленно исполняемых соответствующими участниками для достижения общей цели бизнеса. Эти процессы имеют важное значение для любой организации, поскольку они могут (!!) приносить доход и часто составляют значительную часть затрат. Для программиста, практически все с чем он работает – является бизнес-моделью, а соответственно он является активным участником бизнес-процесса. Более того, код, который он пишет – это результат процесса, так как «он» решает или призван решить бизнес-проблему.
Инженерный ум всегда старается найти общее решение частных проблем с целью оптимизации или упрощения, сейчас или в будущем. Давайте рассмотрим, как можно работать меньше (снижать затраты), а производить больше (увеличивать доход). Добро пожаловать в мир BPM!
Главным докладчиком выступит Виктор Полищук, который расскажет о JBoss Drools и о практическом его применении. Drools является реализацией движка правил на основе Рете (Rete) алгоритма Чарльза Форджи. Адаптация Rete к объектно-ориентированному подходу обеспечивает более естественное выражение бизнес-правил и связи с бизнес-объектами. Drools написан на Java, но может работать на Java и .NET.
В докладе Виктор хотел бы рассмотреть Drools на примере одного Java проекта. Он разберет требования и получившиеся правила, оценит скорость работы и требования к памяти, простоту поддержки и сложность рефакторинга. Надеемся, никто не уйдет обиженным.
Мы приглашаем выступить и поделиться опытом других докладчиков. Вы сможете в неформальной обстановке рассказать о своих достижениях и провалах, обсудить их с участниками, выслушать вопросы, советы и критику. Это отличная возможность попробовать себя в роли докладчика.
Итак, встреча пройдет в четверг 19 апреля. Место проведения мы объявим ближе к дате мероприятия. Это связано с тем, кто число членов клуба постоянно растет и мы рискуем не влезть в уютный Киевский офис компании DataArt. Этот офис полюбился членам клуба своей уютной обстановкой и наличием всего необходимого для продуктивного общения. Но, по итогам прошлых встреч, есть риск, что все желающие не поместятся.
Официальное начало встречи по-прежнему в 19:00, завершение в 23:00. Стоимость участия 80 гривен при оплате заранее, 120 гривен при оплате на месте. Пива, пиццы и кофе с печеньками хватит на всех. Регистрация обязательна. Все детали по оплате будут высланы вам после успешного прохождения регистрации. Количество мест ограничено 60 участниками.
Что готовит нам весна?
29 Март
Весна постепенно набирает обороты. Март уже заканчивается и скоро наступят солнечные (мы искренне надеемся) апрель с маем. Мы запланировали много событий на эту весну. Что же вас ждет?
29 марта состоится 14-ая встреча «Клуба анонимных разработчиков». Мы смело можем назвать ее одной из самых интересных встреч – ведь будет рассматриваться «горячая» тема облачной разработки. На суд участников будут представлены доклады о разработке на облаке Amazon и Windows Azure. Поэтому каждый найдет для себя что-то интересное. Встреча пройдет в уютном офисе ДатаАрт по адресу Бехтеревский переулок 14Е. Начало в 19:00.
6-7 апреля состоится новый тренинг «Инженерные практики в Agile». 2 тренера (Николай Алименков и Алексей Солнцев) в течение 2-ух дней познакомят участников с 8-ью современными инженерными практиками. Будут затронуты вопросы внедрения, поддержания и пользы от этих практик. Все практики будут демонстрироваться на реальных примерах и включают в себя многолетний опыт использования наших тренеров. Это один из лучших наших тренингов. Группа почти набрана, осталось всего 5 мест.
13-14 апреля мы впервые проведем новый тренинг Дмитрия Ефименко под названием «Практики эффективного, но экономного проектирования». Дима вложил в этот тренинг весь свой опыт по проектированию программного обеспечения. Тренинг отлично сочетает в себе информацию о процессах разработки и проектирования, работу с требованиями, инженерные практики и подходы, анализ и управление рисками, а также несколько интересных практических заданий. Участники даже будут писать реальный код.
Группа еще формируется и не поздно присоединиться к составу участников.
21-22 апреля состоится важное событие в мире тестирования – международная конференция SQA Days 11. Наш тренер Николай Алименков выступит на конференции с докладом «А вы знаете что тестируют ваши тесты?». В докладе речь пойдет о связывании тестов с самыми важными артефактами вашего проекта – требованиями и кодом. Николай на практических примерах продемонстрирует как полностью контролировать что и как тестируют ваши тесты. Помимо этого, 20 апреля мы проведем популярный тренинг «QA в Agile». Этот тренинг позволит участникам познакомиться с ролью тестировщика в Agile процессах, грамотно настроить процесс QA в Agile команде, разобраться с ролью автоматизации тестирвания и современными веяниями в мире тестирования. Тренинг будет полезен как менеджерам, так и обычным тестировщикам.
В апреле проходит еще несколько интересных конференций в России и Украине, но побывать везде просто не хватает времени. Вот некоторые из них: CodeFest 2012, Cloud Foundry Open Tour 2012, Software People’12, РИТ++, Quality Assurance Day’12, Fun ConfeT&QA. Мы также постараемся провести очередную бесплатную онлайн конференцию IT Brunch. Тема еще окончательно не выбрана, но в этот раз мы планируем сделать ее более технической.
28 апреля пройдет еще один наш новый тренинг «Успешный старт проекта». Сергей Поволяшко подготовил этот тренинг на основании своего многолетнего опыта управления проектами. На тренинге вы сможете узнать какие активности стоит проводить на стадии инициирования проекта, какие риски есть и как с ними бороться, как оценивать проекты с финансовой и временной точек зрения, что необходимо включить в контракт и как это сделать. Если вы менеджер и ваша работа связана со стартом новых проектов, то этот тренинг для вас!
27-28 апреля Александр Белецкий проведет свой новый тренинг «Веб-разработка с использованием ASP.NET MVC». Этот тренинг рассчитан на программистов, знакомых с концепциями ASP.NET, возможно уже имеющие опыт с Web Forms, но желающих приобрести практические навыки с новой, популярной технологией ASP.NET MVC. Тренинг очень насыщенный и на нем будут рассмотрены практически все аспекты разработки современных веб приложений с использованием ASP.NET MVC.
11-12 мая в Москве состоится очередная конференция для разработчиков Application Developer Days-3. На протяжении двух дней участники смогут посетить множество совершенно разных докладов на тему разработки, а также пообщаться с коллегами. Николай Алименков выступит с докладом «Разработка распределенных приложений на AWS», в котором поделится своим опытом (более 2-ух лет) в разработке приложений в облачной среде. Николай рассмотрит сервисы, предоставляемые Amazon (самым популярным облачным провайдером на данный момент) и даст множество полезных советов тем, кто начинает или только задумывается над переездом в облака.
19 мая мы уже во второй раз соберем Java разработчиков в Киеве на большую конференцию для Java практиков – JEEConf 2012. В этот раз мы собрали еще более интересную программу. Докладчики приедут в Киев с разных стран и будут освещать различные инструменты, методики и практики из мира Java. Николай Алименков выступит на конференции с докладом «За что я ненавижу Hibernate?», в котором рассмотрит недостатки одного из популярных ORM решений и способы их обхода. На данный момент уже более 300 участников изъявили свое желание участвовать в конференции. Это будет действительно яркое событие наступающей весны.
Перед конференцией мы организуем ряд тренингов, посвященных Java разработке: «JavaScript for Java developers», «TDD в Java», «Introduction to Java EE 6″. Все тренинги проводятся опытными профессионалами индустрии. Группы наполняются очень быстро, поэтому поторопитесь занять себе место в составе участников.
Завершит весеннюю гонку конференция AgileBaseCamp CREW DRILL в Харькове 26-27 мая. Это два дня, насыщенных докладами экспертов, воркшопами и вдохновляющими блицами. Панельные дискуссии и Open Space, демонстрации от практиков и два полномасштабных мастер-класса. Наши тренеры Александр Белецкий, Дмитрий Ефименко и Николай Алименков готовятся выступить с докладами. Программа конференции еще формируется.
А еще на апрель и май у нас запланированы корпоративные тренинги в Киеве, Днепропетровске, Воронеже и Москве. Приглашайте нас в свой город и мы с радостью приедем!
Вот такая интересная выдалась весна. Будем рады видеть вас на перечисленных мероприятиях!







