← Назад к вопросам

Какие знаешь стадии SDLC?

1.3 Junior🔥 71 комментариев
#Методологии разработки

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Стадии SDLC (Software Development Life Cycle): Полный справочник

SDLC (Software Development Life Cycle) — это процесс, который проходит каждый проект от идеи до production. За 10+ лет я прошёл через все стадии в разных компаниях и вариантах. Расскажу обо всех стадиях, что происходит на каждой, и роль Business Analyst на каждом этапе.

Определение SDLC

SDLC — это структурированный процесс разработки software, разбитый на фазы (phases), каждая с определённой целью и deliverables.

Без SDLC проект идёт в хаос. С SDLC — предсказуемо и контролируемо.

Универсальная структура (5-7 стадий)

1. Planning → 2. Analysis → 3. Design → 4. Development → 5. Testing → 6. Deployment → 7. Maintenance

Этот процесс может быть:

  • Waterfall (последовательно, одна за другой)
  • Agile (итеративно, спринтами)
  • Hybrid (комбинация)

Но стадии остаются одинаковыми, меняется только tempo.

Стадия 1: Planning (Планирование)

Цель: Определить что делать, почему, и сколько это стоит.

Что происходит:

  • Stakeholders собираются
  • Выявляют business need ("Нам нужна система управления заказами")
  • Определяют scope ("Включает: создание заказов, отслеживание, analytics")
  • Оценивают бюджет и timeline
  • Выбирают approach (Agile? Waterfall?)
  • Утверждают project charter

Deliverables:

  • Project Charter (цель, scope, budget, timeline)
  • Preliminary requirements
  • Risk assessment
  • Resource allocation

Роль Business Analyst:

  • Собираю requirements у stakeholders
  • Пишу business case (почему это нужно, ROI)
  • Оцениваю scope (что входит, что не входит)
  • Помогаю в timeline и budget оценке

Длительность: 2-4 недели (для small project)

Пример из моей практики: "CEO хочет новый CRM систему. Собираю requirements от sales, support, marketing. Выясняю: это 6-месячный проект, стоит $300K. ROI: увеличит productivity на 30%, эквивалент $500K/year profit. Окупается за 7 месяцев. CEO одобряет."

Стадия 2: Analysis (Анализ требований)

Цель: Детально понять requirements и проверить их реалистичность.

Что происходит:

  • Детальное интервьюирование stakeholders
  • Анализ текущих процессов
  • Классификация требований (FR, NFR, constraints)
  • Выявление противоречий и пробелов
  • Документирование requirements
  • Review с stakeholders

Deliverables:

  • Requirements Specification Document (RSD)
  • User stories
  • Acceptance criteria
  • Use case diagrams
  • Data flow diagrams

Роль Business Analyst:

  • Я — главный на этой стадии!
  • Интервьюирую stakeholders
  • Документирую requirements
  • Создаю user stories
  • Проверяю requirements на completeness и clarity

Длительность: 3-8 недель

Пример: Use case: "Create Sales Order"

ACTOR: Sales Representative
PRECONDITION: User logged in, customer exists in system

MAIN FLOW:
1. User navigates to Create Order
2. System shows customer list
3. User selects customer
4. System shows product catalog
5. User adds products to order
6. System calculates total
7. User enters payment terms
8. System saves order
9. System generates order number
10. System sends confirmation email

ALTERNATE FLOWS:
- If customer doesn't exist: create new customer first
- If product out of stock: show error, suggest alternative
- If payment failed: show error, ask retry

Стадия 3: Design (Дизайн)

Цель: Разработать blueprint как система будет работать.

Что происходит на этой стадии:

High-level Design (архитектура):

  • Какая архитектура? (monolith, microservices, serverless?)
  • Какие технологии? (Python, Java, Node.js?)
  • Как масштабировать?
  • Как обеспечить security?

Low-level Design (детальный дизайн):

  • Database schema (какие таблицы, relationships)
  • API endpoints (GET /orders, POST /orders)
  • UI mockups (как выглядит интерфейс)
  • System components (как компоненты взаимодействуют)

