Я бросил себе вызов с небольшим приложением для идей, как в этом посте.
Сегодня был первый день из пяти, чтобы спланировать и запрограммировать приложение.
Чтобы измерить потраченное время и сосредоточиться, я использую https://tomato-timer.com/. Мой план состоит в том, чтобы подсчитать количество запусков этого таймера (я буду называть каждый ход помидором). Помидор-таймер основан на технике Pomodoro, о которой вы можете подробнее прочитать здесь.
Сегодня я сделал 3 помидора, что составляет примерно 1,5 часа работы (+ около 30 минут) — не считая работы над этой записью в блоге (которая, вероятно, займет у меня около часа. РЕДАКТИРОВАТЬ: у меня ушло 2 часа ..).
В этом и последующих связанных сообщениях я отвечу на следующие вопросы, вдохновленные Scrum:
- Что было сделано сегодня?
- Что-то мешает прогрессу?
- Что следующее?
Что было сделано сегодня?
Большая часть общего планирования была сделана сегодня. Это включает:
- Краткие требования — включая три макета.
- Первоначальная оценка и планирование — в том числе график выгорания.
- Настройка нового проекта 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). Это определенные шаги, которые должна пройти пользовательская история, чтобы считаться выполненной. Это мое очень простое определение готовности:
- Реализация User Story протестирована.
- Реализация пользовательской истории проверена с помощью Rubocop (проверка лучших практик Ruby).
- Реализация User Story скомпилирована и протестирована на CI.
- Реализация пользовательской истории скомпилирована и развернута в реальной среде.
- Реализация пользовательской истории вручную тестируется (и работает) в реальной среде.
Вы можете увидеть оценки всех User Stories на публичной доске Trello.
Как упоминалось ранее, я также добавил диаграмму выгорания, которая фактически поставляется со Scrum For Trello:
Это немного сложно понять, но на самом деле я уже отстаю от графика. Тем не менее, я также очень тщательно все прикинул (учитывая небольшое количество времени, которое я намерен потратить). Завтра постараюсь догнать. Вы можете следить за прогрессом диаграммы выгорания здесь.
Настройка нового проекта Rails, включая Github. начальная фиксация и среда непрерывной интеграции (CI)
Вот момент, когда я чувствую, что немного обманывал. Несколько лет назад я создал похожее приложение, но реализовал только функцию Создание, отображение, обновление и удаление идей. Я клонировал проект с Github (проверьте это здесь), обновил и добавил несколько драгоценных камней и сделал первоначальный коммит.
Codeship настроен как CI (Что такое CI??), но в данный момент не работает из-за ошибки разрешения репозитория.
Мошенничество? Возможно, но я быстро продвинулся вперед и вместо этого провел еще несколько часов в серфинге.
Что-то мешает прогрессу?
Нет, так что давайте перейдем к следующему.
Что следующее?
Завтра я начну реализовывать User и соотносить эту модель с моделью Idea. По сути, к завтрашнему дню должны быть реализованы две следующие функции:
- Аутентификация пользователя (вход и выход).
- Пользователь создает, показывает, обновляет и удаляет.
Я буду держать вас в курсе, как это происходит.
Не стесняйтесь задавать вопросы или комментировать — я хотел бы получить обратную связь!