Разработать приложение, которое позволит автоматизировать ценообразование для клиентов, с учётом различных наценок, скидок на товар, маркетинговых скидок. Приложение будет включать личный кабинет администратора для управления существующими акциями, с возможностью создания новостей и управления расположением баннеров.
2
Задачи проекта:
Интегрироваться с ИС 1C для сбора данных о продажах клиента
Разработать Back-End модуль ценообразования
Разработать Front-End модуль, который отображает список товаров с ценой до и после скидки
Разработать личный кабинет пользователя компании по управлению акциями
Разработать модуль отчетности, для проверки корректности расчета скидок
3
4
Что будем делать:
1. Соберем требования и ожидания со всех стейкхолдеров, сформируем user stories, сделаем декомпозицию крупных функциональных блоков.
Для того чтобы приложение помогало решать задачи пользователей, мы уделяем особое внимание общению с пользователями и другими ключевыми стейкхолдерами. Чтобы закончить приложение в короткие сроки, особое внимание мы уделяем проектному управлению и планированию. Это позволяет заранее формировать бэклог задач, правильно его приоритезировать и быть прозрачными перед всеми участниками проекта.
2. Интегрируемся с внутренними системами.
Поскольку одной из основных ценностей этого приложения будет являться возможность предоставления скидки клиенту на основании прошлых продаж, мы уделим особое внимание вопросам интеграции с 1C. Кроме разработки, мы обязательно включаем написание различного рода тестов, встраивание в общий CI/CD.
3. Разработаем алгоритм расчета ценообразования.
Данный блок потребует тщательного анализа и внимания к качеству кода, поэтому за его разработку будут ответственны наш сеньор Python разработчик и Аналитик. После каждой итерации, полученные результаты будут сверяться с основными пользователями. Мы учтём все имеющиеся диаграммы и построим новые.
4. Разработаем личный кабинет для маркетолога компании.
Для данного блока проведем аналитику пользовательского пути и разработаем функционал, который позволит удобно управлять скидками.
5. Сформируем проектную документацию.
Во время разработки, мы активно ведем проектную документацию, в которой отражаем всю информацию о проекте, схемы взаимодействия систем, указание по конфигурированию параметров системы, набор скриптов и другой информации, которая поможет ознакомиться с проектом любому стейкхолдеру в компании.
Бизнес-результат:
Вы получите готовое приложение, которое позволит сократить издержки при работе с клиентами, благодаря автоматизированной системе расчёта конечных цен, а также снизить человеческий фактор ошибок при ручном расчёте. Личный кабинет пользователя, позволит управлять существующими акциями и создавать новые.
5
Технологии:
Что касается Python
В своей работе мы используем два фреймворка - Django и FastAPI.
Django используем для простых проектов и МВП, там где что-то с более-менее сложной бизнес логикой используем FastAPI.
Для гарантии качества решения используем как Code Review так и инструменты Quality Gates (black, flake8, isort, detect-secrets, bandit, mypy)
Приложения разрабатываем Cloud Ready в соответствии со стандартом 12 factor (https://12factor.net/)
Вся инфраструктурная часть наших проектов разрабатывается сразу по IaC, клиент получает не только кодовую базу, но и пайплайны сборки и деплоя (Gitlab-CI), а также терраформ, helm и ansible плейбуки, где это применимо.
Также мы можем помочь обучить девопсов заказчика использованию вышеуказанных инструментов, если они это не умеют.
Сборка и деплой - gitlab-ci, helm
Среда исполнения - Kubernetes
Шина/брокер - kafka или RabbitMQ
База данных PostgreSQL (если нужна аналитическая, то ClickHouse, нереляционная MongoDB)
6
Команда проекта:
Фиксированная цена: Project manager (middle) - 240 часов Python developer (middle) - 320 часов Python developer (senior) - 200 часов Angular developer (middle) - 320 часов Angular developer (senior) - 160 часов Analyst (middle)- 320 часов Designer (middle) - 120 часов
Время работы команды: Часы - 1 680 Недели - 12 Спринты - 6 Месяцы - 3
7
Команда проекта:
Открытый контракт: Project manager (middle) - 200 часов Python developer (middle) - 290 часов Python developer (senior) - 180 часов Angular developer (middle) - 280 часов Angular developer (senior) - 140 часов Analyst (middle)- 200 часов Designer (middle) - 120 часов
Время работы команды: Часы - 1 410 Недели - 10 Спринты - 5 Месяцы - 2,5
8
Анализ трудозатрат по разделам:
Фиксированная цена
9
Анализ трудозатрат по разделам:
Открытый контракт
10
Как ведется работа:
11
Дорожная карта
Упрощает понимание стратегии развития благодаря визуализации работы команды, цены, планируемых часов и занятости
Управление проектом
Планирование, оценка, распределение задач по спринтам, согласования в Zoom, стендапы и общение в Telegram
Таск трекер — Monday
В качестве трекера задач используем Monday, в режиме реального времени следим за спринтами и выполненными задачами
Документация — Notion
Всё для понимания проекта: описание, глоссарий, раздел для разработчиков, описания инфраструктуры, нужных интеграций, UX и другого
Артефакты по результатам работы над проектом:
Кодовая база;
Проектная документация;
Эксплуатационная документация, если требуется;
Скрипты разворачивания продукта в зависимости от требований (Kubernetes/docker/VM на базе gitlab-ci или jenkins);
Результаты нагрузочного тестирования и скрипты его поведения.