Deliverables:

  • System architecture diagram
  • Database schema
  • API specifications (Swagger/OpenAPI)
  • UI/UX mockups (Figma)
  • Component interaction diagrams
  • Security design

Роль Business Analyst:

  • Я НЕ дизайнер, но я участник
  • Валидирую design против requirements
  • Спрашиваю hard questions ("Как это обработает 10K пользователей?", "Что если payment API fall?"
  • Убеждаюсь что design покрывает все edge cases
  • Помогаю документировать design decisions

Длительность: 3-6 недель

Пример вопроса, который я задавал: "На дизайне показан path когда заказ успешно создаётся. Но что если inventory service упал? Что происходит? Где error message?" Результат: добавили fallback logic и error handling.

Стадия 4: Development (Разработка)

Цель: Писать код, который реализует design.

Что происходит:

  • Разработчики пишут code
  • Code reviews
  • Unit tests
  • Bug fixes
  • Integration (интегрировать разные компоненты)

В Agile (спринты):

  • Спринт планирование
  • Daily standups
  • Incremental development (каждый спринт = working feature)
  • Continuous integration

Deliverables:

  • Source code
  • Code documentation
  • Build artifacts
  • Database scripts

Роль Business Analyst:

  • Я вовлечен, но не пишу код
  • Clarifications: если разработчик не понимает requirement, я объясняю
  • Code review: проверяю что требования реализованы правильно
  • Update documentation: если requirements изменились, обновляю docs
  • Monitor progress: стек ли мы на сроке?

Длительность: Самая длинная, часто 2-6 месяцев

Пример участия: Разработчик: "Requirement говорит 'система должна отправить email'. Но когда? Сразу? Или асинхронно?" Я: "Хорошее уточнение! Spec говорит 'within 2 minutes'. Это означает асинхронно в queue, затем worker обработает и отправит."

Стадия 5: Testing (Тестирование)

Цель: Убедиться что система работает как требуется.

Типы тестирования:

Unit Testing:

  • Разработчик тестирует функцию
  • "Функция calculateTotal() при input (100, 20%) возвращает 120"

Integration Testing:

  • Тестируем как компоненты работают вместе
  • "Order Service вызывает Payment Service, payment processed, order created"

System Testing:

  • Тестируем всю систему end-to-end
  • "User создает заказ, платит, получает confirmation email, заказ видно в dashboard"

UAT (User Acceptance Testing):

  • Business users тестируют систему
  • "Этот процесс работает как в real life?"

Deliverables:

  • Test plan
  • Test cases
  • Test results
  • Bug reports
  • Sign-off от stakeholders

Роль Business Analyst:

  • Я участвую в UAT
  • Помогаю писать test cases (из requirements)
  • Проверяю что все requirements покрыты тестами
  • Участвую в UAT meeting
  • Объясняю stakeholders что они тестируют и как

Пример test case из требования:

REQUIREMENT: "Order value >= $1000 gets 10% discount"

TEST CASE:
- Input: Create order with 2 items x $600 each = $1200
- Expected: Discount of 10% ($120) applied
- Actual: ✓ Discount applied correctly
- Status: PASS

EDGE CASE:
- Input: Create order with $999.99 (just below threshold)
- Expected: No discount
- Actual: ✓ No discount
- Status: PASS

Длительность: 2-4 недели (зависит от complexity)

Стадия 6: Deployment (Развёртывание)

Цель: Запустить систему в production.

Что происходит:

  • Финальная проверка
  • Data migration (если миграция от старой системы)
  • Training пользователей
  • Развёртывание в production
  • Hotline support (на случай emergencies)

Типы развёртывания:

Big bang:

  • Выключить старую систему, включить новую
  • Риск высокий (если что-то сломалось, всё down)
  • Но быстро

Phased (поэтапное):

  • Сначала 10% пользователей, потом 50%, потом 100%
  • Риск ниже
  • Медленнее

Parallel:

  • Обе системы работают одновременно
  • Самое безопасное
  • Самое дорогое

Blue-green:

  • Blue = старая версия
  • Green = новая версия
  • Load balancer переключается между ними
  • Быстрый rollback if needed

Deliverables:

  • Deployment plan
  • Release notes
  • Training materials
  • User documentation
  • Runbook (что делать if problem)

Роль Business Analyst:

  • Я координирую с stakeholders
  • Убеждаюсь что training готов
  • Создаю release notes (что new, что changed)
  • Доступен для questions во время deploy
  • Participate в post-deploy review

Пример: "Завтра в 10 PM запускаем новую CRM систему. UAT прошла успешно, все requirements реализованы. У нас есть rollback plan если что-то пойдёт не так. Я буду в Slack всю ночь на случай вопросов."

Длительность: 1-2 дня (сама deploy), но подготовка может быть неделями

Стадия 7: Maintenance & Support (Поддержка)

Цель: Исправлять баги, отвечать на вопросы, улучшать систему.

Что происходит:

  • Bug fixes (критичные и non-critical)
  • User support
  • Performance monitoring
  • Security patches
  • Minor improvements ("quick wins")
  • Planning for next version

Роль Business Analyst:

  • Я — главный контакт для пользователей
  • Собираю feedback
  • Приоритизирую bugs
  • Planning next features
  • Анализирую metrics (user adoption, satisfaction)

Длительность: Unlimited (система живёт годами)

Пример проблемы: "Users жалуются что export в Excel slow. Я анализирую:

  • Это feature adoption critical? Yes (50% users используют)
  • Сколько это влияет? Large (15% of users complain)
  • Effort to fix? Medium (need DB optimization + caching)
  • Decision: добавляю в roadmap следующего спринта."

Как это работает в разных методологиях

Waterfall (последовательно):

Planning (完成) → Analysis (完成) → Design (完成) → Dev (в progress) → Testing → Deploy

Минусы: долго ждём feedback, трудно менять, риск high
Плюсы: предсказуемо, формально

Agile (итеративно, спринтами):

Sprint 1: Planning + Analysis (brief) → Design + Dev + Testing → Demo
Sprint 2: Planning + Dev + Testing → Demo
Sprint 3: Planning + Dev + Testing + Deploy → Demo

Минусы: требует discipline, постоянная coordination
Плюсы: быстрый feedback, flexible, качество выше

Как я как BA управляю SDLC

На каждой стадии я:

  1. Planning: Пишу business case, определяю scope
  2. Analysis: Документирую requirements, создаю specs
  3. Design: Валидирую design, задаю tough questions
  4. Development: Clarify требования, monitor progress
  5. Testing: Пишу test cases, участвую в UAT
  6. Deployment: Координирую, создаю release notes
  7. Maintenance: Собираю feedback, приоритизирую улучшения

Типичные проблемы и как я их решаю

Проблема 1: Scope creep (требования постоянно растут)

Решение: Change Control Process
- Если новое требование, заполняют Change Request
- Оцениваю impact (сроки/бюджет)
- Negotiation с stakeholders
- Approve или reject с обоснованием

Проблема 2: Requirements не ясные

Решение: Требования acceptance criteria
- Каждое требование должно иметь чёткие acceptance criteria
- Пример: не просто "быстро", а "< 2 секунд"

Проблема 3: Проект отстаёт от schedule

Решение: Early warning system
- Каждый день standup: зелёный/жёлтый/красный статус
- Красный = intervention нужна
- Может быть: добавить ресурсы, сократить scope, push deadline

Результат хорошо управляемого SDLC

  • Предсказуемость (знаем когда будет ready, сколько стоит)
  • Качество (требования clear, тестирование thorough)
  • Успешный проект (поставляем вовремя, по бюджету, требования выполнены)
  • Счастливые пользователи (система делает то что нужно)

SDLC — это не просто процесс, это как мы обеспечиваем успех проекта.

Какие знаешь стадии SDLC? | PrepBro