• Technical skills for Project Managers and Business Analysts May

    Technical skills for Project Managers and Business Analysts May

зарегистрироватьсязарегистрироваться

Должен ли менеджер проектов быть программистом? Или должен уметь программировать? Эти дискуссии продолжаются уже не одно десятилетие в ИТ индустрии. И эксперты сходятся на том, что если глубоко разбираться в определенном языке программирования не обязательно, то иметь техническую основу - просто must have для ИТ специалиста. Именно поэтому мы запускаем курс, который поможет сформировать минимальный набор технических знаний и процессов по разработке программного обеспечения.

Аргументация продажи технических решений для заказчика, остановка технического перфекционизма талантливых разработчиков, контроль целесообразности принятия технических решений и организация взаимодействия Dev и QA - это лишь небольшой перечень тем, которые мы покроем во время нашего курса. Ведь именно с такими задачами сталкиваются проектные менеджеры, бизнес аналитики, и все, кто работает над разработкой продукта, но непосредственно не занимается программированием.

Тренинг поможет:

  • ориентироваться в технической терминологии;
  • оптимально формулировать команды технических специалистов в зависимости от типа продукта;
  • эффективно делегировать задачи в зависимости от компетенции специалистов;
  • понимать и следить за целесообразностью принятия технических решений в ходе выполнения проекта;
  • корректировать оценку и выполнения задач команды технических специалистов;
  • говорить на одном языке со своей командой;
  • оптимизировать процесс разработки программного обеспечения;
  • чувствовать себя уверенно во время командных обсуждений.

Программа тренинга:

Тренинг состоит из пяти разделов (2 воркшопа по 8:00 каждый). Разделы включают в себя теоретические и практические примеры, рекомендации по внедрению и разбор кейсов.

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

Кому будет полезен:

  • Project Managers
  • Product Owners
  • Scrum Masters
  • Tech / Team Leads
  • Business analytics
  • IT Sales Managers, HR Managers, Recruiters

Программа тренинга

1. Общие понятия

Операционные системы

  1. Понятие операционной системы (ОС)
  2. Семейства ОС
  3. Сравнение ОС
  4. Целевое использование ОС: server, work station.

Типы разработки:

  1. Характеристики основных типов приложений: web application, desktop, embedded, mobile, game, enterprise.
  2. Роли в команде. Применение технологий в зависимости от типа приложения
  3. Циклы разработки и тестирования для популярных типов приложений

Языки программирования:

  1. Ключевые понятия: языки программирования и framеworks, парадигмы программирования, компиляция и интерпретация
  2. Популярные языки программирования, классификация и области применения
  3. Особенности применения Java, PHP, JavaScript

Инструменты разработки

  1. Repositories и их назначения. Ключевые понятия и сравнительная характеристика. Действия над repositories
  2. Среды для разработки (IDE). Обзор распространенных IDE. Агрументация применения
  3. Пользовательские интерфейсы для работы с базами данных. Назначение и преимущества применения.
  4. Инструменты для измерения качества программного кода - code analizers. Внедрение и преимущества применения
  5. CMS как инструмент для разработки web приложений

Интерфейсы взаимодействия

  1. Понятие интерфейсов взаимодействия
  2. XML формат данных. Особенности и структура
  3. JSON формат данных. Особенности и структура
  4. Сравнение и особенности применения REST, SOAP

Роли в команде и сферы обязанностей технических специалистов

  1. Seniority. Компетенция junior, middle и senior специалистов. Распределение задач и сфер обязанностей в соответствии с seniority
  2. Обязанности, компетенция и коммуникация внутри команды для - Back-end, Front-end, Full stack разработчики, QA team: manual и automation, Team lead & tech lead, DevOps, Software architecture

2. Архитектура ПО

Уровни архитектуры ПО: Business architecture, Information Architecture, Technology Architecture, Solution Architecture

  1. Понятие архитектуры ПО и уровней архитектуры ПО
  2. Особенности построения, области применения и предмет описания для каждого из типа архитектур.
  3. Командные роли при построении Business, Information, Technology, Solution аrchitectures.

Data Architecture.

  1. Характеристика и сравнение RDB vs NoSQL баз данных. Особенности применения RDB и NoSQL
  2. RDB. Основные понятия, проектирование, сферы применения. Реализации RDB: Posqresql, MySQL, Sybase etc.
  3. NoSQL. Типы NoSQL (документарные, графу, поисковые). Основные понятия, проектирование, сферы применения. Реализации NoSQL: Cassandra, MongoDB, Elasticsearch etc.
  4. Использование комбинированных решений: RDB + NoSQL

Software architecture

  1. Архитектурные паттерны monolit, microservices, client-server etc и особенно их применения.
  2. Критерии качественно построенной архитектуры
  3. 3. Паттерны GoF, SOLID
  4. Принятие архитектурных решений: на старте проекта, в ходе реализации функциональности, в рамках выполнения текущей задачи
  5. Переход от одного типа архитектуры к другому

3. Continuous delivery & Continueus integration

  1. Понятие Continuous Delivery, Continuous integration. Технические составляющие Continuous Delivery
  2. Преимущества использования СІ и альтернативные методы сборки и deployment продукта
  3. Роли в команде обеспечивающих настройки и мониторинг работы CI.
  4. Инструменты СІ: Jenkins, Hadson. Ключевые составляющие: jobs, pipeline, plugins /
  5. Преимущества использования инфрастуктурных сервисов: Amazon Cloud, Azure, DigitalOcean, Google Cloud
  6. Контейнерные технологии: Docker, Kubernetes etc.

4. Тестирование

  1. Тестирование по объекту: smoke, funtional, performance etc. особенности применения
  2. Виды тестирования по времени проведения: regression testing, acceptance testing. Особенности применения
  3. Manual testing и Automation testing. Целесообразность использования в соответствии с типом программного продукта. комбинированное тестирование
  4. Обзор популярных инструментов тестирования - Selenium, TestComplete etc
  5. Организация процесса эффективного взаимодействия между разработчиками, бизнес аналитиками и тестировщиками
  6. Тестовая документация: check-lists, test cases, test plan. Необходимость и применение

5. Development pactices and culture

  1. Обзор ХР практик. Целесообразность использования в зависимости от типа и цикла продукта.
  2. Преимущества применения ХР практик. Аргументация применения клиенту и команде технических специалистов.
  3. Мотивация и развитие команды путем внедрения XP
  4. Механизмы внедрения TDD, pair programing etc.
  5. Рефакторинг, как необходимая составляющая разработки. Планирование, способы внедрения
  6. Технический долг и планирования его ликвидации.
  7. Алгоритм продажи технических инвестиций

Тренер

Матусевич Ирина - менеджер, консультант, разработчик программного обеспечения. Специалист с опытом более 10 лет в области разработки программного обеспечения, из которых 8 лет - бэкенд разработка.
Имеет практический опыт в проектировании, реализации и внедрения инженерных практик в аутсорс проектах и продуктового характера.
Участник классических и распределенных команд разработки.

Технический опыт:

Back-end & Fron-End разработка программного обеспечения.
Проектирование и разработка прототипа программного обеспечения с последующим внедрение в существующие решения. Адаптация устаревших программных решений под современные нужды клиента. Построение фреймворков тестирования веб сервисов и функционального тестирования веб решений (HTML, Flex). Помогает приобрести необходимые технические навыки для управленцев в сфере ИТ,
для более эффективного взаимодействия с командой технических специалистов и заказчиками.