СВФУ им. М.К. Аммосова · Институт развития перспективных проектов в образовании · ДПП ПП, 250 ч

Квест «Цифровое управление проектами и данными»

Пройдите 4 мира, победите боссов промежуточных аттестаций, выполните миссии стажировки и вытяните билет финального демоэкзамена. На выходе — ИТ-квалификация «Менеджер цифровых проектов и данных».

+10 XPза прочитанный конспект темы
+10 XPза каждый верный ответ в квизе
+50 XPза победу над боссом модуля
6 значковза пройденные миры, стажировку и финал
1
Уровень
Новичок
0 XPдо следующего уровня: 100 XP
Карта курса
Рекомендуем идти по порядку, но все миры открыты. Выберите мир, чтобы открыть его темы.
🏝️
Мир 1 · Модуль 1 · 36 часов · зачёт

Основы цифрового управления проектами и трансформации процессов

Учимся говорить на языке проектов: методологии, моделирование бизнес-процессов в BPMN, метрики эффективности и техническое задание на модернизацию ИС.

ID 206 · ПродвинутыйID 226 · БазовыйЗ2 З3 У2 У3
🧩
Значок
«Архитектор процессов»
1.1
Основы проектного управления в цифровой среде
10 ч · лекция + семинар · Сметанина Т.А.
Не начато
Цель уровня: различать методологии управления проектами и понимать, что меняется, когда проект «переезжает» в цифровую среду.

Что такое проект

Проект — временная деятельность для создания уникального продукта, услуги или результата. У проекта есть начало и конец, цель и ограничения. Классическая модель ограничений — «железный треугольник»: содержание, сроки, бюджет. Меняя одну сторону, вы неизбежно затрагиваете остальные (а вместе с ними — качество).

Проектное управление — применение знаний, навыков и инструментов, чтобы проект достиг цели в рамках ограничений. Жизненный цикл: инициация → планирование → исполнение → мониторинг и контроль → завершение.

Четыре подхода

ПодходСутьКогда подходит
Waterfall (каскад)Последовательные фазы; следующая начинается после завершения предыдущей. Подробный план заранее.Требования ясны и стабильны: строительство, госзакупки, внедрение типовой системы.
AgileФилософия гибкости: короткие итерации, обратная связь, ценность для клиента важнее следования плану.Требования меняются, нужен быстрый результат.
ScrumФреймворк Agile: спринты 1–4 недели, роли (Product Owner, Scrum Master, команда), события (планирование, daily, обзор, ретроспектива), артефакты (бэклог продукта и спринта, инкремент).Разработка цифрового продукта небольшой командой.
KanbanВизуализация потока работ на доске (К выполнению → В работе → Готово) и WIP-лимиты — ограничение числа задач в работе.Поток однотипных задач: поддержка, согласования, бэк-офис.

Цифровая трансформация проектной деятельности

Это не просто «перенести Excel в Jira». Меняется сама логика работы:

  • задачи, сроки и ответственные живут в единой системе (Jira, Битрикс24, MS Project), а не в переписке;
  • маршруты согласования автоматизированы — система сама передаёт задачу следующему участнику;
  • статус проекта виден в реальном времени на дашборде, а отчёты собираются автоматически;
  • решения принимаются на основе данных: метрики сроков, бюджета, рисков.
Роль менеджера цифровых проектов — связующее звено между бизнесом и ИТ: формулирует требования, выбирает методологию, настраивает процессы в ИС, читает данные проекта и превращает их в управленческие решения.

Словарь уровня

Бэклог — упорядоченный список работ по продукту.
Спринт — фиксированная итерация, за которую команда создаёт инкремент.
WIP-лимит — максимум задач на этапе доски одновременно.
Стейкхолдер — заинтересованная сторона проекта.
🎯 Миссия семинара

Выберите организацию отрасли «Экономика, финансы и управление» (банк, налоговая служба, администрация, страховая компания). Найдите или опишите кейс цифровизации проектного управления в ней.

  1. Каким было управление проектами до цифровизации?
  2. Какие инструменты внедрили?
  3. Какую методологию вы бы выбрали для этого проекта и почему: Waterfall, Scrum или Kanban?
  4. Какие 2 метрики показали бы эффект изменений?

Результат — 5–7 слайдов или одна страница для обсуждения на семинаре.

1. Что входит в «железный треугольник» ограничений проекта?
Классический треугольник: содержание (scope), сроки и стоимость. Изменение одной стороны влияет на остальные.
2. Команда поддержки получает поток однотипных заявок и часто «захлёбывается». Какой подход и инструмент помогут лучше всего?
Kanban визуализирует поток, а WIP-лимиты не дают брать в работу больше задач, чем команда способна закончить.
3. Кто в Scrum отвечает за приоритеты в бэклоге продукта?
Product Owner управляет бэклогом продукта и максимизирует ценность. Scrum Master помогает команде работать по Scrum.
1.2
Реинжиниринг бизнес-процессов и моделирование в BPMN 2.0
16 ч · лекция + 2 практических · Курнева М.В.
Не начато
Цель уровня: строить модели процессов «как есть» и «как должно быть», находить узкие места и переносить процесс в маршрут Jira.

Зачем моделировать процессы

Бизнес-процесс — последовательность действий, которая превращает входы в результат, ценный для клиента. Пока процесс «живёт в головах», его нельзя ни улучшить, ни автоматизировать. Модель делает его видимым.

Реинжиниринг — переосмысление процесса ради резкого улучшения показателей: сроков, стоимости, качества. Работа идёт в два шага:

As-Is («как есть»)
Фиксируем текущий процесс честно, со всеми повторами, ожиданиями и ручными операциями.
To-Be («как должно быть»)
Целевой процесс: лишние шаги убраны, параллельные операции распараллелены, рутина автоматизирована.

Три нотации

  • BPMN 2.0 — международный стандарт (OMG), понятен и бизнесу, и ИТ, исполняется в BPM-движках (Camunda).
  • EPC — событийная цепочка процессов: события и функции чередуются, связаны логическими операторами.
  • IDEF0 — функциональная модель «чёрных ящиков»: вход, выход, управление, механизм.

