Процедура конструктивного решения программистских проблем обязательна к применению, если программист столкнулся с проблемами, которые мешают ему успешно решить задачу.
Причины, мешающие успешно завершить задачу:
- нехватка информации;
- нет доступа к серверу для настройки, развертывания или тестирования;
- не получается ожидаемый результат при работе с АПИ;
- не получается повторить ошибку;
- задача заблокирована другим программистом;
- незнание API;
- нехватка квалификации.
Типичные причины
Нехватка информации
Примеры нехватки информации:
- отсутствует дизайн или спецификации;
- отсутствуют шаги для повторения ошибки, при условии, что ошибку не удалось повторить.
Что нужно сделать в строгом порядке:
- Сообщить письменно менеджеру о том, что успешное выполнение задачи заблокировано из-за отсутствия необходимой информации. Принять с менеджером решение о дальнейших шагах.
- Сообщить клиенту о том, что успешное выполнение задачи заблокировано из-за отсутствия необходимой информации. Однозначно спросить, в какой срок будет предоставлена эта информация. Ежедневно напоминать о заблокированной задаче и необходимости предоставить информацию.
Нет доступа к серверу для настройки, развертывания или тестирования
Обходное решение: провести тестирование метода на ресурсах Design and Test Lab, а затем сменить реквизиты.
Не получается ожидаемый результат при работе с АПИ
Создать отчет в папке Project/<имя_проекта>/Problem Reports о решение проблемы, который должен включать:имя_проекта>
- постановку задачи;
- ссылку на задачу в Джире;
- ссылку на документацию производителя АПИ, которая непосредственно относится к данной задаче и проблеме;
- варианты решения поставленной задачи;
- ссылку на вопрос заданный самим программистом на Stack Overflow;
- ссылки на форумы, Stack Overflow, блоги, списки рассылки, где обсуждается библиотека или АПИ.
Указать ссылку на отчет в соответствующей задаче в Джире.
Варианты решения поставленной задачи должны включать:
- краткое описание варианта;
- ссылку на бранч в Битбакете с кодом реализации варианта;
- дамп HTTP-запросов, если применимо;
- дамп HTTP-ответов, если применимо;
Сделать поиск по форумам, Stack Overflow, блогам, спискам рассылки.
Написать вопрос на Stack Overflow. Ссылку отправить коллегам, чтобы плюсанули.
Написать вопрос на группу рассылки библиотеки.
Написать вопрос в службу поддержки.
Написать разработчику (человеку) библиотеки или сервиса лично. Контакты можно найти в интернете, Твиттере, Фейсбуке, Линкедине. Успешный случай — проблема Никиты c Google Cloud Platform была решена, когда написали напрямую сотруднику Гугла.
Сообщить письменно менеджеру о том, что выполнение задачи заблокировано.
Не получается повторить ошибку
Проанализировать креш-лог ошибки.
Задача заблокирована другим программистом
Сообщить письменно менеджеру о том, что успешное выполнение задачи заблокировано другим программистом. Принять с менеджером решение о дальнейших шагах.