nmk

Лекція №10 (2 години). Управління контрактами (SLA, Outsourcing), закупівлі та завершення проєкту

План лекції

  1. Види контрактів в IT: Fixed Price, Time & Material, Dedicated Team, Outstaffing.
  2. Процес вибору підрядників. Outsourcing vs Insourcing в IT.
  3. SLA (Service Level Agreement) — гарантія якості послуг.
  4. Процеси завершення проєкту (Handover, підписання актів, розпуск команди).
  5. Вивчені уроки (Lessons Learned) та проведення ретроспектив.
  6. Написання пост-мортемів (Post-Mortem).
  7. Оцінка успішності проєкту.

Перелік умовних скорочень

Вступ

Проєкт не закінчується в момент, коли програміст написав останній рядок коду і натиснув Commit. Це лише завершення технічної фази. Один із найважливіших етапів IT-проєктування — це його юридичне та адміністративне оформлення: як ми наймаємо людей (контракти), як передаємо готовий продукт клієнту, та які висновки робимо після завершення.

Якщо проєкт починається без чіткого контракту або закінчується без ретроспективи, команда приречена постійно повторювати одні й ті самі помилки, втрачаючи гроші і клієнтів.


1. Види контрактів в IT

Вибір типу контракту визначає, хто нестиме основні ризики: замовник чи IT-компанія (виконавець).

1. Fixed Price (Фіксована ціна):

2. Time & Material, T&M (Час і матеріали):

3. Dedicated Team (Виділена команда):

4. Outstaffing (Оренда “голів”):


2. Outsourcing vs Insourcing в IT. Закупівлі

Insourcing (In-house-розробка): Продукт створюється власними штатними працівниками компанії.

Outsourcing (Аутсорсинг): Передача розробки (або її частини) сторонній компанії.

Процес закупівель (РFI, RFQ, RFP): Коли компанії потрібно найняти підрядника (наприклад, купити систему безпеки), вона проходить 3 етапи:

  1. RFI (Request for Information): “Розкажіть, хто ви і що взагалі вмієте?” (збираємо загальну інформацію по ринку).
  2. RFQ (Request for Quotation): Запит ціни. “Ми хочемо ось це. Скільки це буде коштувати?”.
  3. RFP (Request for Proposal): Найсерйозніший документ. Оголошується тендер. “Ось наша проблема, запропонуйте нам технічне рішення і дайте повний кошторис”.

3. SLA (Service Level Agreement)

Коли проєкт здано, часто IT-компанія залишається надавати підтримку. Тут працює SLA (Угода про рівень обслуговування).

Це юридичний документ, в якому математично описано критерії якості. Ніхто не пише “Ми будемо добре вас обслуговувати”. В SLA пишуть:


4. Процеси завершення проєкту

Проєкт закінчується не тоді, коли закінчився бюджет, а коли продукт передано клієнту, всі документи підписані, а команда переведена на нові завдання.

Етап Handover (Передача):

  1. Навчання користувачів: розробники проводять воркшопи для команди клієнта.
  2. Передача ключів: клієнту віддають доступ до репозиторіїв з кодом (GitHub), паролі від серверів баз даних (AWS), ліцензійні ключі.
  3. Підписання Акта прийому-передачі виконаних робіт — юридичного документа, після підписання якого клієнт визнає: “Я все перевірив (через UAT-тестування), мене все влаштовує, плачу фінальний платіж”.

Після цього відбувається Release / Розпуск команди. Керівник проєкту (та HR-відділ) переводить звільнених розробників на нові (bench) або інші проєкти. Робити це треба швидко, інакше програмісти без поточного завдання (які сидять “на бенчі”) просто “спалюють” гроші компанії.


5. Вивчені уроки (Lessons Learned) та Ретроспективи

Після того, як пил проєкту осів, команда обов’язково має зустрітися для проведення Ретроспективи (Lessons Learned meeting). Це мітинг не для того, щоб покарати винних, а щоб обговорити три питання:

  1. Що ми зробили добре? (Які технології спрацювали, які процеси треба перенести на наступні проєкти).
  2. Що пішло не так? (Чому ми двічі зірвали дедлайн, чому сервер не витримав навантаження).
  3. Що ми змінимо наступного разу? (Action Items - конкретні кроки).

