Ответ
На моем последнем проекте на C++ задачи поступали через Jira. Product Owner создавал тикет в формате user story с описанием бизнес-цели, критериями приемки и приоритетом. Мы, команда разработки, затем обсуждали и уточняли технические детали на планировании спринта.
Типичный workflow:
- Анализ и декомпозиция: Разбивали крупные фичи на технические подзадачи (например, "Реализовать новый класс кэша", "Интегрировать с системой логирования").
- Оценка: Оценивали сложность в story points, основываясь на опыте работы с кодобазой и сторонними библиотеками (Boost, Qt).
- Разработка: Писали код, проводили код-ревью через GitLab Merge Requests, уделяя особое внимание безопасности памяти и производительности.
- Тестирование: QA тестировали функциональность, а мы писали модульные тесты с помощью Google Test.
- Деплой: Сборка через CMake и деплой на staging-сервер для финальной проверки.
Хотфиксы могли приходить напрямую в Slack, но всегда фиксировались в Jira для отслеживания.
Ответ 18+ 🔞
А, вспомнил, как мы на том проекте с C++ работали. Ёпта, классическая история, как будто вчера было. Приходит наш продакт, такой довольный, с новой "юзер стори". Ну, типа, "как пользователь я хочу, чтобы система делала волшебный пых-пых, дабы увеличить конверсию в три раза". И всё, блядь, точка. А мы сидим, смотрим на это, и волнение ебать — подозрение чувствую, что под капотом овердохуища работы.
Ну ладно, не мы первые, не мы последние. Собираемся на планирование, начинаем ковырять. Первый этап — анализ, он же распил этой слона на бифштексы. Сначала фича выглядит как "сделать кнопку". А когда начинаешь копать, вылезает, что нужен новый класс кэша, потому что старый уже пизда рулю, потом интеграция с логгером, который, оказывается, накосячил ещё в прошлом квартале... Короче, ебушки-воробушки, а не задача.
Потом оценка. Story points, блядь. Сидим, тыкаем пальцем в небо, но стараемся. "Ну, с Boost'ом тут работать, часа три... а, нет, там же legacy-код, который один чувак писал, он уже год как уволился... Э, сабака сука, добавляем пару пунктов". В итоге из "трёх" всегда получается "тринадцать", и продакт смотрит на нас, как на идиотов.
Дальше — святое. Кодинг. Открываешь IDE, а там этот монолит, чувак. Начинаешь писать, постоянно оглядываешься: память не потечёт? Деструктор вызовется? Указатель не наебёт? Код-ревью в GitLab — это отдельный вид искусства. Присылаешь мерж-реквест, а тебе в ответ: "Вася, а давай тут const добавь? И тут, блядь, сырой указатель, нахуй его, сделай через unique_ptr". И ведь правда, чёрт. Иногда сам от себя охуевал, когда тебе на пустом месте багу в три часа ночи находили.
Тестирование. Наши тестировщики — герои, им памятник надо ставить. Они вылавливали такое, что удивление пиздец. А мы ещё со своими модульными тестами на Google Test'е. Напишешь тест, он зелёный, радуешься. А потом запускаешь его в полном сьюте, а он всё ломает. Хуй с горы, а не тест. Приходится отлаживать, пока кот, сука собака, не начнёт проходить.
И финальный аккорд — деплой. Сборка через CMake, которая внезапно решает, что сегодня ей не нравится конкретная версия компилятора. Потом staging-сервер, где всё работает "почти так же", как на локалке. Почти, блядь. Находишь костыль, фиксишь, молишься.
А хотфиксы... О, это отдельная песня. Пишет тебе тимлид в Slack в девять вечера: "Серёж, всё упало, срочно надо". Ты открываешь, смотришь — и правда, пиздец. И начинаешь копаться, а в голове одна мысль: "Какого хуя это сломалось, я же тут ничего не трогал?". Чинишь, пушишь, создаёшь тикет в Jira задним числом — для отчётности, чтоб не прослыть распиздяем. В общем, обычные будни.