Crystal Agile Framework
Crystal Agile Framework призначений для розробки програмного забезпечення. Вона зосереджує увагу на людях, а не на процесах, щоб дати командам можливість знаходити власні рішення для кожного проекту, а не обмежуватися жорсткими методологіями.
На відміну від більш фіксованих фреймворків, таких як Scrum, Crystal визнає, що різні команди будуть працювати по-різному, залежно від розміру команди, критичності та пріоритетності проекту, і заохочує користувачів адаптувати фреймворк до своєї індивідуальної ситуації.
Наприклад, невелика команда може підтримувати регулярну комунікацію, тому їй не потрібно багато звітів про стан справ і документації, тоді як велика команда, швидше за все, може втратити синхронізацію і виграє від більш структурованого підходу.
Вони класифікуються за кольорами відповідно до кількості людей у проекті;
- Crystal clear - Команди з менш ніж 8 людьми
- Crystal yellow - Команди з кількістю учасників від 10 до 20 осіб
- Crystal orange - команди від 20 до 50 осіб
- Crystal red - Команди від 50 до 100 осіб
Історія Crystal-методологій
Crystal Method був створений американським комп'ютерним вченим і піонером Agile технологій Алістером Кокберном під час його роботи в IBM.
Кокберну було доручено вивчити процеси розробки програмного забезпечення, для чого він взяв інтерв'ю у кількох успішних команд розробників, щоб краще зрозуміти, як вони працюють.
Використовуючи те, що він дізнався з інтерв'ю, Кокберн зрозумів, що, незважаючи на успіхи команд, на той час не існувало жодної формальної методології. Натомість існувала низка найкращих практик, заснованих на розмірі команди, критичності та пріоритетах.
Наприкінці дослідження Кокберн дійшов ґрунтовного висновку, який привів його до створення Crystal Methodologies.
Замість того, щоб зосередитися на розробці конкретних, покрокових стратегій розвитку, автор кристалічної структури прагнув встановити керівні принципи для командної співпраці та комунікації.
Crystal розробка в порівнянні з іншими Scrum-методами
Існує багато Agile фреймворків, серед яких XP, Scrum, ASD, FDD і, звичайно ж, Crystal. Кожен тип гнучкої розробки має свої переваги та недоліки - і вибір між ними залежить від того, як працює ваша команда.
Більшість скрам-методів розроблені як універсальні рішення, в той час як Crystal розробка фокусується на ідеї, що кожен проект має унікальні характеристики.
Методології Crystal ставлять перед нами завдання адаптувати наші процеси до цих унікальних особливостей, щоб отримати найкращий можливий кінцевий продукт.
Ключові принципи crystal agile framework
В основі кристала сім'ї лежать сім принципів. Перші три є обов'язковими для всіх кристалічних підходів, але решта є необов'язковими і можуть бути прийняті, якщо це доречно:
1: Часті поставки
Ви повинні регулярно надавати код своїм реальним користувачам. Без цього ви можете створити продукт, який нікому не потрібен.
2: Рефлексивне вдосконалення
Озирніться назад на те, що ви зробили, як ви це зробили і чому. Разом з командою поміркуйте і вирішіть, як це можна покращити в майбутньому.
3: Осмотична комунікація
Кокберн вважав, що ко-локація (розміщення команд в одному фізичному просторі) є критично важливою, оскільки вона дозволяє інформації обмінюватися між членами команди, ніби через осмос.
4: Особиста безпека
Члени команди повинні відчувати себе в безпеці, щоб відкрито обговорювати ідеї, не боячись висміювання. У кришталевій команді немає неправильних відповідей чи поганих пропозицій.
5: Зосередьтеся на роботі
Члени команди повинні знати, над чим працювати далі, і вміти це робити. Це вимагає чіткої комунікації та документації, коли це необхідно.
6: Доступ до профільних експертів та користувачів
Члени команди повинні мати можливість отримати зворотній зв'язок від реальних користувачів та експертів, коли це необхідно.
7: Технічний інструментарій
Ще в 1990-х роках Кокберн говорив, що команди розробників повинні мати доступ до таких інструментів, як безперервне розгортання, автоматизоване тестування та управління конфігурацією. Це означає, що помилки та недоліки можна швидко виявити без втручання людини.
Переваги та недоліки застосування crystal agile framework
Переваги застосування
- Команди мають багато автономії, щоб працювати так, як вони вважають найбільш ефективним
- Команди спілкуються безпосередньо одна з одною, що зменшує накладні витрати на управління
- Фреймворк може адаптуватися, коли команда зростає або зменшується
Недоліки використання
- Відсутність структури може сповільнити роботу недосвідчених команд
- Незрозуміло, як віддалені команди можуть неформально обмінюватися знаннями
- Відсутність жорсткого планування може призвести до плутанини та втрати фокусу
Чи підходить Crystal Agile вашій команді?
Crystal - один з найбільш гнучких фреймворків, що надає величезну свободу вашій команді розробників у розробці процесів, які працюють для них. Це ідеальний варіант для досвідчених та автономних команд розробників.
Однак, оскільки crystal фокусується на командному спілкуванні навколо продукту, що створюється, і не заохочує непотрібну документацію та звітність, іншим частинам організації складно дізнатися, як розробляється продукт.