Азбука BPMN 2.0

ЭлементКак выглядитЧто означает
СобытиеКруг (тонкий — начало, жирный — конец)Что-то происходит: «Получена заявка», «Проект запущен».
ЗадачаПрямоугольник со скруглёнными угламиДействие: «Проверить бюджет». Бывает пользовательской, сервисной (автоматической), ручной.
Шлюз XORРомб с «×»Выбор одного пути: «Бюджет согласован? Да / Нет».
Шлюз ANDРомб с «+»Параллельное выполнение веток и их последующее слияние.
Пул и дорожкиБольшой прямоугольник с полосамиПул — участник (организация), дорожки — роли внутри него.
Поток управленияСплошная стрелкаПорядок выполнения задач.

Как искать узкие места

  • повторные согласования одного и того же документа разными людьми;
  • последовательные шаги, которые могли бы идти параллельно (шлюз AND);
  • ожидание без уведомления: исполнитель не знает, что задача пришла;
  • ручной перенос данных между системами;
  • «петли возврата» на доработку без чётких критериев.
От модели к Jira. Задачи из модели To-Be становятся статусами workflow (например, «Черновик → На согласовании → Утверждено → В работе → Закрыто»), шлюзы — условиями переходов, а сервисные задачи — правилами автоматизации.
🎯 Миссия практических занятий 1–2

Процесс As-Is: инициатор пишет служебную записку о проекте → начальник отдела визирует → записка уходит в финансовый отдел → финансист проверяет бюджет → записка возвращается начальнику отдела на повторную визу → директор утверждает → секретарь вручную пишет команде письмо о запуске.

  1. Постройте модель As-Is в Camunda Modeler или MS Visio с пулом и дорожками для каждой роли.
  2. Отметьте не меньше двух узких мест.
  3. Постройте модель To-Be: уберите повторную визу, добавьте шлюз XOR «Бюджет в лимите?» и сервисную задачу «Автоуведомление команды».
  4. Перенесите To-Be в workflow тестовой Jira: статусы и переходы.
1. Какой элемент BPMN нужен, чтобы показать выбор одного из путей («Да» или «Нет»)?
Исключающий шлюз XOR направляет поток ровно по одной ветке в зависимости от условия.
2. Чем модель To-Be отличается от As-Is?
As-Is — то, как процесс работает сейчас, To-Be — то, каким он должен стать.
3. Что из перечисленного — типичное «узкое место»?
Повторное согласование тем же человеком удлиняет цикл и не добавляет ценности.
1.3
Оценка эффектов и запрос на модернизацию проектных ИС
8 ч · лекция + практическое · Охлопкова Е.Р.
Не начато
Цель уровня: посчитать, окупится ли цифровой инструмент, и оформить запрос на его внедрение в виде ТЗ.

Метрики эффективности

МетрикаФормулаКак читать
KPIИзмеримый показатель цели: «срок согласования ≤ 1 дня», «доля проектов в срок ≥ 85%».Должен быть конкретным, измеримым и привязанным ко времени.
ROIROI = (Выгода − Затраты) / Затраты × 100%> 0 — вложение окупилось. ROI 150% означает, что каждый рубль вернул 1,5 рубля прибыли сверх себя.
NPVNPV = Σ CFt / (1 + r)t − I0Учитывает стоимость денег во времени. NPV > 0 — проект стоит делать.

Пример расчёта

Отдел из 10 менеджеров тратит на согласование одного проекта 5 рабочих дней по 1 часу в день. В год проходит 120 проектов. Внедрение Jira с автомаршрутами сокращает согласование до 1 дня.

  • Экономия: (5 − 1) ч × 120 проектов × 10 участников = 4 800 часов в год.
  • При стоимости часа 600 ₽ — 2 880 000 ₽ в год.
  • Затраты: лицензии и обучение 900 000 ₽ → ROI = (2 880 000 − 900 000) / 900 000 × 100% ≈ 220%.

Запрос на модернизацию: структура ТЗ

Техническое задание (ориентир — ГОСТ 34.602) отвечает на вопросы «что», «зачем» и «как проверить»:

  1. Общие сведения: наименование системы, заказчик, сроки.
  2. Назначение и цели: какую проблему решаем, целевые KPI.
  3. Характеристика объекта автоматизации: текущий процесс (As-Is).
  4. Требования к системе: функциональные, к данным, к ИБ и доступу.
  5. Состав и содержание работ.
  6. Порядок контроля и приёмки: по каким метрикам примем результат.
Хороший запрос всегда опирается на цифры: «сократить срок согласования с 5 до 1 дня», а не «сделать удобнее».
🎯 Миссия практического занятия 3
  1. Для процесса из миссии 1.2 оцените экономию времени после внедрения автомаршрута и посчитайте ROI.
  2. Составьте фрагмент ТЗ на внедрение модуля автоматизации проектного учёта: цели, 5 функциональных требований, 3 метрики приёмки.
1. Затраты 500 тыс. ₽, выгода 800 тыс. ₽. Чему равен ROI?
(800 − 500) / 500 × 100% = 60%.
2. Чем NPV отличается от ROI?
NPV приводит будущие поступления к сегодняшней стоимости через ставку дисконтирования r.
3. Какая формулировка требования в ТЗ лучше?
Требование должно быть конкретным и проверяемым.
⚔️
Босс мира: промежуточная аттестация
2 ч · защита модели BPMN и презентация ТЗ · зачёт
Не побеждён
Бюрократический Дракон

Он питается лишними визами и бесконечными согласованиями. Победить его можно только чистой моделью To-Be.

Задание
Постройте модель процесса «Согласование и запуск цифрового проекта» в BPMN 2.0 (уровень To-Be), устранив не менее двух узких мест модели As-Is. Обоснуйте выбор методологии (Agile или Waterfall) для этого проекта.

Чек-лист победы (условия «зачёта»)