Результатом цієї зустрічі є документ Lessons Learned Register, який додається до бази знань компанії (в Confluence). Завдяки йому молодий PM, який прийде в компанію через рік роблячи схожий проєкт, зможе прочитати: “О, вони використовували цей платіжний шлюз і мучилися з ним місяць. Я виберу інший інструмент”.


6. Написання пост-мортемів (Post-Mortem)

Класична Ретроспектива проводиться після всього проєкту (або після кожного спринту). Post-Mortem (від лат. “після смерті”) пишеться здебільшого після великого факапу чи масштабного інциденту (наприклад, на 3 години впав Production сервер через баг у коді).

Ключове правило Post-Mortem в IT (яке популяризувала компанія Google) — він має бути Blameless (Без звинувачень). Замість того, щоб писати “Джуніор Вася випадково видалив базу даних, ми його звільнили”, пишуть “Процес релізу дозволяв інженеру без достатніх прав виконати деструктивну команду на Production-середовищі”.

Коректний пост-мортем описує:


7. Оцінка успішності проєкту

Наприкінці PM має оцінити метрики успіху. Проєкт вважається успішним, якщо:

  1. Задоволені потреби бізнесу (клієнт отримав те, що хотів, тобто потрібний Scope).
  2. Дотримано час (Schedule) і бюджет (Cost Project Baseline).
  3. Команда залишилася цілою (люди не звільнилися від вигорання через постійні овертайми і готові працювати з цим PM-ом на нових ініціативах).
  4. Процес створення продукту приніс корисні “Вивчені уроки” в скарбничку IT-компанії.

Висновки

  1. Існує кардинальна різниця між контрактами Fixed Price (ризикує компанія) та T&M (ризикує замовник, але він має повну Agile-гнучкість). Також використовують формати Dedicated Team та Outstaffing (надання розробників в оренду).
  2. SLA (Service Level Agreement) математично фіксує якість технічної підтримки (Uptime, швидкість реакції) після здачі продукту.
  3. Процес закупівель і вибору підрядників складається із запитів (RFI, RFQ, RFP), щоб обрати найвигідніший формат співпраці.
  4. Завершення проєкту (Handover) вимагає юридичного оформлення: передачі доступів, навчання клієнта та підписання Актів прийому-передачі.
  5. “Blameless” підхід у складанні Post-Mortem документів дозволяє команді сфокусуватись на ремонті зламаних процесів (через аналіз першопричини Root Cause), а не на пошуку і звільненні “винних” програмістів.
  6. Вміння зібрати і зберегти Lessons Learned (“Вивчені уроки”) у корпоративній Wiki-системі формує досвід організації, який відділяє компанію-професіонала від новачків на ринку IT.

Джерела

  1. Інститут управління проєктами (PMI). A Guide to the Project Management Body of Knowledge (PMBOK® Guide). (Розділи Project Procurement Management та Project Integration/Closing Management).
  2. Google SRE Book (Site Reliability Engineering). Розділ “Postmortem Culture: Learning from Failure”.
  3. Р. Нільсон. Мистецтво управління IT-ресурсами.

Запитання для самоперевірки

  1. Чому розробка проєкту за моделлю Scrum неможлива (або вкрай ризикована для IT-компанії) за контрактом Fixed-Price? Який тип контракту ідеально підходить для Scrum?
  2. Поясніть своїми словами, чим організаційно відрізняється Outsourcing (клієнт віддає проєкт вам) від Outstaffing (клієнт “орендує” ваших розробників). Хто у другому випадку управляє проєктом?
  3. Що таке SLA? Наведіть 2 приклади метрик для технічної підтримки, які зазвичай включають в угоду про рівень обслуговування.
  4. Які кроки включає в себе етап “Handover” (передача) перед фінальним розпуском IT-команди з проєкту?
  5. Наведіть приклад “Blameless Post-Mortem” підходу. Як ви опишете інцидент (наприклад, падіння бази даних), щоб не переходити на особистості, а зробити акцент на вирішенні проблеми з процесами компанії?