Перейти до вмісту

Що таке Agile-розробка?

Agile — це парасолькова назва для сімейства методів, побудованих навколо однієї ставки: програмне забезпечення занадто непередбачуване, щоб детально планувати його наперед, тому постачайте маленькими порціями, прислухайтеся до того, що повертається у відповідь, і постійно коригуйте.

Ця сторінка охоплює передісторію. Якщо ви вже все це знаєте, перегортайте до Як East Agile Tracker відображається на agile.

У лютому 2001 року сімнадцять практиків програмного забезпечення — Кент Бек, Мартін Фаулер, Роберт Мартін, Рон Джеффріс та інші — зустрілися в гірськолижному будиночку в штаті Юта й записали те, що в них було спільного. Вони назвали це Маніфестом Agile. Це чотири рядки:

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

  • Людей та взаємодію понад процеси та інструменти
  • Працюючий продукт понад вичерпну документацію
  • Співпрацю з клієнтом понад узгодження умов контракту
  • Готовність до змін понад дотримання плану

Тобто, хоча цінність є у позиціях праворуч, ми цінуємо позиції ліворуч більше.

Ось і все. Сторінка преамбули, дванадцять допоміжних принципів і чотири рядки вище. Це найвпливовіший документ у сучасній практиці розробки програмного забезпечення.

За чотирма цінностями дванадцять принципів маніфесту докладно описують, як «agile» насправді виглядає день у день:

  1. Найвищий пріоритет — задоволення клієнта завдяки ранній та безперервній доставці цінного програмного забезпечення.
  2. Вітайте зміну вимог, навіть пізню. Agile-процеси приборкують зміни на користь конкурентної переваги клієнта.
  3. Постачайте працюючий продукт часто — тижні, а не місяці.
  4. Бізнес-люди та розробники мають працювати разом щодня.
  5. Будуйте проєкти навколо вмотивованих людей. Дайте їм те, що їм потрібно, і довіртеся, що вони виконають роботу.
  6. Найефективніший спосіб передачі інформації — розмова віч-на-віч.
  7. Працюючий продукт — основна міра прогресу.
  8. Agile-процеси сприяють сталому розвитку — постійному темпу, безмежно.
  9. Постійна увага до технічної досконалості та доброго дизайну посилює гнучкість.
  10. Простота — мистецтво максимізувати обсяг невиконаної роботи — є суттєвою.
  11. Найкращі архітектури, вимоги та дизайни виникають у самоорганізованих командах.
  12. Команда регулярно розмірковує над тим, як стати ефективнішою, а потім налаштовується й коригується.

«Agile» — це парасолька. Під нею знаходиться кілька окремих методологій:

  • eXtreme Programming (XP) — найвимогливіший із сімейства. Парне програмування, TDD, безперервна інтеграція, клієнт на місці, малі релізи. Дивіться нашу сторінку про XP.
  • Scrum — обмежені в часі ітерації, що називаються спринтами, щоденні стендапи, названі ролі (Product Owner, Scrum Master). Легший на інженерні практики, ніж XP.
  • Kanban — візуалізуйте робочий процес, обмежуйте незавершену роботу, оптимізуйте потік. Без часових рамок; витягування замість проштовхування.
  • Lean — запозичений з виробничої системи Toyota: усувайте марнотратство, оптимізуйте ціле, постачайте швидко, вбудовуйте якість.

Ці методи перетинаються та комбінуються. Більшість робочих команд вибірково беруть із усіх чотирьох. East Agile Tracker має чітку позицію на користь XP — дивіться eXtreme Programming — але більшість того, що він пропонує, працює для будь-якого різновиду agile.

Кілька стійких хибних уявлень, які варто назвати:

  • Agile — це не «без планування». Плани менші та коротші, але планування є постійним.
  • Agile — це не «без документації». Пишіть те, що потрібно. Маніфест каже, що працюючий продукт цінніший, ніж вичерпна документація — а не що документація погана.
  • Agile — це не Scrum. Scrum — це один agile-метод. Їх кілька.
  • Agile — це не інструмент. Жоден інструмент не робить вас agile. Agile — це спосіб роботи. Інструменти (включно з цим) допомагають; вони не замінюють.

Як East Agile Tracker відображається на agile

Section titled “Як East Agile Tracker відображається на agile”

East Agile Tracker спроєктовано навколо наведених вище принципів. Ось відповідність:

ПринципЯк трекер його підтримує
Безперервна доставкаІтерації 1–4 тижні; автопланування на основі швидкості; релізи як повноцінний тип історії.
Вітайте зміниЗмінюйте порядок беклогу будь-коли; історії вільно переміщуються між ітераціями; жодного «блокування ітерації».
Працюючий продукт як міраШвидкість за замовчуванням рахує прийняті бали — рахується лише доставлена, працююча робота.
Сталий темпШвидкість — це не ціль; це спостереження. Система планує наступну ітерацію з тим, що ви насправді робите.
РефлексіяАналітика по кожній ітерації: діаграма згоряння, рівень відхилень, час циклу, прогнози.
Самоорганізовані командиРолі навмисно мінімальні: owner / member / viewer. Команда вирішує.
ПростотаПанель деталей — це один екран. Дошка вміщується на одній сторінці. Ми чинимо опір функціям, що відволікають від випуску.

Маніфест було написано у 2001 році. Відтоді розробка програмного забезпечення отримала новий вид учасника: AI-агентів.

Ми вважаємо, що агенти належать до agile-команди — як названі учасники, зі своїми ролями, які виконують реальну роботу пліч-о-пліч з людьми. Принципи все ще діють. Люди та взаємодія тепер включає учасників-агентів. Самоорганізовані команди тепер включають вирішення, яких агентів залучити і що їм дозволено робити. Рефлексія тепер включає погляд на внески агентів у журналі активності та налаштування того, над чим вони працюють.

East Agile Tracker побудований, щоб зробити це практичним. Кожна історія може належати людині чи агенту. Кожен запис у журналі аудиту приписує справжнього актора. Кожна дія, яку виконує агент, є видимою, придатною для перегляду та відкликання.

Створено East Agile.