Nigar получила первую настоящую задачу — PS-41, кнопку «Добавить в корзину». Код она писать умеет, но между «задачу назначили» и «работает в production» лежит целая цепочка привычек и договорённостей, которых нет ни в одном учебнике по языку программирования: как задавать вопросы, называть ветки, оформлять pull request, отвечать на ревью. Именно они делают разработчика удобным в команде. Разберём весь путь шаг за шагом.
Путь задачи: от тикета до production
Инструменты бывают разные — Jira, GitHub Projects, Linear, GitLab, — а путь почти везде один:
- Тикет — Leyla описала ценность и критерии приёмки.
- Уточнение — вы задаёте вопросы, пока всё не станет понятно.
- Ветка — отдельная ветка от свежей
main. - Коммиты — небольшие, с понятными сообщениями.
- Pull request — описание для ревьюера.
- Ревью — коллеги читают и комментируют.
- CI — автоматические проверки: линтер, тесты, сборка.
- Merge — слияние в
main. - Деплой — пайплайн выкатывает изменение на staging и в production.
- Проверка — убеждаемся, что в production всё работает.
Каждый шаг маленький и виден всей команде, поэтому ошибка ловится рано и дёшево. Красный CI возвращает вас к коммитам, а не отправляет баг в production.
Definition of Ready и Definition of Done
Это две «границы» задачи: когда её можно брать и когда считать законченной.
| Ready — можно брать | Done — можно закрывать |
|---|---|
| Понятно, зачем задача нужна | Код проверен коллегой (review) |
| Есть критерии приёмки | Тесты написаны и проходят, CI зелёный |
| Размер оценён и помещается в спринт | Критерии приёмки выполнены |
| Известны зависимости (доступы, API, дизайн) | Задеплоено и проверено на staging |
| Есть макет или пример результата | При необходимости обновлены README и документация |
Definition of Done описан в Scrum Guide; Definition of Ready — популярная командная практика. Идея одна: неясную задачу не начинают, а недоделанную не закрывают. Если задача не Ready, не гадайте — задайте вопрос.
Как задавать вопросы
Хороший вопрос экономит время обоим: на него можно ответить сразу, без встречных вопросов. Шаблон: контекст → что пробовали → что ожидали и что получили → конкретный вопрос.
Bad:
hey, quick question
the cart doesnt work, can you help?
Good:
PS-41: "Add to cart" does nothing on staging.
I checked: POST /cart/items returns 401 in
the Network tab. My token works in Postman.
Does staging use a different auth header?Ориентир: попробуйте разобраться сами 30–60 минут, затем спросите — и не позже. Пока вы записываете вопрос, ответ нередко находится сам. А сообщение «привет, можно вопрос?» без самого вопроса заставляет собеседника ждать дважды: пишите суть сразу.
Ветка и коммиты
Ветку создают от свежей main и включают в имя ключ тикета: по имени видно, о какой задаче речь, а трекер сам связывает ветку с тикетом.
git switch main && git pull
git switch -c feature/PS-41-add-to-cart
# work, then small commits
git add src/cart
git commit -m "feat(cart): add cart button"
git push -u origin feature/PS-41-add-to-cart