Поражение («незачёт»): нарушен синтаксис BPMN, не найдены узкие места, нет обоснования методологии, работа выполнена не полностью.
🐍
Мир 2 · Модуль 2 · 72 часа · зачёт

Основы программирования на Python для анализа данных

Самый большой мир курса. Пишем скрипты, которые снимают с проектного менеджера рутину: считают риски, чистят реестры, рассчитывают EVM и собирают отчёты.

ID 28 · ПродвинутыйЗ1 У1 ОПД 1Васильев А.Н.
🐍
Значок
«Укротитель Python»
2.1
Синтаксис Python и структуры данных для управления проектами
24 ч · 2 лекции + 6 практических
Не начато
Цель уровня: установить среду и написать первые скрипты: переменные, условия, циклы, списки и словари.

Среда разработки

Установите Anaconda — в неё уже входят Python, Jupyter Notebook и Pandas. Для скриптов-файлов используйте VS Code с расширением Python. Jupyter удобен для экспериментов, файл .py — для готового инструмента.

Базовые типы данных

ТипПримерПрименение в проекте
int / floatbudget = 1_200_000Бюджет, часы, вероятность риска
strstatus = "Активен"Статусы, названия задач
boolis_late = TrueФлаги: просрочено, согласовано
listteam = ["Иванов", "Петрова"]Список участников или задач
dict{"id": 1, "p": 4}Одна запись реестра: поле → значение

Условия и циклы

if / elif / else выбирает действие по условию, for перебирает элементы списка, while повторяет, пока условие истинно. Отступ в 4 пробела — часть синтаксиса.

# Фильтрация реестра рисков по приоритету
risks = [
    {"id": 1, "name": "Срыв поставки оборудования", "p": 4, "i": 5, "status": "Активен"},
    {"id": 2, "name": "Уход ключевого специалиста", "p": 2, "i": 4, "status": "Активен"},
    {"id": 3, "name": "Рост курса валют", "p": 5, "i": 3, "status": "Закрыт"},
]

for r in risks:
    score = r["p"] * r["i"]          # рейтинг = вероятность × влияние if r["status"] == "Активен" and score >= 15:
        print(f"Высокий риск #{r['id']}: {r['name']} (рейтинг {score})")
    elif r["status"] == "Активен":
        print(f"Под наблюдением #{r['id']} (рейтинг {score})")
# Длительность задачи в рабочих днях from datetime import date, timedelta

def workdays(start, end):
    days, d = 0, start
    while d <= end:
        if d.weekday() < 5:          # 0–4: пн–пт
            days += 1
        d += timedelta(days=1)
    return days

print(workdays(date(2026, 11, 2), date(2026, 11, 20)))  # 15
Функция (def) — многоразовый блок кода. Если вы копируете один и тот же фрагмент второй раз, пора оформить его в функцию.
🎯 Миссии практических занятий 1–6
  1. Установите Anaconda и VS Code, запустите print("Привет, проект!").
  2. Напишите функцию расчёта длительности задачи в рабочих днях.
  3. Отфильтруйте список рисков: выведите только активные с рейтингом не ниже 15.
  4. Посчитайте, сколько задач у каждого ответственного (словарь «ФИО → количество»).
  5. Проверка договора по правилам: сумма не больше лимита, срок не больше 90 дней, есть подпись — выведите список нарушений.
  6. Объедините всё в один скрипт с функциями и комментариями.
1. Какой тип данных лучше подходит для одной записи реестра рисков (ID, описание, вероятность, статус)?
Словарь хранит пары «поле → значение», это естественная форма записи таблицы.
2. Что выведет print(4 * 5 >= 15 and "Активен" == "Закрыт")?
20 >= 15 — True, но строки не равны — False. True and False = False.
3. Зачем в Python отступы?
В Python отступ — часть синтаксиса. Неверный отступ даёт ошибку IndentationError или меняет логику.
2.2
Файлы, таблицы и Pandas для проектной аналитики
26 ч · лекция + 4 практических
Не начато
Цель уровня: загружать реестры проектов из CSV и Excel, чистить их, строить сводные таблицы и считать отклонения по методу освоенного объёма (EVM).

Pandas за 5 минут

DataFrame — таблица в памяти: строки и именованные столбцы, как лист Excel, только управляемый кодом. Основные операции:

ЗадачаКод
Загрузить CSV / Excel / JSONpd.read_csv(), pd.read_excel(), pd.read_json()
Посмотреть данныеdf.head(), df.info(), df.describe()
Удалить дубликатыdf.drop_duplicates()
Отфильтровать строкиdf[df["Статус"] == "В работе"]
Сгруппироватьdf.groupby("Ответственный")["Часы"].sum()
Сводная таблицаdf.pivot_table(index=..., columns=..., values=..., aggfunc="sum")
Сохранитьdf.to_excel("out.xlsx", index=False)

Earned Value Management (EVM)

Метод освоенного объёма сравнивает три величины на дату отчёта:

  • PV (плановый объём) — сколько работ по плану должно быть выполнено, в деньгах;
  • EV (освоенный объём) — плановая стоимость фактически выполненных работ;
  • AC (фактическая стоимость) — сколько реально потрачено.
ПоказательФормулаСигнал
SV — отклонение по срокамEV − PV< 0 — отставание
CV — отклонение по стоимостиEV − AC< 0 — перерасход
SPI — индекс выполнения сроковEV / PV< 1 — медленнее плана
CPI — индекс выполнения стоимостиEV / AC< 1 — дороже плана
import pandas as pd

df = pd.read_csv("projects.csv", sep=";")    # Проект; Ответственный; PV; EV; AC; Часы
df = df.drop_duplicates()

df["SV"]  = df["EV"] - df["PV"]
df["CV"]  = df["EV"] - df["AC"]
df["SPI"] = (df["EV"] / df["PV"]).round(2)
df["CPI"] = (df["EV"] / df["AC"]).round(2)

problem = df[(df["SPI"] < 1) | (df["CPI"] < 1)]   # отстают или перерасходуют
load = df.pivot_table(index="Ответственный", values="Часы", aggfunc="sum")

