16 декабря 2010 г.

Объяснить или давать разбираться?

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

Я затрону тему возможности улучшения коммуникации.

26 ноября 2010 г.

Stand-up meeting: лучшие и худшие практики

Вы не знаете, какую задачу делают коллеги? Бывает, что решаете проблему, которую уже решил ваш сосед неделю назад? Не можете найти время, чтобы поделиться с коллегами своими достижениями? Не знаете, когда можно озадачить коллег своей проблемой?

Все эти вопросы снимают ежедневные планерки. Ещё их называют летучки, собрание «на ногах», stand-up meeting, стендапы, daily scrum. Эту практику настоятельно рекомендуют использовать в Scrum и eXtream Programming. Вы найдете утренние планерки в организациях любого направления, но в IT есть свои особенности.

23 ноября 2010 г.

Конференция Платформа 2011 моими глазами

Платформа 2001

17-18 ноября в Москве я был на конференции Платформа 2011, где посетил несколько докладов и пообщался с морем людей. Ниже описал эту конференцию, как её увидел я.

15 ноября 2010 г.

Платформа 2011

Платформа 2001

17 ноября начнется двухдневная конференция Платформа 2011 от компании Microsoft. Из большого списка докладов я выбрал наиболее интересные для себя.

2 ноября 2010 г.

Консультации и серия тренингов «Результативное программирование»

За мою практику работы программистом, техническим директором, руководителем проектов, блоггером и преподавателем в ВУЗе я сталкивался с самыми разными, сложными и актуальными задачами, которые стояли перед программными проектами.

1 октября 2010 г.

Материалы с конференции разработчиков

28 сентября 2010 года в Инновационном бизнес-инкубаторе состоялась конференция разработчиков.

Фото-отчет http://picasaweb.google.ru/alexander.byndyu/TXLCxE

Впечатления из Twitter'а https://twitter.com/#search/%23dotnetconf

Доклады с видео и слайдами

№1 Автоматизация тестирования интерфейса в web-приложениях

№2 Big switch: Жизнь после Microsoft

№3 Организация работы команды в Agile: разработка + тестирование

Спасибо докладчикам и участникам!

Материалы конференции разработчиков. Доклад «Организация работы команды в Agile: разработка + тестирование»

Доклад от меня. Прозвучал на конференции разработчиков.

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

Материалы конференции разработчиков. Доклад «Автоматизация тестирования интерфейса в web-приложениях»

Доклад от Вадима Кадученко начальника отдела тестирования проекта Главснаб. Прозвучал на конференции разработчиков.

Вадим рассмотрел следующие вопросы:

  • Что такое интеграционные тесты и чем они отличаются от традиционных юнит-тестов.
  • Роль интеграционных тестов в проекте.
  • Готовые инструменты для написания автоматизированных тестов UI.
  • Как интеграционные тесты вписываются в общую схему разработки продукта?
  • Главное преимущество, которое дают интеграционные тесты.
  • Возможные проблемы при написании таких тестов

Материалы конференции разработчиков. Доклад «Big switch: Жизнь после Microsoft»

Доклад от Алексея Захарова директора компании Witcraft. Прозвучал на конференции разработчиков.

В своем докладе Алексей раскрыл преимущества перехода со стэка .NET + Windows на Linux + Rails и рассказал о причинах побудивших его команду на столь рискованный шаг.

13 сентября 2010 г.

Конференция .NET разработчиков

28 сентября 2010 года в 16-00 в Инновационном бизнес-инкубаторе по адресу г. Челябинск, ул. Троицкая 1-в состоится конференция .NET разработчиков.

Цель конференции - обсуждение передовых практик и инструментов .NET разработчиков. Если вы удачно (или неудачно) применили какой-то инструмент или технологию и хотите поделиться своим опытом, то эта конференция для вас.

Количество мест ограничено и регистрация обязательна. Всего туда cможет попасть 60 человек. Уже зарегистрировалось 50.

Зарегистрироваться →

10 июля 2010 г.

Совершенный код №2. Пример реализации Unit Of Work с NHibernate

В комментариях и письмах к статье Совершенный код №2. Реализация Unit Of Work вы предложили довольно мало реализаций. Я опишу принципы своего видения реализации и учту ваши предложения и исправления к моему коду в предыдущих статьях.

3 июля 2010 г.

Совершенный код №2. Реализация Unit Of Work

Тема реализации паттерна Unit Of Work уже поднималась в комментариях к статье «Совершенный код. Разбор выпуска №1». После чего мне пришло множество писем с вопросами по этой теме. Одно из последних писем выношу на отдельное обсуждение.

21 июня 2010 г.

Материалы с конференции Agile Days 2010 Екатеринбург

