Разработка программного обеспечения: различия между версиями

Оптимизация размера
(Переработка страницы, начало)
(Оптимизация размера)
Строка 42: Строка 42:
=== Кто участвует в разработке ПО ===
=== Кто участвует в разработке ПО ===
Набор необходимых специалистов отличается от проекта к проекту. Но можно выделить такие основные направления:
Набор необходимых специалистов отличается от проекта к проекту. Но можно выделить такие основные направления:
* Менеджмент — отвечает за организацию процессов
* Коммерсанты — отвечают за продажи и удержание клиентов
* Аналитики — решают сложные проблемы
* Разработчики — программируют
* Тестировщики — тестируют
* Сисадмины — обслуживают
<div class="mw-collapsible mw-collapsed">
Пример структуры IT-компании среднего размера (нажмите «развернуть» справа):
<div class="mw-collapsible-content">
'''Структура IT компаний может сильно различаться в зависимости от размера, предметной области работы, количества клиентов. Здесь показан пример усредненный продуктовой IT компании, то есть компании, самостоятельно разрабатывающей и обслуживающей приложения для решения определенных задач.'''


* Ключевые директора (Executive team)
* Ключевые директора (Executive team)
** Генеральный директор (Chief Executive Officer / CEO)
** Генеральный директор (Chief Executive Officer / CEO) — главный босс
** Операционный директор (Chief Operating Officer / COO)
** Операционный директор (Chief Operating Officer / COO) — налаживает взаимодействие между отделами
** Финансовый директор (Chief Financial Officer / CFO)
** Финансовый директор (Chief Financial Officer / CFO) — отвечает за то, чтобы у компании не закончились внезапно деньги
** Технический директор (Chief Technology Officer / CTO)
** Технический директор (Chief Technology Officer / CTO) — главный по IT
* Отдел развития бизнеса (Business development / BD) — глобальная стратегия и планы развития компании
* Отдел развития бизнеса (Business development / BD) — глобальная стратегия и планы развития компании
** Бизнес-аналитика (Business Intelligence / BI)
** Бизнес-аналитика (Business Intelligence / BI)
Строка 66: Строка 79:
** Менеджер проекта (Project Manager / PM) — собирает команду для проекта и отвечает за его выполнение
** Менеджер проекта (Project Manager / PM) — собирает команду для проекта и отвечает за его выполнение
* Отдел разработки (Development) — отдел, где и работают разработчики (программисты)  
* Отдел разработки (Development) — отдел, где и работают разработчики (программисты)  
** Руководитель отдела (Development Director)
** Руководитель отдела разработки (Development Director) — начальник всех разработчиков
** Системный архитектор (System Architect) — отвечает за базовую архитектуру программного обеспечения
** Системный архитектор (System Architect) — отвечает за базовую архитектуру программного обеспечения
** Тимлид (Development Team Lead)
** Тимлид (Development Team Lead) — руководит командой разработчиков
** Разработчик (Developer)
** Разработчик (Developer) — тот кто непосредственно программирует
* Обеспечение качества (Quality Assurance / QA)
* Обеспечение качества (Quality Assurance / QA)
** Инженер по качеству (QA Engineer)
** Инженер по качеству (QA Engineer) — отвечает за качество в целом
** Тестировщик (Tester)  
** Тестировщик (Tester) — проверяет наличие багов
** Инженер по автоматизации (Automation Engineer)
** Инженер по автоматизации (Automation Engineer) — создает автотесты
** Тестер по производительности (Performance Tester)
** Тестер по производительности (Performance Tester) — проверяет, как хорошо приложения держат нагрузку
** Тестер по информационной безопасности (Security Tester)
** Тестер по информационной безопасности (Security Tester) — тестирует приложения на проблемы по ИБ
* DevOps
* DevOps — связующее звено между разработкой (Dev) и обслуживанием (Ops)
** DevOps Engineer
** Инженер по инфраструктуре (Infrastructure Engineer) — из набора серверов, сетей и сервисов проектирует единую надежную систему
** Release Engineer
** Инженер по надежности (Site Reliability Engineer / SRE) — отвечает за масштабируемость и высокую производительность приложений
** Site Reliability Engineer (SRE)
** Девопс инженер (DevOps Engineer) — отвечает за автоматизацию процессов сборки и доставки приложений на сервера
** Infrastructure Engineer
** Инженер по конфигурации (Configuration Management Engineer) — работает с ПО для управления параметрами приложений
** Configuration Management Engineer
** Релиз инженер (Release Engineer) — непосредственно запускает приложения в продакшн
** Monitoring and Logging Engineer
** Инженер по мониторингу и логам (Monitoring and Logging Engineer) — работает с ПО для отслеживания показателей работы приложений
* Эксплуатация (IT Operations) — обслуживание IT продукта, инфраструктуры и поддержка пользователей
* Эксплуатация (IT Operations) — обслуживание IT продукта, инфраструктуры и поддержка пользователей
** Руководитель эксплуатации (IT Operations Manager) — руководитель направления.
** Руководитель эксплуатации (IT Operations Manager) — руководитель направления.
** Отдел внедрений (Implementation Department) — отвечает за поставку продукта новым клиентам, первичную настройку и поддержку, обучение клиента
** Менеджер внедрений (Implementation Manager) — отвечает за поставку продукта новым клиентам, первичную настройку и поддержку, обучение клиента
** Служба поддержки
** Специалист службы поддержки (Help Desk / Support Technician) — обработка входящих обращений от пользователей и решение простых проблем.
*** Специалист службы поддержки (Help Desk / Support Technician) — обработка входящих обращений от пользователей и решение простых проблем.
** Технический аналитик (Technical Analyst) — решает сложные технические и технологические проблемы
*** Технический аналитик (Technical Analyst) — решает сложные технические и технологические проблемы
** Системное администрирование
** Системное администрирование
*** Системный администратор (System Administrator) — установка, настройка и обслуживание ПО.
*** Системный администратор (System Administrator) — установка, настройка и обслуживание ПО.
Строка 101: Строка 113:
** Пентестер (Penetration Tester) — пытается всё сломать, чтобы проверить надежность
** Пентестер (Penetration Tester) — пытается всё сломать, чтобы проверить надежность
** Compliance Officer — следит за выполнением международных стандартов по ИБ (GDPR, PCI DSS, ISO 27001)  
** Compliance Officer — следит за выполнением международных стандартов по ИБ (GDPR, PCI DSS, ISO 27001)  
** Тренер по ИБ (Security Educator)
** Тренер по ИБ (Security Educator) — обучает всех в компании, как не косячить по ИБ
* Финансовый отдел (Finance)
* Финансовый отдел (Finance) — бухгалтеры, финансовые аналитики
* Управление персоналом (Human Resources / HR)
* Юридический отдел (Legal department) — юристы
 
* Управление персоналом (Human Resources / HR) — найм сотрудников и удержание уже нанятых
 
</div>
</div>