with pd.ExcelWriter("evm_report.xlsx") as w:
    df.to_excel(w, sheet_name="Все проекты", index=False)
    problem.to_excel(w, sheet_name="Проблемные", index=False)
    load.to_excel(w, sheet_name="Загрузка")
Для чтения и записи .xlsx нужна библиотека openpyxl (в Anaconda она уже есть). Русские CSV часто разделены точкой с запятой — указывайте sep=";".
🎯 Миссии практических занятий 7–10
  1. Загрузите учебный реестр проектов, выведите info() и найдите дубликаты.
  2. Постройте сводную таблицу загрузки ресурсов: ответственный × месяц × часы.
  3. Рассчитайте SV, CV, SPI, CPI для каждого проекта.
  4. Сохраните отчёт в Excel на трёх листах и подсветите проекты с CPI < 0,9.
1. PV = 100, EV = 80, AC = 120. Что происходит с проектом?
SPI = 0,8 < 1 — отставание; CPI = 0,67 < 1 — перерасход.
2. Какой метод удаляет повторяющиеся строки?
dropna удаляет строки с пропусками, а drop_duplicates — дубликаты.
3. Как посчитать суммарные часы по каждому ответственному?
groupby разбивает таблицу по значению столбца, sum агрегирует каждую группу.
2.3
Автоматизация отчётов и интеграция данных
18 ч · лекция + 2 практических
Не начато
Цель уровня: извлекать данные из текстов регулярными выражениями, понимать логику API и превращать сырой отчёт в готовый документ одной командой.

Регулярные выражения (regex)

Regex — язык шаблонов для поиска в тексте: номеров договоров, дат, сумм, e-mail в служебных записках и выгрузках.

ШаблонЗначениеПример
\dцифра\d{4} → 2026
\sпробельный символ№\s*\d+ → «№ 45»
+ * ?1 и более / 0 и более / 0 или 1\d+ → любое число
( )группа для извлечения№\s*(\d+) → «45»
import re
text = "Договор № 45/2026 от 12.03.2026 на сумму 1 200 000 руб., срок до 30.06.2026"

number = re.search(r"№\s*([\d/]+)", text).group(1)           # '45/2026'
dates  = re.findall(r"\d{2}\.\d{2}\.\d{4}", text)               # ['12.03.2026', '30.06.2026']
amount = int(re.search(r"сумму\s*([\d\s]+)руб", text).group(1).replace(" ", ""))

API: как системы разговаривают

API — договорённость, по которой одна программа запрашивает данные у другой. Jira, Битрикс24 и CRM отдают данные по HTTP-запросу в формате JSON. Логика: адрес (endpoint) + метод (GET — получить, POST — создать) + авторизация (токен) → ответ JSON.

import os, requests
url = "https://ваша-компания.atlassian.net/rest/api/3/search"
resp = requests.get(url, params={"jql": "project = PRJ AND status != Done"},
                    auth=(os.environ["JIRA_USER"], os.environ["JIRA_TOKEN"]))  # токен не пишем в коде!
issues = resp.json()["issues"]

Автоотчёт: сырой Excel → корпоративный шаблон → PDF или CSV

import pandas as pd
raw = pd.read_excel("status_raw.xlsx")
rep = (raw.rename(columns={"task": "Задача", "owner": "Ответственный", "st": "Статус"})
          .sort_values("Статус"))
summary = rep["Статус"].value_counts()

rep.to_csv("crm_import.csv", sep=";", index=False, encoding="utf-8-sig")  # для импорта в CRM/ERP
rep.to_html("status.html", index=False)   # далее HTML → PDF, например библиотекой weasyprint
encoding="utf-8-sig" нужен, чтобы Excel и 1С правильно открыли кириллицу из CSV.
🎯 Миссии практических занятий 11–12

Напишите скрипт, который берёт сырой отчёт из Excel, приводит его к корпоративному шаблону (названия столбцов, порядок, сортировка), добавляет сводку по статусам и сохраняет:

  • итоговый PDF-отчёт о статусе проекта или
  • CSV-файл для импорта в CRM/ERP.

Бонус: извлеките regex-ом номера договоров из столбца «Комментарий».

1. Какой шаблон найдёт дату вида 12.03.2026?
Две цифры, точка, две цифры, точка, четыре цифры. Точку экранируем: \.
2. Где правильно хранить токен для доступа к API Jira?
Токен в коде легко утекает через репозиторий или пересылку файла.
3. Какой HTTP-метод обычно используют для получения списка задач?
GET читает данные, POST создаёт, PUT и PATCH изменяют, DELETE удаляет.
⚔️
Босс мира: промежуточная аттестация
4 ч · защита скрипта автоматизации · зачёт
Не побеждён
Гидра Реестра Рисков

У неё пятьдесят голов-рисков, и каждый день отрастают новые. Отрубить нужно только самые опасные — с рейтингом 15 и выше.

Задание
Дан файл project_risks.csv (ID, Описание, Вероятность 1–5, Влияние 1–5, Статус). Напишите скрипт, который: 1) загружает данные; 2) считает рейтинг риска = Вероятность × Влияние; 3) отбирает риски со статусом «Активен» и рейтингом ≥ 15; 4) сохраняет результат в high_priority_risks.xlsx.
# Каркас-подсказка: допишите недостающее import pandas as pd

try:
    df = pd.read_csv("project_risks.csv", sep=";")
except FileNotFoundError:
    print("Файл не найден"); raise SystemExit

# 1. рассчитайте столбец «Рейтинг» # 2. отфильтруйте: Статус == "Активен" и Рейтинг >= 15 # 3. отсортируйте по убыванию рейтинга и сохраните в Excel

Чек-лист победы

Поражение: скрипт не запускается, данные теряются, выходной файл не того формата, нет обработки ошибок, код нечитаем.
🔭
Мир 3 · Модуль 3 · 34 часа · зачёт · вариативный

Аналитика данных и BI-визуализация в управлении проектами

