Промышленная разработка ПО. Лекция 1. Общие понятия

Post on 16-Jun-2015

638 views 5 download

description

Виды промышленной разработки, состав команды, роли, сфера ответственности.

Transcript of Промышленная разработка ПО. Лекция 1. Общие понятия

Лекция 1

ПРОМЫШЛЕННАЯ РАЗРАБОТКА ПО

• Понятие промышленной разработкой ПО

• Инструменты промышленной разработки

• Специфика работы профессионального программиста

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

• Контроль качества и тестирование

• Основы системного анализа и управления продуктом

• Основные направления промышленной разработки

О ЧЁМ КУРС?

• Что такое промышленная разработка ПО

• Виды промышленной разработки

• Состав команды и области ответственности

О ЧЁМ БУДЕМ ГОВОРИТЬ СЕГОДНЯ?

ОПРЕДЕЛЕНИЕ

Промышленная разработка ПО:

профессиональная занятость в сфере разработки ПО в организации или подразделении, основная цель которого – создание программного продукта.

Это я обязательно спрошу на экзамене

ЧЕМ ОТЛИЧАЕТСЯ ПРОМЫШЛЕННАЯ РАЗРАБОТКА ОТ ЛАБОРАТОРНОЙ РАБОТЫ?

ОСНОВНЫЕ НАПРАВЛЕНИЯ ПРОМЫШЛЕННОЙ РАЗРАБОТКИ

ЗАКАЗНАЯ РАЗРАБОТКА

• Разработка ПО как услуга

• Одноразовое ПО (один раз написали, один раз продали)

• Одноразовая разработка

• Каждый новый проект уникален

• Основной источник требований – заказчик

ПРОДУКТОВАЯ РАЗРАБОТКА

• ПО как товар

• Тиражируемое ПО (один раз написали, много копий продали)

• Долгосрочная разработка

• Каждая новая версия основывается на предыдущих

• Рынок в качестве основного источника требований

ВНУТРЕННЯЯ РАЗРАБОТКА

• Разработка внутреннего продукта для компании

• Постоянная разработка + поддержка

• Каждая новая версия основывается на предыдущей

• Заказчик в качестве основного источника требований

ВНЕДРЕНИЕ И АДАПТАЦИЯ

• Адаптация ПО к процессам компании как услуга

• Одноразовые продажи + поддержка

• Каждое новое внедрение уникально

• Заказчик в качестве основного источника требований

«Чистые» варианты встречаются редко. Возможны сочетания:

•Заказная + продуктовая: аутсорс, долговременный проект для одного заказчика

•продуктовая + внедрение: разные команды одной компании

•Заказная + внедрение: долговременный контракт на поддержку

СМЕШАННЫЕ ВАРИАНТЫ

ЧТОБЫ ЛУЧШЕ ЗАПОМНИТЬЗаказная Продуктовая Внутренняя Внедрение

Тип Услуга Товар Услуга Услуга

Тиражируемость Низкая Высокая Нет Низкая

Источник требований

Заказчик Рынок Внутренний заказчик

Заказчик

Удержание клиента Нет Новые версии Новые версии Поддержка

Оплата разработки Заказчик Компания Компания Заказчик

Способ Монетизации

Продажа часов

Продажа лицензий

Бюджет компании

Продажа часов / лицензий

• Системное программирование (драйвера, софт для специфических устройств и т.д.)

• Бизнес-приложения

• Веб-разработка (сайты)

• Наука и инновации (OCR, контентный/полнотекстовый поиск, распределённые системы...)

• Геймдев (игры)

• Разработка компонентов

ПРИМЕРЫ НАПРАВЛЕНИЙ РАЗРАБОТКИ

СОСТАВ КОМАНДЫ И ОБЛАСТИ ОТВЕТСТВЕННОСТИ

• Разработка архитектуры системы

• Разработка алгоритмов

• Написание кода

• Отладка и исправление дефектов

РАЗРАБОТЧИК

• Поиск дефектов

• Составление плана тестирования

• Написание отчётов о найденных ошибках

• Написание скриптов для автоматического тестирования

ТЕСТИРОВЩИК

• Выработка и поддержка актуальности требований

• Общение с заказчиком, выяснение деталей

• Формирование проектных документов

БИЗНЕС-АНАЛИТИК

• Планирование проекта

• Оперативное управление

• Контроль хода выполнения проекта

• Взаимодействие с заинтересованными лицами

• Управление командой разработчиков

РУКОВОДИТЕЛЬ ПРОЕКТОВ

• Определение стратегии развития продукта

• Составление дорожной карты

• Анализ рынка

• Выяснение потребностей пользователей

• Анализ конкурентов

• Ценообразование

МЕНЕДЖЕР ПРОДУКТА

• Общение с заказчиком

• Утверждение документации

• Заключение договоров

• Информирование о ходе проекта

• Разрешение конфликтов между заказчиком и командой

АККАУНТ-МЕНЕДЖЕР

• Архитектор

• Тимлид (руководитель группы разработчиков)

• Дизайнер / художник

• Верстальщик

• Специалист по UX

• Системный администратор

ДРУГИЕ РОЛИ

ВРЕМЯ ЗАДАВАТЬ ВОПРОСЫ