Велосипедний Agile

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

image

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

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

image

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

  • Це і не итеративная і не инкрементная моделі розробки. Ви не зможете побудувати автомобіль, якщо почнете зі скейтборду, а потім зробите велосипед або мотоцикл. Як Книберг сам зазначає у своєму блозі, картинка описує розробку продукції, а не розробку програмного забезпечення.
  • Потрібно занадто багато припущень, щоб співвіднести його з розробкою програмного забезпечення. Так, під час семінару, ведучий припустив, що головним завданням, яке треба було вирішити був перевіз коробок з одного кінця паркування, на інший кінець, і тоді скейтборд міг вважатися кращим рішенням ( адже кінцевий результат, чотиридверний седан не зовсім підходить для цього).
  • якщо б мене найняли, щоб створити машину, а я б в якості прототипу показав скейтборд, то мене б тут же звільнили.
А що ще гірше, мій генеральний директор по професії інженер, і він управляв нашим виробництвом протягом декількох років, перш, ніж стати генеральним директором. Якщо б я показав йому цю аналогію, то я б все нарада витратив на захист цієї картинки, і ми б навіть не дійшли до головної теми — гнучкої методології розробки.

Картинки та ментальні моделі ніколи не ідеальні, але вони можуть бути непогані. Але це зображення недостатньо добре. Насправді, знадобилося багато років, перш ніж автомобіль зміг перевершити кінь у простих параметрах, і у нас пішов цілий вік на розвиток автомобілебудування. Картинки з поясненнями повинні бути простіше, ніж те, що вони пояснюють.

А ця картинка набагато складніше, ніж гнучка методологія розробки, т. до. у ній об'єднано 125 років розвитку автомобілебудування в декількох зображеннях. Більше того, для тих, хто хоч трохи розбирається в машинах або виробничому процесі, ця картинка стане радше перешкодою, ніж допомогою.

Але в цій картинці все-таки є одна хороша аналогія — велосипед. Майже всі коли-небудь каталися на велосипеді, і як його технологія, так і історія розвитку досить прості. Більш того, розвиток велосипеда — як мінімум на самому початку, а може бути і пізніше — було ітеративним, так і інкрементною.

Велосипедний Agile
Протягом 200 років з допомогою велосипедів намагалися вирішити одну конкретну задачу:
Як можна пересувати швидше, використовуючи лише свою власну силу?

Ітерація 1: Самокат

image

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

Ітерація 2: Педалі

image

У другій ітерації були додані педалі, прикріплені прямо до переднього колеса.

Тепер можна було збільшувати швидкість їзди, не торкаючись ногами землі. З'явилася можливо подорожувати швидше і далі. Але педалі все ще були неефективні, вони не використовували всю прикладене силу.

Ітерація 3: Пенні-фартінг

image

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

Велосипед «пенні-фартінг» був популярний серед здорових молодих людей, але висока ціна і небезпека такої конструкції — тільки уявіть, що буде, якщо впадете з нього!- зменшили попит.

Ітерація 4: Безпечний велосипед

image

Як міг велосипед зберегти або навіть збільшити ефективність моделі «пенні-фартінг», і при цьому стати більш безпечним? За допомогою ланцюгової передачі на заднє колесо.

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

Ітерація 5: Перемикання швидкостей

Багатошвидкісні велосипеди.
image

Велосипедний перемикач швидкостей дозволяє змінювати швидкості на велосипеді. Він був винайдений близько 1900 року. Завдяки планетарному механізмові стало можливо зменшити прикладаються зусилля і збільшити ефективність за рахунок використання низьких передач на старті або під час підйому на пагорбі, і високих під час швидкої їзди. Велосипед прийняв вигляд, який зберіг до наших днів.

Просунута аналогія
Чому історія розвитку велосипедів підходить в якості аналогії для гнучкої методології розробки?

  • Кожна ітерація велосипеда вирішувала одну і ту ж проблему: використання людської сили для більш швидкого руху.
  • Пристрій велосипеда всім знайомо і зрозуміло.
  • Історія розвитку велосипеда дійсно инкрементна: на кожній стадії додавалися нові деталі, але використовувалася постійна парадигма. На деяких стадіях велосипед перетворювався завдяки застосуванню нових технологій.
  • Розвиток в той же час було і ітеративним. Різні версії велосипедів були представлені конкуруючими виробниками, це дозволяло користувачам велосипедів інформувати виробників про те, які зміни необхідні. Деякі нововведення, такі як педалі, були збережені в наступних ітераціях, а наприклад величезне колесо, як у моделі «пенні-фартінг» було швидко відкинуто.
Може бути хто-небудь зможе перетворити цю аналогію в комікс для наступного бестселера про гнучкої розробки?
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.