Учимся видеть проект в данных: чистим источники, строим дашборды и прогнозируем сроки и бюджет. Углублённый трек; по итогам входной оценки модуль может проходиться в сокращённом объёме.

ID 28 · ID 226З1 З3 У1 У3Сметанина Т.А. · Габышева А.М. · Ломакин А.С.
📊
Значок
«Повелитель дашбордов»
3.1
Данные как ресурс и подготовка данных
12 ч · лекция + 2 практических · Сметанина Т.А.
Не начато
Цель уровня: понимать путь данных проекта от источника до решения и уметь превращать «грязные» данные в чистые.

Жизненный цикл данных проекта

Сбор (Jira, Excel, ERP, 1С, опросы) → хранение → очистка и подготовка → анализ → визуализация → решение → архивирование. До 80% времени аналитика уходит на подготовку: без неё любой дашборд врёт.

Шесть болезней «грязных» данных

ПроблемаПримерЛечение в Pandas
ДубликатыЗадача выгружена дваждыdrop_duplicates()
ПропускиНе указан ответственныйisna().sum(), fillna("Не назначен")
Разные форматы«12.03.26» и «2026-03-12»pd.to_datetime(..., dayfirst=True, errors="coerce")
Опечатки и пробелы«Активен », «активен»str.strip().str.capitalize()
ВыбросыБюджет задачи 10 млрд ₽фильтр по разумному диапазону
Числа как текст«1 200 000 ₽»str.replace(...) + astype(float)
import pandas as pd
df = pd.read_csv("project_metrics.csv", sep=";")
print(df.isna().sum())                                   # сколько пропусков в каждом столбце

df = df.drop_duplicates(subset="ID")
df["Статус"] = df["Статус"].str.strip().str.capitalize()
df["Ответственный"] = df["Ответственный"].fillna("Не назначен")
for c in ["План_окончание", "Факт_окончание"]:
    df[c] = pd.to_datetime(df[c], dayfirst=True, errors="coerce")
df["Бюджет"] = (df["Бюджет"].astype(str).str.replace(r"[^\d,]", "", regex=True)
                             .str.replace(",", ".").astype(float))
Никогда не чистите исходный файл вручную: сохраните скрипт очистки. Тогда следующую выгрузку можно обработать за секунды и одинаково.
🎯 Миссии практических занятий 1–2
  1. Проведите «медосмотр» учебного реестра проектов: сколько дубликатов, пропусков, некорректных дат?
  2. Напишите скрипт очистки (Pandas) или выполните её в Power Query (Power BI).
  3. Сравните число строк и пропусков до и после — это ваш отчёт о качестве данных.
1. Что делает параметр errors="coerce" в pd.to_datetime?
Некорректные даты становятся NaT, их потом можно найти и разобрать.
2. На какой этап обычно уходит больше всего времени аналитика?
Подготовка данных — самый трудоёмкий этап, по разным оценкам до 60–80% времени.
3. Статусы «Активен» и «активен » считаются разными. Как это исправить?
strip убирает пробелы по краям, capitalize приводит регистр к единому виду.
3.2
Базовые методы и визуализация данных (BI-дашборды)
10 ч · лекция + 2 практических · Габышева А.М.
Не начато
Цель уровня: выбирать правильный тип диаграммы и собирать дашборд статуса проекта, который руководитель понимает за 5 секунд.

Описательная статистика

Среднее (чувствительно к выбросам), медиана (середина ряда, устойчива к выбросам), минимум и максимум, стандартное отклонение (разброс). В Pandas всё это даёт df.describe(). Пример: средняя просрочка задач — 6 дней, медиана — 1 день. Значит, большинство задач почти в срок, а среднее портят несколько сильно просроченных.

Какую диаграмму выбрать

ВопросДиаграмма
Как меняется показатель во времени?Линейный график
Сравнение категорий (отделы, проекты)Столбчатая или горизонтальная бар-диаграмма
План и график работДиаграмма Ганта
Доля частей в целом (не больше 5 частей)Кольцевая диаграмма
Риски: вероятность × влияниеТепловая карта или матрица рисков
Одно ключевое числоKPI-карточка со стрелкой тренда

Анатомия дашборда статуса проекта

  1. Верх: 3–5 KPI-карточек — % выполнения, SPI, CPI, остаток бюджета.
  2. Центр: сроки (Гант или отклонения по задачам) и бюджет (план и факт).
  3. Низ: загрузка команды и топ рисков.
  4. Фильтры: по ответственному, периоду, статусу.
import matplotlib.pyplot as plt
df["Отклонение_дн"] = (df["Факт_окончание"] - df["План_окончание"]).dt.days
top = df.nlargest(10, "Отклонение_дн")

colors = ["#e0533d" if d > 0 else "#1fb894" for d in top["Отклонение_дн"]]
plt.figure(figsize=(9, 5))
plt.barh(top["Задача"], top["Отклонение_дн"], color=colors)
plt.axvline(0, color="gray", linewidth=1)
plt.title("Топ-10 задач по отклонению от срока")
plt.xlabel("Дней (больше 0 — просрочка)")
plt.tight_layout(); plt.savefig("deviation.png", dpi=150)
10 правил визуализации для руководства (кратко): одна мысль — один график; заголовок-вывод; подписи осей и единицы; не больше 5–6 цветов; красный только для проблем; без 3D; ось столбцов от нуля; сортировка по значению; легенда рядом с данными; удаляйте всё, что не несёт смысла.
🎯 Миссии практических занятий 3–4

Постройте интерактивный дашборд статуса проекта в Power BI или на Python (Matplotlib или Seaborn): сроки, бюджет и загрузка команды. Покажите его соседу и спросите: «Что с проектом?» Если ответ занимает дольше 5 секунд, упрощайте.

