Составные элементы разработки ПО

Основным камнем преткновения  между менеджментом и разработкой является определение трудоемкости задач на разработку. Одним из подходов, используемым для снижения неопределенности при решении этого вопроса, является оценка предполагаемой задачи со стороны ответственного разработчика, при условии, что общая трудоемкость отдельной задачи не должна превышать 8 часов. С другой стороны, с точки зрения менеджмента, хотелось, чтобы в ходе выполнения задачи на разработку  достигался результат, значимый с точки зрения заказчика, что не всегда достижимо за 8 рабочих часов.  Для решения этой коллизии описание задачи на разработку формируется как перечень предполагаемых результатов, каждый из которых может быть достигнут за несколько часов. Определение общей трудоемкости задачи осуществляется на основе этого перечня с использованием метода PERT.

Для облегчения формирования описаний задач на разработку в JIRA были определены типовые перечни предполагаемых результатов.

 

Шаблоны описаний задач типа «разработка»

Планируемый результат

Типовое описание постановки задачи в JIRA

Компонент

  1. Разработать общий компонент обработки/модификации данных
  1. Разработать общий компонент пользовательского интерфейса
  1. Разработать/модифицировать метод обработки данных для общего класса
  1. Разработать/модифицировать модуль протоколирования (логирования)
  1. Разработать/модифицировать модуль безопасности
  1. Разработать тестовый скрипт (unit-test)

Обмен данными

  1. Разработать механизм выгрузки данных
  1. Разработать механизм загрузки данных
  1. Разработать API
  1. Разработать бота

 

Ошибка

  1. Обеспечить устранение ошибки программного кода (hotfix)
  1. Подготовить скрипт модификации базы данных
  1. Подготовить скрипт исправления (дополнения) данных (datafix)

Пользовательская задача

  1. Обеспечить отображение списка объектов (необходимо уточнить требования по сортировке, группировки, пагинации).
  1. Обеспечить вывод панели оперативного просмотра сведений об элементе списка (или связанной таблицы).
  1. Обеспечить возможность выборки (поиска) объектов по заданным атрибутам
  1. Обеспечить отображение статистических данных
  1. Обеспечить сохранение параметров поиска для последующего использования  
  1. Реализовать возможность выгрузки текущего списка в Excel
  1. Обеспечить групповые действия над выбранными элементами списка
  1. Обеспечить просмотр карточки объекта учета (элемента списка).
  1. Обеспечить добавление, просмотр, редактирование, удаление объекта учета.
  1. Обеспечить протоколирование действий пользователя.
  1. Обеспечить оповещение пользователей при выполнении заданных условий.

Печать отчета

  1. Разработать форму предварительной настройки отчета
  1. Обеспечить формирование отчета в формате ....

Развертывание

  1. Развернуть сервер базы данных
  1. Развернуть сервер приложений
  1. Развернуть клиентское приложение
  1. Развернуть требуемые сервисы
  1. Настроить доступ для следующих полномочий ...
  1. Настроить выполнение действий по расписанию
  1. Разработать утилиту конфигурации
  1. Разработать утилиту диагностики
  1. Подготовить релиз
  1. Подготовить пакет обновления  

Хранение данных

  1. Подготовить скрипт по формированию структуры базы данных
  1. Подготовить скрипт по формированию представлений
  1. Подготовить скрипт по формированию тестовых данных
  1. Подготовить скрипт по загрузке данных из файла
  1. Разработать утилиту первичной заливки данных
  1. Разработать утилиту миграции на новую версию

Контроль качества кода

  1. Проверка качества кода (код-ревью)
  1. Подготовить описание алгоритма на основании кода
  1. Проверка функциональности на соответствие заданным требованиям
  1. Сформировать описание кода программы в соответствии с установленными правилами