logo
Documents & Forms
Microsoft 365 & SharePoint Tools
Classic SharePoint Tools

Как организована разработка в Plumsail

Стек технологий

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

Основной стек:

  • C#
  • .NET Core
  • JavaScript, TypeScript
  • Vue, React
  • Webpack, Gulp
  • SASS, CSS
  • MS SQL, Redis
  • Azure Cloud

Организация разработки

В активно развивающихся продуктах используется адаптированный Scrum. Задачами мы управляем в Azure DevOps.

Исходный код хранится в GIT репозиториях. Используется Gitflow для управления ветками.

Для Continuous integration мы используем следующую связку. Для билда JetBrains TeamCity, для деплоймента Octopus, для подготовки машин Ansible. При публикации исходников в develop ветку, проекты автоматически деплоятся на тестовые сервера. При публикации в master инициируется деплоймент на продуктив который аппрувится product owner’ом.

Мы используем статический анализатор кода SonarQube. Это позволяет выявлять проблемные места в коде на стадии сборки. При этом мы не сторонники фашистских правил по оформлению кода. SonarQube – помощник, не надзиратель.

Мы считаем, что удобный анализ логов значительно упрощает поддержку и разработку. Поэтому мы используем Serilog для структурного логирования в связке с ELK стэком (Elastic + Kibana).

Тестирование и документирование

Мы используем Unit testing и Integration testing для тестирования наших проектов. XUnit тесты прогоняются автоматически.

При этом в части проектов у нас есть автоматическое UI тестирование с помощью Selenium, но пока все на зачаточном уровне.

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

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

Коммуникация в команде

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

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

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

  • Что ты сделал вчера?
  • Что ты будешь делать сегодня?

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

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

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