Профессиональные компетенции разработки программного обеспечения
Шрифт:
• Примечания – любая другая информация: пояснения, ссылки на дополнительные источники информации, и т.д.
Часто User story дополнительно разделяется на отдельные задачи. В таком случае реализация каждой истории требует выполнения одной или нескольких задач.
Управление
Чтобы руководить программистами, нужен Д. Кнут и пряник.
Описание
ИТ-проекты проходят через 5 основных фаз жизненного цикла:
• инициация;
• планирование;
• выполнение;
• мониторинг и контроль;
• завершение.
В начале жизненного цикла проекта проводится аналитика, формирование требований для программного обеспечения (в документах Техническое задание или Спецификация, или Пользовательские истории).
Далее следуют: планирование работ по проекту, формирование списка задач, их распределение, контроль над выполнением, тестированием задач, сборка и поставка ПО, анализ метрик по проведенной работе – все фазы, это неотъемлемая часть процесса разработки ПО.
Каким образом можно координировать, согласовывать и отслеживать проводимую работу? Для этого предназначены системы управления проектами и задачами, с разной функциональностью и возможностями.
Использование системы управления задачами – это не дань моде, а конкурентная необходимость, инструмент координации и эффективности работ, один из гарантов успешной реализации проекта.
Реальный отзыв команды, которая начала использовать современную систему управления проектами и задачами:
"Только при создании нового сайта мы смогли сократить срок разработки в 1,5 раза".
Для вас, как для разработчика, работа над задачей в общем случае выглядит следующим
Менеджером проекта вам назначается тикет (Issue), где описано, какую функциональность надо добавить или какую ошибку надо исправить.
Основные этапы выполнения задачи (тикета):
• Анализ задачи – вы знакомитесь с задачей, с документами и анализируете требования, имеющие отношение к вашей задаче. Если возникают вопросы по задаче, обсуждаете их с менеджером.
• Проектирование и оценка задачи – вы знакомитесь с кодом, который будет затронут в ходе кодирования. Обдумываете, как будете реализовывать задачу, какой паттерн программирования сможете использовать. Оцениваете задачу, а именно указываете количество времени, за которое планируете выполнить задачу, например: /estimate 1d 2h.
• Реализация задачи – рефакторинг (если требуется) текущего кода, написание нового кода, добавление юнит/интеграционных тестов. В ходе выполнения задачи или(и) после завершения задачи вы устанавливаете в задаче количество фактически затраченного времени, например: /spend 4h 30m.
• Деплоймент проекта – сборка проекта, установка в локальное рабочее окружение, ручное тестирование задачи.
• Контроль задачи – ревью кода, мерж кода в основную ветку разработки, проверка статуса сборки на сервере интеграции (проверка стилистики кода, качественных метрик кода, автоматических тестов).
В зависимости от системы управления и установленного процесса разработки задаче на каждом этапе устанавливаются различные статусы.
Следование процессу разработки значительно повышает эффективность работ, обеспечивает и поддерживает качество программного продукта, допускает взаимозаменяемость между членами команды, позволяет планировать и прогнозировать сроки выполнения итерации (этапа работ).
Конец ознакомительного фрагмента.