Инженерные практики для мобильной разработки Training

Sg-logo Киев, Украина
08 Jun 2013
http://www.scrumguides.com.ua/

 

Зачем нужен этот тренинг

На сегодняшний день Agile отлично себя зарекомендовал и де факто является рабочей методологией разработки ПО в подавляющем большинстве коммерческих проектов. Бизнес-среда требует от разработчиков высочайшего качества продуктов и максимально быструю их поставку в условиях постоянно меняющихся требований. Это невозможно реализовать без активного использования инженерных практик, призванных внедрить качество в сам процесс разработки. Оценить все приемущества использования инженерных практик можно только начав их практиковать.

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

Целевая аудитория

iOS разработчики, лидеры команд желающие внедрить инженерные практики у себя на проектах.

Цель тренинга

Рассказать об основных инженерных практиках в Agile, продемонстрировать их применение и таким образом дать первичный импульс к их внедрению на проекте.

Программа:

  • Code review
  • Управление зависимостями
  • Модульное тестирование
  • Автоматизация сборки приложения
  • Непрерывная интеграция

В результате прохождения тренинга вы:

  • Ознакомитесь с инженерными практиками в Agile
  • Узнаете о новых подходах и инструментах для iOS
  • Получите опыт управлением зависимостями при помощи CocoaPods
  • Попрактикуетесь в написании модульных тестов с помощью OCUnit/OCMock
  • Получите представление о практике автоматизации сборки и распространения приложения
  • Ознакомитесь с практикой непрерывной интеграции на примере TeamCity
  • Узнаете как обеспечить качество и предсказуемость разработки в условиях команды
  • Узнаете о подводных камнях внедрения инженерных практик на мобильных проектах

Продолжительность тренинга

1 день (8 часов)

Стоимость тренинга

800 грн. - самая низкая цена этого сезона

Тренера

Максим Базалий

Практикующий iOS разработчик. Более 7 лет в ИТ. За это время успел пройти путь от разработчика до руководителя мобильной разработки. Последние 4 года Максим активно работает с Agile методологиями, обучает команды инженерным практикам и процессам. Приверженец ХР практик. Обладатель нескольких профильных сертификатов (PMI Agile Certified Practitioner, Certified Scrum Professional).

Александр Перепелицын

Александр – увлеченный iOS разработчик. Начал карьеру в ИТ с автоматизации веб приложений. Быстро разобравшись с подходами и популярными инструментами начал успешно обучать коллег желающих научиться автоматизации на Selenium. Открыв для себя продукты компании Apple профессиональный интерес Александра естественным образом перешел на программирование на Objective-C. Последние 2 года он активно применял практики XP и Scrum для разработки iPhone и iPad приложений.

Помимо разработки под iOS в сферу интересов входят Ruby on Rails и Sinatra, а также проектирование UI/UX для мобильных приложений.

 

Детальная программа: 

1. Введение

  • Знакомство
  • Типичные проблемы. Качество кода. Технический долг.
  • Обзор инженерных практик
  • Проектное окружение

2. Code review

  • Цели code review
  • Роли и стратегии
  • Практические советы по проведению
  • Статический анализ кода
  • Стандарты написания кода
  • Обзор. Техники рефакторинга

3. Обзор инструментов. Управление зависимостями.

4. Модульное тестирование

  • Dependency Injection, типы верификаций, Testability vs Information hiding
  • Категории тестов (Тесты уровня приложения / логические тесты, UI)
  • Структура модульных тестов
  • Мок объекты (Custom fakes vs OCMock): Fakes / Stubs
  • Возможные стратегии модульного тестирования
  • Тестирование View Controllers
  • Тестирование Models
  • Тестирование CoreData
  • Тестирование работы с сетью (NSURLConnection + AFNetworking)
  • Тестирование TableView Datasources
  • Тестирование User Defaults
  • Тестирование Notification Center
  • Тестирование Gesture Recognizers
  • Тестирование Block-based API
  • Фреймворки для модульного тестрования (GHUnit, Kiwi, Cedar)
  • TDD

5. Автоматизация сборки приложения

  • Проблемы которые решает автоматизация
  • Шаги автоматизации сборки
  • Автоматизация работы с provision portal
  • Автоматизация сборки приложения. Xcodebuild.
  • Метрики. Покрытие тестами
  • Метрики. Анализ кода.
  • Автоматизация публикации приложения. TestFlight.


6. Непрерывная интеграция

  • Какие проблемы решает непрерывная интеграция?
  • Шаги непрерывной интеграции
  • Непрерывная интеграциякак практика
  • Триггеры для сборки
  • Сервер непрерывной интеграции
  • Обзор инструментов. TeamCity. Jenkins.
  • Непрерывная интеграция в iOS на примере TeamCity.


7. Ответы на вопросы

Participants: 4