- PVSM.RU - https://www.pvsm.ru -
Мы продолжаем рассказывать о процессах организации разработки в Positive Technologies. Ранее мы коснулись тем создания дистрибутивов продуктов [2], организации процесса [3] хранения и лицензирования софта и реализации собственной системы Continuous Integration [4].
Сегодня речь пойдет о том, как мы используем инструмент Team Foundation Server (TFS) для организации workflow разработки.
Team Foundation Server состоит из нескольких компонентов.
Система контроля версий:
Трекер задач:
Система непрерывной интеграции:
Для нашей компании TFS в первую очередь — это трекер задач, которым пользуется большинство команд. Второй по популярности сценарий использования — система контроля версий, в которой хранится не так много проектов, но все они активно разрабатываются. По остаточному принципу используем TFS и в качестве сборочной системы — для тех же самых проектов, версии которых в ней хранятся.
Система поддерживает методологии разработки, такие как Kanban, Scrum, CMMI. Кроме того, поддерживаются различные — в том числе кастомные — типы задач: Bug, Task, Feature, User Story и т.п. Также стоит отметить гибкую систему изменения Workflow-задач.
Базовый Workflow для задачи Bug в TFS выглядит следующим образом:
Мы видим n статусов — начальный, конечный и переходы между состояниями. Как правило, на базовом workflow мало кто работает — всегда возникает необходимость его расширения.
Измененный процесс в нашем случае может выглядеть примерно так:
Расширение Workflow было выполнено путем добавления новых статусов и переименования существующих. Например, были добавлены статусы Rejected — для задач, которые были отклонены по каким-либо причинам, Moved — для задач, перенесенных в другой проект, Pending — для задач, которые были временно приостановлены.
Переименованные статусы: Approved стал называться In Progress, он значит, что задача была взята в работу, а Commited переименовали в Resolved, означающий, что задача была решена и требуется подтверждение ее выполнения, либо дополнительные работы по ней.
Аналогичным образом изменяется и внешний вид карточки Bug. В самом начале после создания проекта она выглядит так:
В базовом виде система предоставляет немного информации — как минимум, отсутствует шаблон для шагов воспроизведения, никаких временных метрик и других необходимых нам полей. Такой дефицит нас не устроил, поэтому внешний вид карточки мы также переработали под свои нужды.
Мы добавили колонку с полями для тайм-трекинга (Original Estimate, Remaining Work, Completed Work, Daily Work), в шаги воспроизведения был добавлен шаблон для заполнения HTML, а также появилась классификация багов по различным признакам.
Несмотря на удобство системы, при работе с Workflow в трекере TFS есть и ряд сложностей:
Мириться с этими недостатками нам не хотелось, поэтому пришлось решать возникающие проблемы. Вот что мы сделали:
P. S. Рассказ о разработанном нами инструментарии для создания дистрибутивов был представлен в рамках DevOps-митапа, который состоялся осенью в Москве.
По ссылке [15] представлены презентации 16 докладов, представленных в ходе мероприятия. Все презентации и видео выступлений будут добавлены в таблицу в конце этого топика-анонса [16].
Автор: Алексей Соловьев [17]
Автор: Positive Technologies
Источник [18]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/216248
Ссылки в тексте:
[1] Image: https://habrahabr.ru/company/pt/blog/316724/
[2] создания дистрибутивов продуктов: https://habrahabr.ru/company/pt/blog/315944/
[3] организации процесса: https://habrahabr.ru/company/pt/blog/314216/
[4] Continuous Integration: https://habrahabr.ru/company/pt/blog/313616/
[5] Image: https://habrastorage.org/files/127/ff5/32a/127ff532abaf42c38db9b77a27ecf32f.png
[6] Image: https://habrastorage.org/files/91a/035/0db/91a0350dba794406a820a3ca5836266a.png
[7] Image: https://habrastorage.org/files/c94/f29/ded/c94f29dede4543e380a3e03fc515fa66.png
[8] Image: https://habrastorage.org/files/805/5bd/a46/8055bda4632541e693f7144b72dc9688.JPG
[9] Image: https://habrastorage.org/files/edc/99d/ece/edc99dece19143be86905ad5848caac9.JPG
[10] Image: https://habrastorage.org/files/5cd/896/acc/5cd896acc3a640a89ee0f196fb66dc7e.JPG
[11] Image: https://habrastorage.org/files/e8f/e7b/b60/e8fe7bb60d6347be940cb407d4fd9f83.JPG
[12] TfsAggregator: https://github.com/tfsaggregator/tfsaggregator
[13] WitCustomControls: https://witcustomcontrols.codeplex.com/
[14] Gitlab: https://about.gitlab.com/gitlab-com/
[15] ссылке: http://www.slideshare.net/phdays
[16] топика-анонса: https://habrahabr.ru/company/pt/blog/310584/
[17] Алексей Соловьев: https://www.linkedin.com/in/alexey-solovyev
[18] Источник: https://habrahabr.ru/post/316724/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.