1. Нужно сравнить бюджеты 20 проектов. Какая диаграмма подходит?
Круговая на 20 категорий нечитаема, это прямой критерий «незачёта» в модуле.
2. Средняя просрочка 6 дней, медиана 1 день. Что это значит?
Медиана устойчива к выбросам и лучше показывает типичную задачу.
3. Что ставить в верхнюю часть дашборда?
Взгляд начинается сверху слева: там место главным числам.
3.3
Анализ данных в задачах управления проектами
10 ч · лекция + практическое · Ломакин А.С.
Не начато
Цель уровня: прогнозировать, когда закончится проект и сколько он будет стоить, и объяснять это стейкхолдерам.

От описания к прогнозу

Описательная аналитика отвечает «что произошло», диагностическая — «почему», прогнозная — «что будет», предписывающая — «что делать». Менеджеру проекта чаще всего нужен прогноз сроков и стоимости завершения.

Прогноз по EVM

ПоказательФормулаСмысл
BAC—Бюджет проекта по плану
EACBAC / CPIПрогноз полной стоимости при сохранении текущей эффективности
ETCEAC − ACСколько ещё потратим
VACBAC − EACОжидаемое отклонение бюджета (< 0 — перерасход)
Прогноз длительностиПлан. длительность / SPIОжидаемый срок при текущем темпе

Пример: BAC = 10 млн ₽, CPI = 0,8, AC = 6 млн ₽, плановая длительность 10 месяцев, SPI = 0,9. Тогда EAC = 12,5 млн ₽, ETC = 6,5 млн ₽, VAC = −2,5 млн ₽, срок ≈ 11,1 месяца.

import numpy as np
# Освоенный объём по месяцам (млн ₽): прогноз месяца завершения линейным трендом
months = np.array([1, 2, 3, 4, 5, 6])
ev     = np.array([0.9, 1.7, 2.6, 3.4, 4.1, 5.0])
k, b = np.polyfit(months, ev, 1)        # ev ≈ k·месяц + b
BAC = 10
print(f"Темп: {k:.2f} млн/мес, завершение ≈ на {(BAC - b) / k:.1f} месяце")

Аналитический отчёт для стейкхолдеров

  1. Вывод в одном предложении: «Проект завершится с опозданием примерно на месяц и перерасходом 25%».
  2. Доказательства: 2–3 графика и ключевые метрики.
  3. Причины: где возникли отклонения.
  4. Рекомендации: что сделать и какой будет эффект.
🎯 Миссия практического занятия 5

По историческим данным учебного проекта спрогнозируйте EAC, VAC и срок завершения. Подготовьте аналитический отчёт на одну страницу по структуре «вывод → доказательства → причины → рекомендации».

1. BAC = 4 млн ₽, CPI = 0,8. Чему равен EAC?
EAC = BAC / CPI = 4 / 0,8 = 5 млн ₽.
2. VAC отрицательный. Что это значит?
VAC = BAC − EAC; если прогнозная стоимость выше плановой, VAC < 0.
3. С чего начинать аналитический отчёт для руководства?
Руководитель должен сразу увидеть ответ; подробности — ниже.
⚔️
Босс мира: промежуточная аттестация
2 ч · защита дашборда проекта · зачёт
Не побеждён
Туманный Голем Отчётности

Он прячет состояние проекта за сотнями строк таблиц. Развеять туман может только понятный дашборд.

Задание
По датасету project_metrics.csv (50 задач: статус, плановые и фактические сроки, бюджет, ответственный) постройте интерактивный дашборд: 1) диаграмма Ганта или бар-чарт отклонений по срокам; 2) KPI исполнения бюджета; 3) фильтр по ответственным.

Чек-лист победы

Поражение: некорректные типы визуализации (например, круговая на 20 категорий), нет подписей или легенды, данные не очищены, вывода нет или он не соответствует данным.
🏰
Мир 4 · Модуль 4 · 34 часа · зачёт

Цифровые платформы, ИС и автоматизация проектного управления

Строим цифровой дом проекта: рабочее пространство в Jira и Confluence, автоматизация маршрутов, интеграция с CRM и ERP, безопасность и ролевой доступ.

ID 206 · ID 226З2 З3 У2 У3Ломакин А.С., ООО «Аватек»
🛡️
Значок
«Страж платформ»
4.1
Цифровые платформы и ИС управления проектами
12 ч · лекция + 2 практических
Не начато
Цель уровня: ориентироваться в ИС управления проектами и настроить рабочее пространство проекта в Jira и Confluence.

Ландшафт систем

СистемаСильная сторонаТипичное применение
JiraЗадачи, workflow, Scrum- и Kanban-доски, JQL-поиск, автоматизацияИТ-проекты, проектный офис
ConfluenceБаза знаний и документации, шаблоны, связь со страницами JiraТЗ, протоколы, регламенты
MS ProjectКалендарное планирование, диаграмма Ганта, критический путь, ресурсыWaterfall-проекты, строительство
Битрикс24Задачи, CRM, документы и коммуникации в одном месте; российский продуктМалый и средний бизнес, госсектор

Строительные блоки Jira

  • Проект — контейнер задач со своими настройками.
  • Типы задач: эпик (крупная цель), история (ценность для пользователя), задача, подзадача, ошибка.
  • Поля: исполнитель, приоритет, срок, метки, пользовательские поля (например, «Бюджет»).
  • Workflow — набор статусов и переходов между ними с условиями, валидаторами и постфункциями.
  • Доска (Scrum или Kanban) и бэклог — визуальное представление работы.
Пример workflow «Согласование проекта»: Черновик → На согласовании → (Возвращено на доработку) → Утверждено → В работе → Закрыто. Условие перехода «Утверждено» — только роль «Руководитель проекта».
🎯 Миссии практических занятий 1–2
  1. Создайте проект в тестовой Jira и пространство в Confluence, свяжите их.
  2. Настройте типы задач и пользовательское поле «Бюджет».
  3. Соберите workflow согласования не меньше чем из четырёх статусов с условиями переходов.
  4. Создайте шаблон страницы «Протокол совещания» в Confluence.
