Я чув про рій, що згадується в контексті програмування Екстремального або Екстремального. Здається, це доповнення до пари.
Що це саме? Коли його слід застосовувати? Як ти це робиш добре?
Я чув про рій, що згадується в контексті програмування Екстремального або Екстремального. Здається, це доповнення до пари.
Що це саме? Коли його слід застосовувати? Як ти це робиш добре?
Відповіді:
Ідея полягає в тому, що всі члени вашої команди працюють над однією і тією ж історією одночасно. Замість того, щоб усі зосередилися на різних завданнях, кожен фокусується на одному завданні, поки воно не буде виконане. Потім вони переходять до наступної речі, де всі разом працюють над цим.
Це допомагає командам, які борються за завершення історії до кінця спринту. Часто команди закінчують 80% усіх історій, але жодна не є повною. Це менш корисно, ніж повністю закінчити 80% історій, оскільки незакінчені історії не мають (фактично) значення для кінцевого споживача. Простіше закінчити розповіді, коли всі в команді зосереджуються на одній історії. У цьому полягає мотивація рою.
Тут є деякі труднощі. Наприклад, QA не завжди може перевірити речі, перш ніж вони побудовані (або навіть спроектовані). У цьому випадку ви повинні створити дизайн разом на початку, і тоді QA може написати (спочатку невдало) тести проти дизайну, а не реальної реалізації.
Рой просто стосується того, що кілька людей працюють разом, щоб виконати завдання чи історію. На мій досвід, це не те, що ти часто робиш.
Зазвичай кожен член моєї команди працює над іншим завданням та / або різною історією. Якщо хтось відстає, або якщо є бажання закінчити завдання чи розповідь рано, інші люди перестануть працювати над іншими завданнями та "рояться", щоб виконати завдання, а це означає, що всі вони працюють разом над одним завданням чи історією, поки це завершено.
Нещодавно у нас була невелика кількість історій, яка була досить сумною, нецікавою роботою. Я дав команді невеликий стимул (піца) та термін (кінець дня), щоб закінчити роботу, тому вони заграли в історію і вибили принаймні пару днів роботи за один день. Вони закінчили роботу і вийшли з дороги рано, потім кожен член команди повернувся до того, над чим працював. Вони отримали безкоштовний обід, я рано завершив роботу, яка могла затягнутися через тупу природу, і команда випередила свій спринт. Безпрограшна робота.
"Рой" - це не що інше, як вигадливий термін для "ей, давайте допоможемо вам у цьому".
Роїння - це насправді центральна концепція спритності. Це не те, що робиться "коли є проблеми". Рой у своїй найпростішій формі означає, що команди працюють спільно над предметами (розповідями) та відпрацьовують їх до завершення. Основна концепція полягає в тому, щоб "кинути старт і почати закінчувати". Іншими словами, замість того, щоб кожен розробник працював самостійно над історією, команда зосереджується на більш обмеженому наборі історій / завдань разом і швидше виконує кожен предмет. Розгляньте це як різницю між однопотоковою системою та багатопотоковою. Якщо в User Story є 10 завдань, які необхідно виконати, і на кожне - 8 годин, якщо припустити, що не було ніяких ускладнень, один розробник міг працювати над кожним завданням послідовно і завершувати історію за 80 годин або приблизно за два тижні (даючи 10-денний спринт 8 годин на день). Що робити, якщо два розробники розділили завдання і попрацювали над ними одночасно? Ті ж 80 годин роботи можна виконати таким чином за один тиждень. Додайте третю частину, і ви можете побачити, що це може бути зроблено через 3 - 4 дні.
Роїння можна проводити кількома способами:
Команди, які надають історію кожному розробнику, як правило, мають занадто багато "незавершеної роботи" або WIP, і часто багато історій починається, але не робиться. Це АНТИПАТЕРНЕТ, і НЕ найкраща практика.
Команди, у яких рой, як правило, мають менше WIP та завершують більше історій - я вже маю на увазі Розвинені, перевірені, затверджені, готові до розгортання. Таким чином, така практика є основою спритності.
Наступна стаття про InfoQ описує один підхід до роїння:
Прочитайте статтю для детального пояснення.