Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Предварительная документация и планирование про...

Anton
October 31, 2017

Предварительная документация и планирование проекта

Anton

October 31, 2017
Tweet

More Decks by Anton

Other Decks in Education

Transcript

  1. Зачем планировать • Привести мысли в порядок • Реалистично оценить

    ресурсы и возможности • Распараллеливание задач, распределение ролей, общее видение внутри команды • Единственный способ договориться с заказчиком • Основа для сметы • Соблюдать баланс между детализацией и запасом гибкости
  2. Архитектура проекта: глаз орла • Ключевые модули и связи между

    ними • Несколько уровней • От простого к сложному • Верхний уровень: низкая детализация • Нижний уровень: высокая детализация • Элементы: квадратики, кружочки, стрелочки, подписи, клипарты, желательно цветные
  3. Сценарии использования (юс-кейсы) • Цель → путь достижения за несколько

    шагов • Формат — простой текст: заголовок + пункты на каждый сценарий • При необходимости — разбивка по ролям (заказчик/исполнитель, пользователь/админ)
  4. Макет интерфейса • Наброски главных экранов с ключевыми возможностями •

    Реализация сценариев использования • Inkscape, OODraw, Dia, Corel Draw, Visio, … • Онлайн: balsamiq.com, draw.io, ... • ключевые слова: mocup, sketch • НЕ используйте редактор форм в любимом IDE • Человеко-машинные интерфейсы (human-computer interaction: HCI) — это целая наука • См курсы на ютюбе • Курс МФТИ+mail.ru «Дизайнер интерфейсов. Введение в специальность» на курсере
  5. Модель данных • То, что мы сохраняем между экранами и

    между запусками • Сохраняемые поля, фигурирующие в макете интерфейса, должны отражаться в модели • Реляционная (SQL) • Древовидная (NoSQL: mongo) • Плоская (настройки ключ-значение) • Граф • ...
  6. Диаграмма классов • UML (можно в свободной форме) • Шаблоны

    проектирования (design patterns) • ORM (модель данных → объектная модель) • Добавляйте только ключевые классы, всю вспомогательную мелочь вытаскивать не обязательно (кодогенерация из UML как технология не зашла)
  7. Этапы проекта и план работ • Этапы — небольшие и

    средние «пробежки» (спринты) на месяц-два-три (2-4 недели) • В конце каждой пробежки чек-лист по запланированным задачам • Корректировка планов на следующую пробежку • На каждом этапе детализированный план работ по 1-2 задачи на неделю на человека • Распараллеливание по исполнителям
  8. План до запуска №1 • Предварительная проектная документация • Скелет

    проекта • Черновик 1/2 (что-то работает) • Альфа 1/2 (работает благоприятный сценарий) • Бета 1/2 (не падает на большинстве неблагоприятных сценариев) • Пре-релиз 1/2 (мелкие ошибки, полировка) • Релиз (мелкие ошибки, которые не доставят страдание пользователям)
  9. Начиная с сегодняшнего дня и к каждому занятию • «Спринт»

    на каждые 2 недели • План — 2-3 задачи на спринт на человека • Начало занятия — «летучка» («скрам- митинг»): • Какие запланированные задачи были выполнены • Какие задачи были не выполнены, в чем причина затруднения, план обхода проблемы • План задач на новый спринт