Download - Разработка веб-сервисов осень 2013 лекция 3
![Page 1: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/1.jpg)
Разработкавеб-сервисов
Беседа 3: Техническое задание
![Page 2: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/2.jpg)
План занятия
Принципы создания технического задания
Сбор требований, необходимость и достаточность
Согласование ТЗ и его изменений.
Дрейф требований
Декомпозиция технического задания
Оценка сроков выполнения задач, принципы оценки
2
![Page 3: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/3.jpg)
Этапы создания проекта
Этапы:
1. Анализ предметной области и постановка задачи
2. Проектирование, уточнение ТЗ
3. Разработка
4. Анализ разработанного продукта (ревью, тесты)
5. Ввод в эксплуатацию
3
![Page 4: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/4.jpg)
Зачем нужно ТЗ
Разработка — сложная и длительная работа
Заказчик и исполнитель говорят на разных языках
Все, что может быть понято не так,
будет именно не так и понято
ТЗ — инструмент коммуникаций
ТЗ позволяет увеличить шансы на успех
4
![Page 5: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/5.jpg)
Примеры ТЗ
«Экран оплатить, выбор источника средств, если привязано меньше 2 карт, то предлагать привязать»
Формальное решение:
проверить, сколько карт у пользователя (1строка кода)
отобразить модальное всплывающее окно с вопросом о привязке карты (1 строка кода).
обработать результат и направить пользователя на экран регистрации новой карты в текущем стеке навигации (4 строки кода)
Общее время выполнения задачи: 15 минут, 6 строк кода
5
![Page 6: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/6.jpg)
Примеры ТЗ
«Экран оплатить, выбор источника средств, если привязано меньше 2 карт, то предлагать привязать»
Что хотел менеджер:
На форме оплаты в селекторе выбора способа оплаты, при наличии у пользователя менее двух привязанных карт, добавить дополнительную опцию (привязать новую карту).
Реализация: проверка наличия карты и создание опции в селекторе выбора, добавление логики в обработчик событий селектора, реализация логики переключения между вкладками в правильный таб для регистрации новой карты
Общее время выполнения задачи: 2.5 часа, 40 строк кода
6
![Page 7: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/7.jpg)
Зачем нужно ТЗ
ТЗ позволяет заказчику и исполнителю
Осознать, как будет выглядеть результат работ
Уменьшить число ошибок и несоответствий
Проверить результат в соответствии с исходными требованиями
Управлять изменениями во время разработки
7
![Page 8: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/8.jpg)
Зачем нужно ТЗ
ТЗ позволяет заказчику
Спланировать ход работ, понять когда будут результаты
Определить затраты
Контролировать ход работ
Требовать соответствия всем условиям ТЗ
8
![Page 9: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/9.jpg)
Зачем нужно ТЗ
ТЗ позволяет исполнителю
Понять суть задачи и показать заказчику как будет выглядеть результат
Оценить трудозатраты и потребности в ресурсах
Спланировать работы согласно принятым практикам
Отказаться от части работ, не попавших в ТЗ
9
![Page 10: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/10.jpg)
Материалы для ТЗ
Наглядность повышает понимание
Одна диаграмма заменяет несколько страниц текста
«Много букав? Ниасилил!»
Эскизы, скриншоты, прототипы
10
![Page 11: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/11.jpg)
Материалы для ТЗ
Документация
Приложите в таск!
Ведите учет!
Опишите сценарий!
Контакты специалистов
Кто заказчик?
Кто из сотрудников может помочь?
К кому обращаться за консультацией?
11
![Page 12: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/12.jpg)
Особенности создания ТЗ
ТЗ — совместный труд заказчика и исполнителя
Заказчик знает предметную область
Исполнитель знает технические особенности
Оба — координируют поступление информации
12
![Page 13: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/13.jpg)
Особенности создания ТЗ
ТЗ — лучше говорить, чем писать
Трудности понимания акцентов
Скорость обсуждения выше
Прочитал – повторил - понял
13
![Page 14: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/14.jpg)
Особенности создания ТЗ
ТЗ — лучше писать, чем говорить
Нюансы могут забываться
ТЗ можно использовать как документацию
Обсудил голосом? Напиши резюме!
14
![Page 15: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/15.jpg)
Этапы создания ТЗ
Сбор информации
Анализ и обработка информации
Написание документа
Согласование документа с участниками
15
![Page 16: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/16.jpg)
Разделы ТЗ
Описание целей разработки и решаемых задач
Описание функциональных требований
Описание процесса запуска
Описание сроков и затрат
16
![Page 17: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/17.jpg)
Разделы ТЗ
Описание целей разработки и решаемых задач
Зачем всё это?
Описание ключевых особенностей
Описание ограничений
Описание границ ответственности
17
![Page 18: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/18.jpg)
Разделы ТЗ
Описание функциональных требований
Требования к системе в целом
Описание компонентов и взаимодействие между ними
Требования к отдельным компонентам
18
![Page 19: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/19.jpg)
Разделы ТЗ
Описание процесса запуска
Что и как будет проверяться
Какова последовательность работ
Как определяется, что работа сделана успешно
19
![Page 20: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/20.jpg)
Разделы ТЗ
Описание сроков и затрат
План-график работ
Необходимые затраты
Зависимости от внешних условий
20
![Page 21: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/21.jpg)
Согласование ТЗ
Необходимые требования
Дрейф требований
waterfall
agile
21
![Page 22: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/22.jpg)
Декомпозиция задачи
Цели декомпозиции
Снижение неопределенности
Повышение качества анализа предметной области
Повышение качества оценки затрат
Улучшение распределения ресурсов
Расстановка приоритетов
22
![Page 23: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/23.jpg)
Декомпозиция задачи
Как декомпозировать?
Разные компоненты — разные задачи
Излишняя декомпозиция — зло
Размер подзадачи зависит от методологии
Задача не должна быть длиннее итерации
От 3-4 часов до 1-3 дней
23
![Page 24: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/24.jpg)
Оценка сроков выполнения
Оценка времени
Позволяет оценивать необходимые ресурсы
Позволяет понимать прогресс по задачам
Нужно руководителю разработки
Нужно руководителю проекта
24
![Page 25: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/25.jpg)
Оценка сроков выполнения
Методы оценки
«На глаз»
Совместная оценка
Учет, статистика и анализ
25
![Page 26: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/26.jpg)
Оценка сроков выполнения
Совместная оценка
Вспоминаем Agile-методики
Привлекаем опытных разработчиков
Учитываем особенности исполнителя
26
![Page 27: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/27.jpg)
Оценка сроков выполнения
Учет и ретроспективный анализ
Типы задачи — ограниченное множество
В задачах можно вести учет затраченного времени
Для повторяющихся задач видны закономерности
27
![Page 28: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/28.jpg)
Оценка сроков выполнения
Учет и ретроспективный анализ
Что учитывать?
Как систематизировать?
28
![Page 29: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/29.jpg)
Оценка сроков выполнения
Учет и ретроспективный анализ
Учет времени. Сколько?
На любую задачу тратится время.
Занесение времени — почетная обязанность
Возможны погрешности
Мелкие задачи — точность 5-15 минут
Средние задачи — точность 15-30 минут
Большие задачи — точность 30-60 минут
29
![Page 30: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/30.jpg)
Оценка сроков выполнения
Учет и ретроспективный анализ
Учет времени. Когда?
Сразу же?
Несколько раз в день?
Раз-два в неделю?
В конце недели?
30
![Page 31: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/31.jpg)
Оценка сроков выполнения
Учет и ретроспективный анализ
Учет времени. Когда?
1. Всё зависит от методологии
2. Учёт в конце итерации не работает
31
![Page 32: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/32.jpg)
Оценка сроков выполнения
Учет и ретроспективный анализ
Как систематизировать?
Каждой задаче — свой тип
Каждой задаче — свои метки
32
![Page 33: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/33.jpg)
Оценка сроков выполнения
Учет и ретроспективный анализ
Метки
33
![Page 34: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/34.jpg)
Оценка сроков выполнения
Учет и ретроспективный анализ
Метки
34
![Page 35: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/35.jpg)
Оценка сроков выполнения
Учет и ретроспективный анализ
35
![Page 36: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/36.jpg)
Оценка сроков выполнения
Учет и ретроспективный анализ
36
![Page 37: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/37.jpg)
Оценка сроков выполнения
Учет и ретроспективный анализ
37
![Page 38: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/38.jpg)
Оценка сроков выполнения
Итог любого метода — приблизительная оценка затрат
Почему приблизительная?
38
![Page 39: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/39.jpg)
Оценка сроков выполнения
Оценка времени
Everybody lies © сами знаете кто
Все программисты — оптимисты © Брукс
Всё будет хорошо
Психология — дело тонкое
Не легко признаваться в ошибках
39
![Page 40: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/40.jpg)
Оценка сроков выполнения
Оценка времени
Не учитываются затраты на
Проектирование
Тестирование и ревью
40
![Page 41: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/41.jpg)
Оценка сроков выполнения
Оценка времени
Не учитывается обмен данными
Попарное общение сотрудников
Общие совещания
Не учитывается переключение контекста
41
![Page 42: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/42.jpg)
Оценка сроков выполнения
Оценка времени
Не учитывается передача знаний
Цели
Особенности
Технологии
План работ
42
![Page 43: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/43.jpg)
Оценка сроков выполнения
Оценка времени
Что делать?
Оценивать и улучшать качество оценки
43
![Page 44: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/44.jpg)
Резюме
Качество технического задания – качество продукта
Задачи меняются. И будут меняться всегда
Верить нельзя никому. Особенно разработчику
«Анализируй это»
44
![Page 45: Разработка веб-сервисов осень 2013 лекция 3](https://reader034.vdocuments.net/reader034/viewer/2022042615/55abe2c41a28ab2f298b45ac/html5/thumbnails/45.jpg)
Отчетность
45
Домашнее задание
создание технического задания, в котором прописано:
что должен из себя представлять проект в целом
описаны компоненты
описаны основные функции проекта
описаны интерфейсы (сделан прототип)
описаны сценарии использования