💡 Проект "Умная лампа" - Базовая функциональность
📋 Паспорт спринта
| Параметр | Значение |
|---|---|
| Предмет | Интернет вещей (элективный курс) |
| Класс | 9 класс |
| Спринт № | 6 из 36 |
| Тип занятия | Проектный спринт - инициация |
| Продолжительность | 90 минут |
| Формат | Agile проектная работа в командах |
🎯 Цели спринта (Sprint Goals)
Основная цель:
Начать реализацию проекта “Умная лампа” с базовой функциональностью управления цветом и яркостью
Конкретные результаты спринта:
- Сформированы проектные команды с распределением ролей
- Создан MVP (Minimum Viable Product) умной лампы
- Реализовано управление RGB цветами и яркостью
- Работает кнопочное управление режимами
- Настроена проектная документация и Git workflow
- Проведено первое демо для стейкхолдеров
🔄 Sprint Retrospective предыдущего спринта (0-5 мин)
Проверка готовности к проекту:
1🏗️ АРХИТЕКТУРНАЯ ГОТОВНОСТЬ:
2- "Покажите схемы умных ламп, которые спроектировали дома"
3- "Какие технологии планируете использовать?"
4- "Что было самым сложным в планировании архитектуры?"
5- "Какие вопросы остались открытыми?"
Формирование команд:
- Анализ домашних проектов для понимания интересов
- Балансировка команд по техническим навыкам
- Учет предпочтений по типам задач (hardware/software/design)
Настройка проектного мышления: “Следующие 4 спринта мы работаем как настоящие IoT-компании. Сегодня создаем MVP, который можно показать инвесторам!”
🕐 Sprint Timeline (90 минут)
⚡ SPRINT START (0-10 мин): “Project Kickoff Meeting”
Демонстрация целевого продукта (4 мин):
-
Показ коммерческих умных ламп:
- Philips Hue: цена 4000-8000 руб
- Xiaomi Mi: цена 1500-3000 руб
- Наша цель: функциональность на 500-1000 руб
-
Видение проекта:
- “К концу спринта 9 у нас будет готовый продукт”
- “Сегодня создаем базовую версию, которая уже впечатляет”
Проектные роли и команды (6 мин):
1👥 СОСТАВ КОМАНДЫ (3-4 человека):
2🔧 Product Owner - отвечает за функциональность
3💻 Tech Lead - архитектура и сложный код
4🎨 UX Designer - пользовательский интерфейс
5🧪 QA Engineer - тестирование и документация
6
7📊 ПРИНЦИПЫ ФОРМИРОВАНИЯ:
8• Баланс технических навыков
9• Разнообразие интересов и сильных сторон
10• Взаимное дополнение участников
📚 PROJECT BRIEFING (10-25 мин): Техническое задание
Микро-блок 1 (10-15 мин): Требования к MVP
1🎯 MVP "УМНАЯ ЛАМПА" v1.0:
2
3ОБЯЗАТЕЛЬНАЯ ФУНКЦИОНАЛЬНОСТЬ:
4✅ RGB LED с плавным переходом цветов
5✅ Регулировка яркости (0-100%)
6✅ Минимум 5 предустановленных режимов:
7 • ВЫКЛ
8 • Теплый белый (расслабление)
9 • Холодный белый (работа)
10 • Цветной цикл (вечеринка)
11 • Ночник (тусклый красный)
12
13✅ Управление физическими кнопками
14✅ Сохранение последнего состояния
15✅ Плавные переходы между режимами
16✅ Стабильная работа без зависаний
Микро-блок 2 (15-20 мин): Техническая архитектура
1🏗️ АРХИТЕКТУРА СИСТЕМЫ:
2
3HARDWARE:
4• Raspberry Pi 4
5• RGB LED (или 3 отдельных LED)
6• 2-3 кнопки управления
7• Резисторы и breadboard
8• Опционально: корпус/диффузор
9
10SOFTWARE STACK:
11• Python 3.9+
12• gpiozero (основная библиотека)
13• colorzero (работа с цветами)
14• json (сохранение настроек)
15• threading (параллельные процессы)
16
17АРХИТЕКТУРНЫЕ ПРИНЦИПЫ:
18• Модульность (разделение на классы)
19• Расширяемость (легко добавить функции)
20• Надежность (обработка ошибок)
21• Удобство использования (интуитивный интерфейс)
Микро-блок 3 (20-25 мин): Проектный workflow
1📅 AGILE WORKFLOW:
2
3SPRINT PLANNING (сегодня):
4• Декомпозиция задач
5• Оценка сложности
6• Распределение работы
7
8DAILY WORK:
9• Ежедневные короткие созвоны (в чатах)
10• Обновление прогресса
11• Помощь заблокированным
12
13SPRINT REVIEW:
14• Демонстрация работающего продукта
15• Получение обратной связи
16• Планирование следующего спринта
17
18ИНСТРУМЕНТЫ:
19• Git для версионирования кода
20• Shared документы для планирования
21• Фото/видео для документации процесса
☕ BREAK (25-30 мин): Техническая пауза
🛠️ ПРАКТИЧЕСКИЙ БЛОК (30-75 мин): Разработка MVP
Этап 1: Sprint Planning в командах (30-40 мин)
Декомпозиция задач:
1📋 SPRINT BACKLOG:
2
3USER STORIES:
41. "Как пользователь, я хочу включать/выключать лампу одной кнопкой"
52. "Как пользователь, я хочу переключать между цветовыми режимами"
63. "Как пользователь, я хочу регулировать яркость"
74. "Как пользователь, я хочу, чтобы лампа запоминала последний режим"
85. "Как пользователь, я хочу плавных переходов между состояниями"
9
10ТЕХНИЧЕСКИЕ ЗАДАЧИ:
11• Настроить GPIO пины и LED
12• Создать класс SmartLamp
13• Реализовать цветовые режимы
14• Добавить управление кнопками
15• Реализовать сохранение состояния
16• Протестировать стабильность работы
Planning Poker для оценки задач:
1🃏 ОЦЕНКА СЛОЖНОСТИ (Story Points):
21 - Очень просто (30 минут)
32 - Просто (1 час)
43 - Средне (2 часа)
55 - Сложно (половина дня)
68 - Очень сложно (целый день)
Этап 2: Настройка среды разработки (40-50 мин)
Подключение оборудования:
1🔌 СХЕМА ПОДКЛЮЧЕНИЯ RGB ЛАМПЫ:
2
3ВАРИАНТ A (RGB LED):
4• Red pin → GPIO 18 (PWM)
5• Green pin → GPIO 19 (PWM)
6• Blue pin → GPIO 20 (PWM)
7• Common cathode → GND через резистор
8
9ВАРИАНТ B (3 отдельных LED):
10• Red LED → GPIO 18 + резистор 330Ω → GND
11• Green LED → GPIO 19 + резистор 330Ω → GND
12• Blue LED → GPIO 20 + резистор 330Ω → GND
13
14КНОПКИ УПРАВЛЕНИЯ:
15• Mode button → GPIO 2 + pull-up
16• Brightness button → GPIO 3 + pull-up
17• Power button → GPIO 4 + pull-up
Инициализация проекта:
1📁 СТРУКТУРА ПРОЕКТА:
2smart_lamp/
3├── main.py # Основная программа
4├── lamp_controller.py # Класс управления лампой
5├── color_modes.py # Предустановленные режимы
6├── config.json # Настройки и сохранение состояния
7├── utils.py # Вспомогательные функции
8└── README.md # Документация проекта
Этап 3: Разработка базовой функциональности (50-65 мин)
Создание основного класса:
1# Псевдокод класса SmartLamp
2class SmartLamp:
3 def __init__(self):
4 # Инициализация GPIO пинов
5 # Загрузка сохраненного состояния
6 # Настройка кнопок
7
8 def set_color(self, red, green, blue):
9 # Установка RGB цвета с плавным переходом
10
11 def set_brightness(self, level):
12 # Установка яркости 0-100%
13
14 def apply_mode(self, mode_name):
15 # Применение предустановленного режима
16
17 def save_state(self):
18 # Сохранение текущего состояния
19
20 def smooth_transition(self, target_color, duration):
21 # Плавный переход между цветами
Реализация цветовых режимов:
1# Псевдокод цветовых режимов
2COLOR_MODES = {
3 'off': {'r': 0, 'g': 0, 'b': 0, 'brightness': 0},
4 'warm_white': {'r': 255, 'g': 147, 'b': 41, 'brightness': 80},
5 'cool_white': {'r': 255, 'g': 255, 'b': 255, 'brightness': 100},
6 'party': {'mode': 'rainbow_cycle', 'speed': 2},
7 'night': {'r': 255, 'g': 0, 'b': 0, 'brightness': 10}
8}
Этап 4: Интеграция и тестирование (65-75 мин)
Сборка MVP:
1🔧 ИНТЕГРАЦИОННЫЕ ТЕСТЫ:
2✅ Все LED загораются правильными цветами
3✅ Кнопки корректно переключают режимы
4✅ Яркость регулируется плавно
5✅ Состояние сохраняется после перезапуска
6✅ Переходы между режимами плавные
7✅ Система не зависает при интенсивном использовании
Подготовка к демо:
- Отработка сценария презентации
- Подготовка эффектных режимов
- Проверка стабильности на 5-минутном тесте
🎯 MVP DEMO (75-85 мин): Первая презентация продукта
Формат: “Pitch инвесторам”
Структура презентации команды (2 мин):
-
Проблема и решение (30 сек)
- “Обычные лампы скучные и дорогие в управлении”
- “Наша лампа дает полный контроль за разумную цену”
-
Демонстрация функций (60 сек)
- Включение/выключение
- Переключение всех режимов
- Регулировка яркости
- Показ плавных переходов
-
Техническая изюминка (30 сек)
- Самая сложная реализованная функция
- Что планируется добавить в следующих спринтах
Роли во время демо:
- Product Owner: Представляет концепцию и рынок
- Tech Lead: Объясняет техническую реализацию
- UX Designer: Показывает удобство использования
- QA Engineer: Демонстрирует надежность
🔄 SPRINT RETRO (85-90 мин): Анализ и планирование
Ретроспектива команд:
1📊 АНАЛИЗ СПРИНТА:
2
3ЧТО ПОЛУЧИЛОСЬ ХОРОШО:
4• [Каждая команда называет 2-3 успеха]
5
6ЧТО МОЖНО УЛУЧШИТЬ:
7• [Технические и процессные проблемы]
8
9ЧТО ИЗУЧИТЬ К СЛЕДУЮЩЕМУ СПРИНТУ:
10• [Новые технологии и навыки]
11
12БЛОКЕРЫ И ЗАВИСИМОСТИ:
13• [Что мешает работе команды]
Preview спринта #7: “Следующий спринт: добавляем датчики окружения - лампа будет реагировать на свет, звук и движение!”
📝 Sprint Backlog (Домашнее задание)
Командная работа между спринтами
User Story: Как проектная команда, мы хотим улучшить наш MVP и подготовиться к добавлению датчиков.
Обязательные задачи для всех команд:
1🔧 ТЕХНИЧЕСКОЕ СОВЕРШЕНСТВОВАНИЕ:
2
31. ОПТИМИЗАЦИЯ КОДА:
4 • Рефакторинг для лучшей читаемости
5 • Добавление комментариев к сложным частям
6 • Оптимизация плавности переходов
7
82. РАСШИРЕНИЕ ФУНКЦИОНАЛЬНОСТИ:
9 • Добавить минимум 2 новых цветовых режима
10 • Реализовать "режим будильника" с плавным включением
11 • Добавить возможность кастомных цветов
12
133. СТАБИЛЬНОСТЬ:
14 • Тестирование работы в течение 1 часа без сбоев
15 • Обработка ошибочных ситуаций
16 • Корректное завершение при Ctrl+C
17
184. ДОКУМЕНТАЦИЯ:
19 • Обновить README с инструкцией по использованию
20 • Документировать API класса SmartLamp
21 • Создать troubleshooting guide
Ролевые задачи:
1👤 ПО РОЛЯМ В КОМАНДЕ:
2
3🔧 PRODUCT OWNER:
4• Исследовать функции коммерческих умных ламп
5• Создать список приоритетных улучшений
6• Подготовить пользовательские сценарии для тестирования
7
8💻 TECH LEAD:
9• Изучить библиотеки для работы с датчиками (следующий спринт)
10• Оптимизировать архитектуру для расширения
11• Исследовать возможности threading и async
12
13🎨 UX DESIGNER:
14• Спроектировать схему корпуса для лампы
15• Продумать эргономику кнопок
16• Создать цветовую палитру для новых режимов
17
18🧪 QA ENGINEER:
19• Создать набор автоматических тестов
20• Документировать найденные баги
21• Подготовить plan тестирования для датчиков
Исследовательские задачи (бонус):
1🔬 ПОДГОТОВКА К СПРИНТУ #7:
2
31. ИЗУЧЕНИЕ ДАТЧИКОВ:
4 • Принципы работы фоторезистора
5 • Как подключать PIR датчик движения
6 • Возможности микрофонного модуля
7
82. АЛГОРИТМЫ АДАПТАЦИИ:
9 • Как лампа должна реагировать на освещенность?
10 • Логика включения по движению
11 • Реакция на уровень шума
12
133. ЭНЕРГОЭФФЕКТИВНОСТЬ:
14 • Как экономить энергию в автономных режимах?
15 • Оптимизация яркости по времени суток
Формат отчета команды:
1СПРИНТ #6 ОТЧЕТ: MVP "Умная лампа"
2==================================
3
4🏷️ КОМАНДА: [название команды]
5👥 УЧАСТНИКИ: [список с ролями]
6📅 ДАТА: [дата завершения]
7
8🎯 ДОСТИГНУТЫЕ ЦЕЛИ:
9✅ [Список реализованных функций]
10✅ [Технические достижения]
11✅ [Решенные проблемы]
12
13📊 МЕТРИКИ MVP:
14• Количество строк кода: ___
15• Количество цветовых режимов: ___
16• Время отклика на кнопку: ___ мс
17• Время работы без сбоев: ___ часов
18
19🔧 ТЕХНИЧЕСКАЯ АРХИТЕКТУРА:
20[Схема компонентов и их взаимодействия]
21
22🎬 ДЕМОНСТРАЦИЯ:
23[Ссылки на видео работы или описание тестов]
24
25🐛 ИЗВЕСТНЫЕ ПРОБЛЕМЫ:
26[Список багов и ограничений текущей версии]
27
28🚀 ПЛАНЫ НА СПРИНТ #7:
29[Что планируете добавить с датчиками]
30
31📚 ИЗУЧЕННЫЕ ТЕХНОЛОГИИ:
32[Новые библиотеки, концепции, подходы]
33
34💡 ИНСАЙТЫ:
35[Самые важные открытия и сложности]
📊 Sprint Metrics (Оценивание)
Критерии оценки проектной работы:
| Критерий | Отлично (5) | Хорошо (4) | Удовлетворительно (3) |
|---|---|---|---|
| Функциональность MVP | Все заявленные функции работают стабильно | Основные функции работают, есть мелкие проблемы | Базовая функциональность есть |
| Качество кода | Модульный, читаемый код с комментариями | Хорошая структура, понятная логика | Работающий код |
| Командная работа | Эффективное сотрудничество, четкие роли | Хорошая координация | Команда работает вместе |
| Проектный подход | Agile процессы, планирование, документация | Понимание проектной работы | Базовые элементы планирования |
| Техническое творчество | Оригинальные решения, оптимизации | Стандартные решения с улучшениями | Следование инструкциям |
| Презентационные навыки | Убедительное демо, четкая структура | Хорошая презентация функций | Показали основные возможности |
Проектные метрики:
- Velocity: Количество выполненных story points
- Code Quality: Читаемость, модульность, документированность
- Stability: Время работы без сбоев
- User Experience: Интуитивность управления
- Team Collaboration: Эффективность работы команды
Sprint Badges:
- 🏆 MVP Master - за создание полнофункционального прототипа
- 👥 Team Leader - за отличную командную работу
- 🎨 UX Pioneer - за лучший пользовательский интерфейс
- 🔧 Code Architect - за качественную архитектуру кода
- 💡 Innovation Award - за творческие технические решения
- 🎯 Demo Star - за лучшую презентацию продукта
- 📋 Project Manager - за отличную организацию проектной работы
🎒 Sprint Resources
Технические требования:
Для каждой команды (3-4 человека):
- Raspberry Pi 4 (один на команду)
- RGB LED или 3 отдельных LED (красный, зеленый, синий)
- 3-4 кнопки для управления
- Breadboard и соединительные провода
- Резисторы (330Ω для LED, 10kΩ для кнопок)
- Опционально: корпус или диффузор для LED
Дополнительные компоненты:
- Потенциометр для аналогового управления яркостью
- Дополнительные LED для эффектов
- Buzzer для звуковых уведомлений
Программное обеспечение:
1📦 PYTHON STACK:
2✅ gpiozero 1.6+ (основная библиотека)
3✅ colorzero (работа с RGB цветами)
4✅ json (сохранение конфигурации)
5✅ threading (параллельные процессы)
6✅ time (управление временем и задержками)
Проектные инструменты:
- Git для контроля версий (опционально)
- Shared документы для планирования
- Мессенджер для команды
- Камера для документирования процесса
Методические материалы:
- Шаблон технического задания
- Гид по Agile процессам для школьников
- Примеры проектной документации
- Чек-лист качества MVP
- Рубрика оценки командной работы
🔧 Sprint Facilitation Tips
Управление проектными командами:
Формирование команд:
1🎯 ПРИНЦИПЫ КОМАНД:
2• Баланс сильных и развивающихся учащихся
3• Разнообразие интересов (hardware/software/design)
4• Учет личных предпочтений и совместимости
5• Ротация лидерства между проектами
Поддержка ролей:
- Product Owner: Помочь понять бизнес-логику и пользователей
- Tech Lead: Консультации по архитектуре и сложным задачам
- UX Designer: Развитие чувства пользовательского опыта
- QA Engineer: Обучение методам тестирования
Проектный ментoring:
Для команд, которые опережают:
- Дополнительные технические вызовы
- Роль менторов для других команд
- Исследование продвинутых функций
Для команд, которые отстают:
- Упрощение scope без потери качества
- Дополнительная техническая поддержка
- Фокус на одной ключевой функции
Для застрявших команд:
- Диагностика проблем (технические vs процессные)
- Пошаговое разблокирование
- Временное изменение ролей
Поддержание мотивации:
Техники:
- Регулярные мини-демо (каждые 20 минут)
- Празднование маленьких побед
- Сравнение с коммерческими аналогами
- Визуализация прогресса команд
Работа с неудачами:
- “Неудача - это данные для улучшения”
- Фокус на процессе, а не результате
- Помощь в рефакторинге проблемных решений
🔗 Связь с последующими спринтами
Roadmap проекта “Умная лампа”:
1📅 РАЗВИТИЕ ПРОДУКТА:
2
3Спринт #6 (MVP): Базовое управление цветом и яркостью
4 ↓
5Спринт #7: Датчики окружения (свет, движение, звук)
6 ↓
7Спринт #8: Сетевые возможности (веб-интерфейс, API)
8 ↓
9Спринт #9: Финализация (корпус, документация, презентация)
Техническая эволюция:
1🔧 АРХИТЕКТУРНОЕ РАЗВИТИЕ:
2Простая структура → Модульная архитектура → Микросервисы → Готовый продукт
3Локальное управление → Сенсорные данные → Сетевая интеграция → Умная автоматизация
Навыки команды:
1💪 КОМПЕТЕНЦИИ:
2• Спринт #6: Agile workflow, MVP thinking
3• Спринт #7: Sensor integration, data processing
4• Спринт #8: Network programming, web technologies
5• Спринт #9: Product finalization, presentation skills
📈 Sprint Success Metrics
Спринт считается успешным, если:
- ✅ Все команды создали работающий MVP с базовой функциональностью
- ✅ Команды освоили Agile подход к разработке
- ✅ Код структурирован и готов к расширению
- ✅ Демонстрации продуктов впечатляют и мотивируют
- ✅ Команды готовы к добавлению сложной функциональности
Индикаторы проектной зрелости:
- Команды самостоятельно планируют и декомпозируют задачи
- Эффективно распределяют роли и ответственность
- Фокусируются на пользовательской ценности
- Итеративно улучшают продукт
- Документируют процесс и результаты
Техническая готовность:
- Понимание принципов модульной архитектуры
- Навыки командной разработки
- Опыт интеграции hardware и software
- Готовность к работе с датчиками и сетевыми технологиями
🚀 Этот спринт знаменует переход от индивидуального обучения к командной проектной работе. Учащиеся получают опыт создания реальных продуктов и работы в профессиональных процессах разработки!
Ключевой результат: “Мы можем создавать настоящие IoT-продукты в команде и готовы конкурировать с коммерческими решениями!” 💡👥🚀