Agile - шипи та загальна хронологія


9

Команда починає свій перший капітальний проект Agile, і проект здається, що він буде добре узгоджуватися з методологією (тобто, ймовірно, ми можемо просто захопити спритну книгу і слідувати за нею, як рецепт), з одним трохи плутанини:

Проект передбачає три речі, з якими ніхто з команди не має досвіду: Інтеграція із системою оплати праці Foo, вміти обробляти тип файлу XYZ89 (де "XYZ89" = певний тип файлу, про який ви ніколи не чули) та конвертувати деякі інші файли, щоб їх можна обробляти Frobnobdicator.

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

Отже, мої запитання:

  1. Чи робимо ми всі шипи спереду в першій ітерації, щоб отримати кращу оцінку часу, який потрібно буде зробити, і / або отримати "ходьба скелета" вгору і працює?

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

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

agile 

Відповіді:


4

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

Ось чому багато проектів Agile зазвичай починаються з " Sprint 0" , який я люблю називати .

Подумайте про це як зав'язування кросівок, розтягування та надягання пов'язок на соски безпосередньо перед початком марафону. Цей час може бути використаний для початкового планування проектів та створення історій користувачів, розробки дизайну та архітектури, створення рамок програмного забезпечення, а розробники можуть працювати над будь-якими прототипами та підтверджувати концепції для будь-якої нової технології або невідомих технічних проблем, які зроблять історію історії користувача оцінка набагато простіше.


1
Бандаїди на сосках - абсолютна необхідність! Так само спринт 0 для всіх, крім самих тривіальних та найменш ризикових проектів!
Майкл

3

Ви повинні робити в порядку пріоритету, встановленого власником товару (або замовником). Немає сенсу вбивати себе над чимось, що було насправді приємним. Ідея полягає в тому, що якщо у вас не вистачає часу, а щось не вдається зробити, це повинні бути пункти з найменшим пріоритетом.

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

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

Складні предмети насправді не є "шипами". Це просто речі, які потребують більше зусиль, щоб розібратися. Розбийте їх на більш прості завдання, наскільки ви можете.


1
Я думаю, що в цьому випадку вони повинні бути шипами, тому що ніхто з команди ніколи не працював із системою Foo Payroll, файлами XYZ89 або Frobnobdicator раніше. Ми не маємо ідеї, скільки триватиме інтеграція до цих систем.

@ Джордан - Я розумію, але якщо ви базуєте свої оцінки на основі моделі складності, на відміну від погодинної моделі, ви можете отримати уявлення про те, що буде потрібно. Так, у вас є крива навчання файлових форматів та API - трохи більше складності. Так, вам доведеться працювати з людьми з оплати праці - трохи більше складності. Це може означати, що ви можете працювати лише над одним із цих предметів і нічим іншим в ітерації.
Меттью Флінн

1
Я настійно рекомендую ознайомитись із застосованими історіями користувача Майка Конна ( amazon.com/User-Stories-Applied-Software-Development/dp/… )
Меттью Флінн

1
Ну звичайно, я розумію цінність оцінки з точки зору відносної складності на відміну від годин. Частина, з якою я плутаюсь, - якби цей підхід був правильним для описаної мною ситуації, здавалося б, шипи ніколи не використовуються в жодному проекті (чорти просто скажуть "так, це здається, що 3, це здається 5 ", хоча ніхто не знає нічого про інтеграцію з системою Fizzbot)

Ну, я сподіваюсь, що якщо про Fizzbot ніхто не знає, вони би сказали, що це схоже на 13 або 21, а потім розбить завдання - 1. дізнатися щось про Fizzbot. 2. Побудувати базовий доступ до Fizzbot. 3. Модельний чохол для реального використання Fizzbot. 4. Побудувати інтеграційні тести. 5. Побудуйте справжню інтеграцію Fizzbot ... Ви знаєте, розбийте шматки на речі, які зрозумілі і, сподіваємось, кусаються за розміром.
Меттью Флінн

0

Можливе рішення - це створити іграшку завдання для доказування концепції, щоб з'ясувати, як вирішити проблему та встановити таймфрейк, а потім додати цю історію до спринту з іншими історіями.

Ви надаєте підвіконня вартість і продукт в кінці спринту, навіть якщо це додаток для хак-консолі. Ідея полягає в тому, що ви не занурюєте продуктивність всієї команди, якщо у вас не вистачає часу, ви додаєте ще одне подібне завдання до наступного спринту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.