1. Где удобнее хранить ТЗ и регламенты проекта?
Confluence — база знаний с версионностью и связью с задачами Jira.
2. Что такое workflow в Jira?
Workflow задаёт жизненный цикл задачи: какие статусы есть и кто может их менять.
3. Какой инструмент силён в расчёте критического пути?
MS Project строит сетевой график и вычисляет критический путь.
4.2
Автоматизация проектных процессов и интеграция данных
12 ч · лекция + 2 практических
Не начато
Цель уровня: настраивать правила автоматизации и понимать, как ИС проекта обменивается данными с CRM и ERP.

Формула любого правила: ТРИГГЕР → УСЛОВИЕ → ДЕЙСТВИЕ

ТриггерУсловиеДействие
Статус изменён на «На согласовании»Бюджет > 500 000 ₽Назначить финансового директора и отправить уведомление
Срок задачи через 2 дняСтатус ≠ «Готово»Напомнить исполнителю в мессенджере
Все подзадачи закрыты—Перевести родительскую задачу в «На проверке»
По расписанию: пятница 16:00Проект = PRJОтправить сводку стейкхолдерам

Способы интеграции

  • REST API — система запрашивает данные у другой по требованию (pull).
  • Вебхук — система сама отправляет HTTP-сообщение другой, когда происходит событие (push). Пример: сделка в CRM переходит в статус «Выиграна» → вебхук создаёт проект в Jira.
  • Low-code-коннекторы (встроенные интеграции, сервисы автоматизации) — связки без программирования.
  • Обмен файлами (CSV, XML) по расписанию — простейший вариант для ERP и 1С.
Правило выбора: сначала встроенная автоматизация, затем low-code, и только потом собственный код. Чем проще решение, тем дешевле его поддерживать.
🎯 Миссии практических занятий 3–4
  1. Настройте автоуведомление при переходе задачи в «На согласовании».
  2. Настройте триггер: закрыты все подзадачи — родитель уходит на проверку.
  3. Настройте еженедельную автоматическую сводку для стейкхолдеров.
  4. Нарисуйте схему интеграции «CRM → Jira → ERP»: какие данные, каким способом и когда передаются.
1. Чем вебхук отличается от обычного запроса к API?
API — «спросил и получил» (pull), вебхук — «тебе сообщили» (push).
2. Из каких частей состоит правило автоматизации?
Событие запускает правило, условие фильтрует, действие выполняется.
3. Что выбрать в первую очередь для автоматизации рутины?
Встроенные средства дешевле внедрять и поддерживать.
4.3
Проектирование цифрового решения, управление доступом и основы ИБ
8 ч · лекция + практическое
Не начато
Цель уровня: закладывать безопасность в решение с самого начала, строить ролевую модель доступа и защищать проектные данные.

Security by Design

Безопасность — не надстройка «потом», а требование с первого дня проекта. Требования к ИБ попадают в ТЗ наравне с функциональными: кто и к чему имеет доступ, как хранятся данные, как ведётся журнал действий, что делать при инциденте. Если в системе обрабатываются персональные данные — действует 152-ФЗ «О персональных данных».

RBAC и принцип наименьших привилегий

RBAC (Role-Based Access Control) — права выдаются не людям, а ролям; человек получает роль. Принцип наименьших привилегий: у роли ровно те права, без которых она не может работать, и ни одного лишнего.

РольЧтениеСозданиеРедактир.УдалениеЗакрытие
Инициатор✔ свои✔✔ черновик——
Руководитель проекта✔✔✔—✔
Исполнитель✔ проект✔ подзадачи✔ свои——
PMO-аналитик✔ все————
Администратор✔✔✔✔✔

Защита проектных данных

  • API: токены с минимальными правами, хранение в переменных окружения, только HTTPS, регулярная смена ключей.
  • Шифрование отчётов: архив или PDF с паролем; пароль передаётся по другому каналу.
  • Отзыв прав: при завершении проекта или увольнении — снять роли, деактивировать учётную запись, сменить общие пароли, проверить журнал.
  • Журналирование: кто, что и когда изменил.
🎯 Миссия практического занятия 5
  1. Составьте фрагмент ТЗ на внедрение модуля ИС с разделом «Требования к ИБ».
  2. Настройте в тестовой Jira ролевую модель по принципу наименьших привилегий.
  3. Зашифруйте учебный отчёт и опишите, как безопасно передать пароль.
1. Исполнитель может удалять любые задачи проекта. Что нарушено?
Удаление — избыточное право для исполнителя; это прямой критерий «незачёта».
2. Что означает Security by Design?
Безопасность — часть архитектуры и ТЗ, а не доработка после инцидента.
3. Проект завершён. Что сделать с доступами участников?
Отзыв прав — обязательный шаг закрытия проекта.
⚔️
Босс мира: промежуточная аттестация
2 ч · защита проекта настройки ИС · зачёт
Не побеждён
Хаос-Администратор

Он раздаёт всем все права, и задачи бесследно исчезают. Победить его может только стройный workflow и строгая ролевая модель.

Задание
Разработайте и защитите проект настройки ИС (Jira или аналог): 1) workflow согласования задачи не менее чем с тремя статусами и условиями переходов; 2) ролевая модель доступа (кто создаёт, редактирует, закрывает задачи); 3) обоснование на одну страницу: как настройка устраняет узкие места процесса.

Чек-лист победы

Поражение: задача «зависает» в маршруте, права выданы избыточно (например, исполнитель удаляет задачи), обоснования нет.
🧭
Экспедиция · Стажировка · 66 часов · зачёт

Стажировка в профильной организации

Применяем всё изученное в реальной организации: ООО «Аватек», органы муниципальной администрации г. Якутска, финансовые организации. Наставник от организации — 60 ч сопровождения, консультации от вуза — Васильев А.Н., 6 ч.

ОПД 1 · ОПД 2 · ОПД 3Месяцы 6–8
🧭
Значок
«Практик»
О1
Миссия ОПД 1: Python-скрипт для проектной рутины
автоматизация мониторинга метрик проекта
Не выполнено

