Российская BIM-система
eng

Блог / Как мы выстроили процесс разработки. Часть 1

Известно, что наш проект развивается уже не первый год. Несмотря на то что всё равно всё только начинается, оценить то, чего мы за эти годы достигли, можно, поработав в Renga 2.7.
Годы разработки идут, и нам есть чем поделиться не только с нашими пользователями, но и с коллегами-разработчиками. Методом проб и ошибок мы выстроили на данный момент довольно слаженный процесс. Как раз о нём расскажет наш процессный гуру - Даниил Мусиенко.
Каждая вторая компания, которая разрабатывает программное обеспечение, говорит, что работает по Agile. При этом Agile в каждой из них разный. Мы не исключение.
Мы работаем по Agile. Ниже я расскажу, что под этим подразумеваю. Сразу оговорюсь, я буду описывать идеальную картину. Это то, к чему мы стремимся, то, что мы считаем за эталон. Но получается так работать не всегда. В первой статье я расскажу, как идет разработка наших продуктов во времени.
Весь наш процесс разработки состоит из повторяющихся циклов. Есть большие циклы, в каждом из которых циклы поменьше.

Год

Самый большой цикл - год. На каждый год у нас запланировано по 4 новые версии приложений - Renga Architecture, Renga Structure.

Релиз

Следующим циклом за годом идет цикл релиза - разработка новой версии приложений.

Каждый релиз начинается с планирования. На нём собираются программисты, аналитики, тестировщики, тех.писатели, тех.поддержка, дизайнеры - все, кто причастен к разработке. Целью планирования является:
  • получить общее представление о том, что появится в следующей версии приложения;
  • понять почему выбрана эта функциональность;
  • распределить разработку новых функций по командам.
Планирование
После планирования начинается разработка, она состоит из 6-7 итераций (об итерациях расскажу ниже). После разработки идет неделя предрелизного тестирования. В этот период проводится финальное тестирование и отладка приложений. Затем происходит выпуск Renga Architecture и Renga Structure. По сути, мы просто выкладываем инсталляторы в открытый доступ. Последним этапом в цикле релиза идет ретроспектива. На ней, также как и на планировании, собираются все, кто причастен к разработке. Мы вспоминаем как прошел релиз, "хвастаемся" кто что сделал, анализируем с какими проблемами столкнулись, решаем как не допустить появления этих проблем в следующих релизах.

Ретроспектива релиза. Команда вспоминает, что они делали в релиз.

Итерация

Итерация - еще более короткий цикл чем цикл релиза. Итерация длится 12 рабочих дней.

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

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

День

Самым коротким циклом является день.

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