Ответ
В последнем проекте использовалась Jira в связке с Confluence (документация) и Bitbucket/GitLab (исходный код).
Типичный workflow для задачи:
-
Создание: Задача создается по шаблону (User Story, Bug, Task) с полями:
- Summary (краткое описание)
- Description и Acceptance Criteria (AC)
- Story Points (оценка сложности)
- Component / Epic (привязка к функциональному блоку)
-
Работа по задаче:
- Ветвление в Git:
git checkout -b feature/PROJ-123-short-description - Коммиты с ссылкой на тикет:
git commit -m "PROJ-123: Implement payment validation logic"
- Ветвление в Git:
-
Жизненный цикл статусов:
BACKLOG→TO DO→IN PROGRESS→CODE REVIEW→QA→DONE
Пример связи кода и задачи (REST endpoint):
// Реализация для тикета PAY-101 "Добавить валидацию входящего платежа"
@RestController
@RequestMapping("/api/v1/payments")
@RequiredArgsConstructor
public class PaymentController {
private final PaymentValidator validator;
private final PaymentProcessor processor;
@PostMapping
public ResponseEntity<PaymentResponse> createPayment(@Valid @RequestBody PaymentRequest request) {
// Дополнительная бизнес-валидация (требование из AC тикета PAY-101)
validator.validateBusinessRules(request);
PaymentResponse response = processor.process(request);
return ResponseEntity.status(HttpStatus.CREATED).body(response);
}
}
Польза: Система тикетов обеспечивает прозрачность, отслеживаемость прогресса и прямую связь между требованиями и кодом через комментарии и привязанные коммиты.