4 июня 2010 года прошла конференция Agile Days 2010 Екатеринбург. Были освещены различные аспекты работы по принципам гибкой разработки. Я рассказывал про человеческий фактор. Ниже видео моего доклада и слайды:

1 июня 2010 г.

Domain-Driven Design: aggregation root

Для создания удобного и полезного домена приложения нужно понимать, как использовать корень агрегации (aggregation root). Это понятие логическое и в коде явным образом нигде не прописываться. В разных пользовательских историях одна и так же сущность домена может быть корнем агрегации и может быть внутри агрегации. На нескольких примерах я покажу принцип работы и цели использования корня агрегации.

Исходный код приложения (SVN, Visual Studio 2010)

23 мая 2010 г.

Совершенный код. Разбор выпуска №1

Вы прислали очень много решений и замечаний к коду из выпуска №1 в письмах и комментариях. Думаю авторам будет приятно увидеть свои идеи ниже.

10 мая 2010 г.

Открытие рубрики «Совершенный код»

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

6 мая 2010 г.

AgileDays 2010 в Екатеринбурге




4 июня в Екатеринбурге пройдет конференция AgileDays 2010.

Асхат и Никита пригласили меня принять участие в качестве докладчика. Долго думал над темой и решил рассказать про то, что меня больше всего цепляет в Agile. Моя тема «Человеческий фактор и Agile»

Тезисы

Самая эффективная команда та, в которой каждый участник имеет правильную жизненную позицию. Команда в данном случае — это участники процесса создания программного продукта, т.е. программисты, руководители и заказчик. Сразу такую команду не создать, нужен инструмент. Agile — это «инструмент» создания такой команды.

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

 

3 мая 2010 г.

Domain-Driven Design: создание домена

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

29 апреля 2010 г.

Карточка развлечений

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

25 апреля 2010 г.

IoC-контейнер в ASP.NET с использованием шаблона MVP (Model-View-Presenter)

После видео про управление зависимостями в коде многие интересуются, как же сделать тоже самое в классическом ASP.NET. Проблема в том, что нужно найти точку старта для активного внесения зависимостей. В ASP.NET MVC она создана за нас – это фабрика контроллеров IControllerFactory.

По решению этой проблемы есть довольно много статей, я дам на них ссылки и добавлю свои комментарии.

7 апреля 2010 г.

Видео. Управление зависимостями в коде

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

Основные темы:

Перед этим видео желательно посмотреть пример разработки приложения с помощью TDD.


Исходники проекта

1 марта 2010 г.

5й подкаст Петербургской группы ALT.NET

Парни из Петербургской группы ALT.NET пригласили меня поговорить по поводу принципов проектирования. Разговор получился не только об этом. Мы затронули отношение разработчиков к качеству кода, методологии ведения проекта и многое другое...

Скачать этот выпуск подкаста (62.3 Мб)

Ссылки из обсуждения:

Scrum & XP

Pain-Driven Development

Spolsky vs Uncle Bob

Технические долги

18 февраля 2010 г.

Видео. Пример разработки приложения с помощью TDD

В этом видео я разрабатываю приложение с помощью TDD на языке C#. Кроме демонстрации того, как надо писать модульные тесты, я постарался показать, как работает TDD на уровне приложения в целом.

При разработке применил принцип инверсии зависимости, а также использовал IoC-контейнер.

3 февраля 2010 г.

Когда TDD начинает обгонять?

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

Насколько оправданно использовать этот подход [TDD] в небольших проектах в плане скорости?

Сейчас читаю книгу «Applying Domain-Driven Design and Patterns» Jimmy Nilsson. Автор книги пишет, что применение TDD по сравнению с обычными подходами приводит к более скорому завершению проекта. Но скорость разработки растет не сразу, а даже изначально проект будет продвигаться медленнее. (Понятно, что написание тестов и постоянный рефакторинг отнимает много времени). Вот мне интересно наступит ли в небольшом проекте этот момент, когда подход TDD начнет выигрывать по времени по сравнению с обычными подходами разработки?

28 января 2010 г.

TDD для начинающих. Ответы на популярные вопросы.

Исходники проекта написанного с помощью TDD. Visual Studio 2008/C#
Для написания тестов использована библиотека
xUnit, для создания mock-объектов – Moq.

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

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

6 января 2010 г.

А есть рускоязычная звезда в программировании?

Мы все цитируем Мартина Фаулера, Гради Буча, Роберта Мартина, Эрика Эванса и т.д.

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

Есть ли в России или странах СНГ программист, который публикует книги?

Внимание! Не тренер/евангелист, который рассказывает про формирование команд, внедрение методологий и т.п. Именно программист.

Если есть, то подскажите, пожалуйста, его имя. А если нет, то может знаете почему его нет?