- Главная
- Курсы
- Управление современным предприятием
- Управление информацией и технологиями на предприятии
Базовые процессы в IT
направление: Управление современным предприятием
Даты проведения курса
- 08.09.2025 Москва записаться
- 01.12.2025 Москва записаться
1. Процессы поставки ПО
Теория:
• Что такое поставка ПО?
• Разбор кейса: "Как релизили фичу в крупном проекте (На примере Альфа банка и Сбербанка".
• Симуляция: "Ваш код сломал продакшен – что делать? Распишите варианты, *подумайте что можно сделать для предотвращения ситуации".
2. Постановка задач
Теория:
• Формулировка задач:
• Написать User Story для фичи (например, "Добавить поиск по сайту").
• Разбить крупную задачу ("Сделать личный кабинет") на подзадачи.
3. Code Review
Теория:
• Зачем нужно Code Review?
• Разбор плохого кода (например, функция с 10 уровнями вложенности/базовая ошибка в синтаксисе(человеческий фактор)).
• Провести Code Review в GitHub Pull Request (примеры будут написаны мной).
4. Релизы (Deployments)
Теория:
• Стратегии деплоя:
• Разбор кейса: "Как Netflix обновляет сервис без downtime".
• Story Points (1, 2, 3, 5, 8, 13…) – относительная сложность.
• T-Shirt Sizing (XS, S, M, L, XL).
• Planning Poker – командная оценка.
Практика на занятиях:
• Оценить задачи в Scrum-формате (например: "Сделать форму регистрации – сколько SP?").
6. Планирование итераций
Теория:
• Scrum-артефакты:
• Создать беклог для мини-проекта (например, "Чат-бот").
• Провести "Спринт" (1 неделя) и ретроспективу.
7. Окружения (Dev, Test, Prod)
Теория:
• Dev – среда, где пишут код.
• Test – автоматические тесты, тестирование с интеграциями с другими командами, среда максимально приближенная к продуктивной.
• Prod – реальные пользователи.
• Почему важно разделять окружения (разница настроек, избежание багов в проде)
• Управление конфигурациями
Практика на занятиях:
• Настроить разные конфиги для Dev и Prod (вводные данные предоставляются преподавателем).
8. CI/CD (Jenkins, GitHub Actions)
Теория:
• Что такое CI/CD
• Какие проблемы решает CI/CD
• Базовые этапы пайплайнов
• Различия в Jenkins и Gitlab
Практика на занятиях:
• Написать простейший CI-пайплайн (например, тест для Python-скрипта).
9. Резервирование и бэкапы
Теория:
• Зачем нужно резервирование и бэкапирование
• Ключевые термины – разбор (резервирование, бэкапирование, RTO, RPO)
• Принципы надежного бэкапирование, стратегии бэкапирования в больших и маленьких компаниях на практике
• Автоматизация бэкапирования
Практика на занятии:
• Упала база данных(три варианта развития причин), что делаем для устранения и недопущения в будущем
• Восстановить базу данных из бэкапа (SQL-дамп).
• *Настроить бэкапирование по крону – Написать крон.
10. Тестирование (QA)
Теория:
• Какие проблемы решает тестирование (баги, репутационные риски, потеря компанией денег).
• Виды тестирования (по уровню детализации, по целям)
• Процесс тестирования (планирование, написание, запуск, анализ)
Практика на занятии:
• Разбор кейса с падением крупной компании из-за отсутствия тестирования
• Написать Unit-тест на функцию (например, "калькулятор").
11. Рефакторинг и техдолг
Теория:
• Что такое технический долг (Код, который "работает, но плохо"/Отсутствие документации).
• Как уменьшать:
• Инструменты автоматизации рефакторинга
Практика на занятии:
• Аудит техдолга.
• Кодревью «грязного» кода.
Теория:
• Что такое поставка ПО?
- Что такое поставка и какого вида она бывает (фичи, апи и т.д.)
- Жизненный цикл разработки (SDLC): планирование → разработка → тестирование → релиз → поддержка.
- Разница между Waterfall (жесткие этапы) и Agile (итеративная разработка).
- Continuous Integration (CI) – автоматическая сборка и тестирование кода.
- Continuous Delivery (CD) – автоматический деплой на тестовые окружения.
- Continuous Deployment – автоматический релиз в продакшен.
• Разбор кейса: "Как релизили фичу в крупном проекте (На примере Альфа банка и Сбербанка".
• Симуляция: "Ваш код сломал продакшен – что делать? Распишите варианты, *подумайте что можно сделать для предотвращения ситуации".
2. Постановка задач
Теория:
• Формулировка задач:
- User Story (Как пользователь, я хочу… чтобы…).
- Acceptance Criteria (Критерии, по которым задача считается выполненной).
- Jira, Trello, Яндекс.Трекер, YouTrack – как создавать и назначать задачи.
- MoSCoW (Must have, Should have, Could have, Won’t have).
- Матрица Эйзенхауэра (Срочно/Важно).
• Написать User Story для фичи (например, "Добавить поиск по сайту").
• Разбить крупную задачу ("Сделать личный кабинет") на подзадачи.
3. Code Review
Теория:
• Зачем нужно Code Review?
- Поиск багов, улучшение читаемости кода, обучение команды.
- Проверка на:
- Читаемость (названия переменных, комментарии).
- Эффективность (нет ли утечек памяти?).
- Безопасность (SQL-инъекции, XSS).
- Правильность переменных (знание своего проекта)
- Правила хорошего тона:
- "Критикуйте код, а не человека".
- Предлагайте альтернативы.
• Разбор плохого кода (например, функция с 10 уровнями вложенности/базовая ошибка в синтаксисе(человеческий фактор)).
• Провести Code Review в GitHub Pull Request (примеры будут написаны мной).
4. Релизы (Deployments)
Теория:
• Стратегии деплоя:
- Blue-Green – два идентичных окружения, переключение трафика.
- Canary – постепенный rollout (сначала 10% пользователей).
- Rolling Update – пошаговое обновление серверов.
- Когда нужен? (Критический баг, падение производительности/Не критичный баг, потенциально влияющий на другие компоненты или мониторинги).
- Как делать? (Вернуться на предыдущую версию через CI/CD).
• Разбор кейса: "Как Netflix обновляет сервис без downtime".
• Симуляция: "Выпустили обновление, и сайт упал – как откатить? Какие стратегии можно применить для предотвращения данной ситуации."
5. Методы оценки задач
Теория:• Story Points (1, 2, 3, 5, 8, 13…) – относительная сложность.
• T-Shirt Sizing (XS, S, M, L, XL).
• Planning Poker – командная оценка.
Практика на занятиях:
• Оценить задачи в Scrum-формате (например: "Сделать форму регистрации – сколько SP?").
6. Планирование итераций
Теория:
• Scrum-артефакты:
- Беклог (список всех задач, грумминг).
- Спринт (2-4 недели работы).
- Ретроспектива (разбор "что пошло не так").
• Создать беклог для мини-проекта (например, "Чат-бот").
• Провести "Спринт" (1 неделя) и ретроспективу.
7. Окружения (Dev, Test, Prod)
Теория:
• Dev – среда, где пишут код.
• Test – автоматические тесты, тестирование с интеграциями с другими командами, среда максимально приближенная к продуктивной.
• Prod – реальные пользователи.
• Почему важно разделять окружения (разница настроек, избежание багов в проде)
• Управление конфигурациями
Практика на занятиях:
• Настроить разные конфиги для Dev и Prod (вводные данные предоставляются преподавателем).
8. CI/CD (Jenkins, GitHub Actions)
Теория:
• Что такое CI/CD
• Какие проблемы решает CI/CD
• Базовые этапы пайплайнов
• Различия в Jenkins и Gitlab
Практика на занятиях:
• Написать простейший CI-пайплайн (например, тест для Python-скрипта).
9. Резервирование и бэкапы
Теория:
• Зачем нужно резервирование и бэкапирование
• Ключевые термины – разбор (резервирование, бэкапирование, RTO, RPO)
• Принципы надежного бэкапирование, стратегии бэкапирования в больших и маленьких компаниях на практике
• Автоматизация бэкапирования
Практика на занятии:
• Упала база данных(три варианта развития причин), что делаем для устранения и недопущения в будущем
• Восстановить базу данных из бэкапа (SQL-дамп).
• *Настроить бэкапирование по крону – Написать крон.
10. Тестирование (QA)
Теория:
• Какие проблемы решает тестирование (баги, репутационные риски, потеря компанией денег).
• Виды тестирования (по уровню детализации, по целям)
• Процесс тестирования (планирование, написание, запуск, анализ)
Практика на занятии:
• Разбор кейса с падением крупной компании из-за отсутствия тестирования
• Написать Unit-тест на функцию (например, "калькулятор").
11. Рефакторинг и техдолг
Теория:
• Что такое технический долг (Код, который "работает, но плохо"/Отсутствие документации).
• Как уменьшать:
- Рефакторинг (улучшение без изменения функционала).
- Регулярный аудит.
• Инструменты автоматизации рефакторинга
Практика на занятии:
• Аудит техдолга.
• Кодревью «грязного» кода.
12. Финальное занятие
- Общий тест
- Разбор результатов
- Вопросы/Ответы