Напишите и протестируйте скрипт для реальной задачи организации. Примеры тем: автоматический расчёт отклонений по бюджету (EVM) из сырого Excel-отчёта; парсер статусов задач из Jira со сводным PDF-отчётом для стейкхолдеров.

О2
Миссия ОПД 2: аудит и реинжиниринг маршрута согласования
BPMN To-Be + workflow в Jira/Confluence
Не выполнено

Проведите аудит маршрута согласования проектной документации в организации: документооборот, маршруты, учёт рисков. Найдите узкие места, постройте модель To-Be в BPMN и настройте базовый workflow в тестовой среде.

О3
Миссия ОПД 3: ТЗ на BI-дашборд портфеля проектов
с требованиями к ИБ и ролевой модели
Не выполнено

Подготовьте проект ТЗ на внедрение BI-дашборда для мониторинга портфеля проектов организации. Включите раздел требований к информационной безопасности и ролевой модели доступа, метрики и экономическое обоснование.

📦 Отчётность экспедиции
  • Дневник стажировки с датами, задачами и подписями наставника.
  • Отчёт о прохождении стажировки.
  • Артефакты: код (.py или .ipynb), модель процесса (.bpmn или .vsdx), ТЗ или макет дашборда (.docx или .pbix).

«Незачёт»: задания выполнены не полностью, скрипт или дашборд не работает, критические ошибки BPMN, в ТЗ нет метрик и экономического обоснования, нет отчётности.

🏆
Финал · Итоговая аттестация · 8 часов

Демонстрационный экзамен

Вы вытягиваете случайный билет — одно из пяти профессиональных заданий. 6 часов на выполнение, 2 часа на презентацию и защиту перед комиссией (не менее 50% — индустриальные партнёры). Результаты сдаются в файлах .py, .bpmn, .docx, .xlsx.

Председатель: Ломакин А.С.Сметанина Т.А.Курнева М.В.
🎓
Значок
«Менеджер цифровых проектов»
🎲 Тренировочный жребий

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

1Python
2BPMN
3ТЗ на BI
4RBAC
5Эффект
БИЛЕТ 1 · ID 28

Автоматизация анализа реестра рисков

Дан «сырой» CSV project_risks.csv (ID, описание, вероятность 1–5, влияние 1–5, статус, ответственный). Напишите Python-скрипт на Pandas: 1) очистка от дубликатов и пропусков; 2) рейтинг = вероятность × влияние; 3) отбор рисков со статусом «Активен» и рейтингом ≥ 15; 4) сохранение в high_priority_risks.xlsx с сортировкой по убыванию рейтинга.

Оценивается: синтаксис Python и использование Pandas, обработка исключений, точность расчёта и фильтрации, читаемость и комментарии.

🔁 Повторить: миры 2.1, 2.2 и босс мира 2.

БИЛЕТ 2 · ID 206

Реинжиниринг процесса согласования в Jira

Дано текстовое описание маршрута As-Is с тремя узкими местами. 1) Постройте To-Be в BPMN 2.0 (Camunda или Visio): уберите не менее двух избыточных операций, добавьте автоматическую маршрутизацию. 2) Настройте workflow в тестовой Jira: не меньше четырёх статусов и условия переходов.

Оценивается: синтаксис BPMN 2.0, обоснованность изменений, наличие автоматизации, корректность статусов и переходов.

🔁 Повторить: миры 1.2, 4.1, 4.2.

БИЛЕТ 3 · ID 226

ТЗ на BI-дашборд мониторинга портфеля проектов

Разработайте фрагмент ТЗ на дашборд (Power BI или Python): 1) функциональные требования; 2) входные и выходные данные; 3) целевые метрики (SPI, CPI, % отклонения по срокам); 4) обоснование экономического и управленческого эффекта.

Оценивается: чёткость требований, обоснованность метрик, аргументация эффекта, структура по ГОСТ 34.

🔁 Повторить: миры 1.3, 3.2, 3.3.

БИЛЕТ 4 · ID 206 / ID 28

Ролевая модель доступа (RBAC) в проектной ИС

Роли: «Инициатор», «Руководитель проекта», «Исполнитель», «PMO-аналитик», «Администратор». 1) Матрица «роли × права» (чтение, создание, редактирование, удаление, закрытие). 2) Обоснование по принципу наименьших привилегий. 3) Порядок отзыва прав при завершении проекта.

Оценивается: соответствие ролей бизнес-логике, отсутствие избыточных прав, оформление матрицы, процедура отзыва.

🔁 Повторить: мир 4.3 и босс мира 4.

БИЛЕТ 5 · ID 226

Обоснование эффективности цифровых решений

Руководство сомневается в покупке Jira и Confluence и обучении команды. Подготовьте отчёт на одну страницу: прогнозная экономия трудозатрат в часах и рублях в год (20 менеджеров, согласование сокращается с 5 дней до 1) и нематериальные эффекты — прозрачность, снижение рисков, скорость коммуникации.

Оценивается: реалистичность расчёта экономии, аргументация нематериальных эффектов, убедительность для руководства не из ИТ.

🔁 Повторить: мир 1.3 (пример расчёта ROI).

🏆
Финальный босс: экзамен сдан
отметьте после успешной защиты
Не пройден

Шкала оценки

ОценкаЧто это значит
ОтличноВсё выполнено в полном объёме и в срок, без ошибок; решения уверенно аргументированы, видна связь кода, модели процесса и экономического эффекта.
ХорошоВыполнено полностью, с незначительными недочётами; небольшие затруднения с уточняющими вопросами.
УдовлетворительноВыполнено в целом, с существенными недочётами: ошибки в коде, нарушения BPMN, приблизительный ROI.
НеудовлетворительноНе выполнено или выполнено меньше чем на треть; критические ошибки.
Зал славы
Значок выдаётся, когда пройдены все темы мира и побеждён его босс.
🧩
Архитектор процессовМир 1
🐍
Укротитель PythonМир 2
📊
Повелитель дашбордовМир 3
🛡️
Страж платформМир 4
🧭
ПрактикСтажировка
🎓
Менеджер цифровых проектовФинал
★