Я бросил себе вызов с небольшим приложением для идей, как в этом посте.

Сегодня был первый день из пяти, чтобы спланировать и запрограммировать приложение.

Чтобы измерить потраченное время и сосредоточиться, я использую https://tomato-timer.com/. Мой план состоит в том, чтобы подсчитать количество запусков этого таймера (я буду называть каждый ход помидором). Помидор-таймер основан на технике Pomodoro, о которой вы можете подробнее прочитать здесь.

Сегодня я сделал 3 помидора, что составляет примерно 1,5 часа работы (+ около 30 минут) — не считая работы над этой записью в блоге (которая, вероятно, займет у меня около часа. РЕДАКТИРОВАТЬ: у меня ушло 2 часа ..).

В этом и последующих связанных сообщениях я отвечу на следующие вопросы, вдохновленные Scrum:

  1. Что было сделано сегодня?
  2. Что-то мешает прогрессу?
  3. Что следующее?

Что было сделано сегодня?

Большая часть общего планирования была сделана сегодня. Это включает:

  • Краткие требования — включая три макета.
  • Первоначальная оценка и планирование — в том числе график выгорания.
  • Настройка нового проекта Rails, Github вкл. начальная фиксация и среда непрерывной интеграции (CI).

Далее я рассмотрю каждый из пунктов.

Краткие требования

Эти требования кратки, и я предполагаю довольно много вещей, чтобы пост был коротким. Прежде всего, мы должны остановиться на стеке:

  • Руби на рельсах, PostgreSQL

Хорошо. Далее следуют роли пользователей приложения. Эти роли важны при определении пользовательских историй:

  • Администратор (Пользователь с «божественным доступом»)
  • Пользователь (лицо, зарегистрированное в приложении)
  • Посетитель (лицо, не зарегистрированное в приложении)

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

Ниже приведены особенности приложения Idea:

  • Аутентификация пользователя (вход и выход).
  • Пользователь создает, показывает, обновляет и удаляет.
  • Идея создать, показать, обновить и удалить.
  • Ежедневный счетчик идей на пользователя
  • Твитнуть лучшую ежедневную идею на пользователя

Все пользовательские истории для каждой функции можно увидеть на этой доске Trello. Каждая функция на доске отображается в виде метки.

Я также создал несколько мокапов:

  • Целевая страница, когда вы вошли в систему как Пользователь.
  • Страница идеи шоу и
  • Страница просмотра пользователя (профиля).

Следующие макеты могут появиться в ближайшие пару дней. Все макеты можно увидеть на: https://ninjamock.com/s/94LK4

Мокапы не интерактивны, и да, я мог бы, наверное, потратить больше времени на UI и UX. Но не стесняйтесь комментировать!

Первоначальная оценка и планирование

Обычно я использую покер планирования Scrum для оценки пользовательских историй. Я действительно могу порекомендовать другим использовать этот метод, поэтому подробнее об этом читайте здесь. Тем не менее, я единственный разработчик в этом, поэтому я сделал все возможное, чтобы оценить каждую пользовательскую историю.

Когда вы используете Scrum и пытаетесь количественно оценить и отслеживать прогресс вашего проекта, у Trello есть отличный плагин для вас: https://goo.gl/ybuQ81.

Он называется Scrum For Trello и позволяет добавлять оценки в скобках перед пользовательской историей (название карточки Trello). Когда пользовательская история завершена, вы можете добавить потраченное время в скобках после пользовательской истории. Нравится эта карта.

Говоря о завершении пользовательской истории, я подхожу к определению Готово (DoD). Это определенные шаги, которые должна пройти пользовательская история, чтобы считаться выполненной. Это мое очень простое определение готовности:

  1. Реализация User Story протестирована.
  2. Реализация пользовательской истории проверена с помощью Rubocop (проверка лучших практик Ruby).
  3. Реализация User Story скомпилирована и протестирована на CI.
  4. Реализация пользовательской истории скомпилирована и развернута в реальной среде.
  5. Реализация пользовательской истории вручную тестируется (и работает) в реальной среде.

Вы можете увидеть оценки всех User Stories на публичной доске Trello.

Как упоминалось ранее, я также добавил диаграмму выгорания, которая фактически поставляется со Scrum For Trello:

Это немного сложно понять, но на самом деле я уже отстаю от графика. Тем не менее, я также очень тщательно все прикинул (учитывая небольшое количество времени, которое я намерен потратить). Завтра постараюсь догнать. Вы можете следить за прогрессом диаграммы выгорания здесь.

Настройка нового проекта Rails, включая Github. начальная фиксация и среда непрерывной интеграции (CI)

Вот момент, когда я чувствую, что немного обманывал. Несколько лет назад я создал похожее приложение, но реализовал только функцию Создание, отображение, обновление и удаление идей. Я клонировал проект с Github (проверьте это здесь), обновил и добавил несколько драгоценных камней и сделал первоначальный коммит.

Codeship настроен как CI (Что такое CI??), но в данный момент не работает из-за ошибки разрешения репозитория.

Мошенничество? Возможно, но я быстро продвинулся вперед и вместо этого провел еще несколько часов в серфинге.

Что-то мешает прогрессу?

Нет, так что давайте перейдем к следующему.

Что следующее?

Завтра я начну реализовывать User и соотносить эту модель с моделью Idea. По сути, к завтрашнему дню должны быть реализованы две следующие функции:

  • Аутентификация пользователя (вход и выход).
  • Пользователь создает, показывает, обновляет и удаляет.

Я буду держать вас в курсе, как это происходит.

Не стесняйтесь задавать вопросы или комментировать — я хотел бы получить обратную связь!