Відмова від попередніх оцінок: у чому значення # NoEstimates
Пару років тому в Твіттері з'явився хештег # NoEstimates. Метою його створення була дискусія про те, чим варто замінити попередні оцінки вартості та термінів проекту. Сама ідея проекту без таких оцінок звучить дивно для більшості софту, однак, якщо вникнути, можна виявити більш вдалі джерела інформації.
Коли я вперше почув про хештег # NoEstimates, він звучав дивно, навіть єресю. Як можливий проект без попередніх оцінок? Хіба не будь-кому очевидно, що вони є основою для планування, без якої нічого не зробиш?
У два роки це перетворилося на дискусійну тему, і я багаторазово думав і писав про це. Ця стаття підсумовує моє ставлення до # NoEstimates і його реальні цілі.
Що таке # NoEstimates?
Думаю, хештег навмисно зробили провокаційним. Але якщо подивитися на сайт, видно, що насправді ідея не настільки категорична. Люди, які породили дискусію (Вуді Зуілл, Ніл Кіллік і Васко Дуарте), кажуть, що вона присвячена альтернативам попереднім оцінкам, а не просто відмові від них.
Однак це неминуче породило у менеджерів проектів заперечення і закономірні питання: "Але як без цього планувати? Чи не повинен замовник проекту, що сплачує за нього, знати, в яку суму проект обійдеться і скільки займе його створення? "
Це дуже хороші питання.
Уявіть, що ви найняли когось робити ремонт у кухні. Ви запитуєте у нього кошторис, і він каже, що все обійдеться в 20 000 і займе чотири тижні. Ви знаєте, що він помиляється. На практиці вийде вдвічі довше і вдвічі дорожче.
Але якщо ви вже це знаєте, навіщо ви питаєте спочатку?
Якщо ви думаєте «Мені потрібні можливі значення, щоб робота виявилася зроблена», припиняйте це. Будь у вас нескінченний запас часу і грошей, вона б у будь-якому випадку виявилася зроблена.
Нам не потрібні попередні оцінки самі по собі. Але ми їх жадаємо.
Чому ми їх прагнемо?
Ми хочемо їх для того, щоб прийняти рішення. Ґрунтуючись на них, ми вирішуємо, чи варто проект того. Якщо він коштує занадто дорого або займе занадто довго, ми можемо скасувати його або відкласти. Отже, якщо ми порівняємо різні оцінки, зможемо вибрати ту, яка підходить нам краще.
Крім того, вони допомагають у плануванні. Наприклад, якщо передбачається, що розробка продукту займе рік, то його маркетинг почнеться за пару місяців до закінчення цього року. А тренувати продажників почнуть за місяць. Попередні оцінки дають нам ці подання, що дозволяють точніше планувати.
Очевидно, що вони важливі: всі хочуть їх отримати. Але нюанс у тому, що ніхто не любить їх надавати.
Проблема з попередніми оцінками
Ви коли-небудь давали попередню оцінку, яка «магічно» перетворювалася на зобов'язання? Ця організаційна накладка відбувається дуже часто, і неточні прогнози стають дедлайнами, за відповідністю яких оцінюють розробника.
Розробники розумні, тому не попадаються в цю пастку двічі. Вони роблять прогнози із запасом, потім команда додає часу про всяк випадок, а потім ще начальник підсилює, щоб точно вийшло. Ми можемо перейти від декількох тижнів до місяців, а то й років.
І тут все вже стає неправильно. Якщо оцінка нам потрібна для того, щоб прийняти рішення, то у нас вже не ті числа, на підставі яких треба вирішувати!
Ми настільки розумні, що знайшли рішення для цього: якщо ми дізнаємося про проект більше, то отримуємо більш точне уявлення (так, буває і таке). Якщо всі згодні з необхідним обсягом роботи, то немає потреби в запасі. Так ми збираємося, дискутуємо, зустрічаємося знову, часом тижнями, щоб якомога точніше оцінити, що ми збираємося зробити. Через кілька місяців у нас нарешті з'являється число на руках. І за цю пару місяців ми витратили сотні людиногодин на оцінки і підрахунки замість того, щоб, власне, створювати продукт.
Є багато проблем з оцінками. Але головне навіть не в цьому.
Попередні оцінки не дуже-то допомагають
Я ніколи не бачив, щоб проект скасували через них. Якщо він був досить цінним, ми знаходили спосіб його зробити. Зате я бачив, як проекти відкладали через те, що їх цінність була невизначеною. І приємно мати кілька різних варіантів, але вони всі не мають цінності, якщо в момент прийняття рішення всім їм в рівній мірі не довіряєш. І покажіть мені голову проекту, який настільки довіриться моєму сьогоднішньому прогнозу, що через десять місяців не перепитає мене, чи дійсно можна починати займатися маркетингом.
Ми хочемо отримувати попередні оцінки для прийняття рішень і планування. Але, здається, вони не надто корисні інструменти для цих завдань.
Ми не довіряємо прогнозам, тому що ми погано їх робимо. Ми пристрасні, ми надміру оптимістичні, ми думаємо, що знаємо про що говоримо, і здійснити проект буде раз плюнути. А потім ми щоразу виявляємося здивовані. Так що при зустрічі з попередніми оцінками ми налаштовані скептично і праві в цьому.
У нас є також теоретичне обґрунтування для цього. Стів МакКоннелл познайомив світ з концепцій Конуса Невизначеності двадцять років тому. Коли ми робимо попередню оцінку проекту, ми знаємо про нього найменше. Чим більше ми просуваємося в роботі, тим сильніше розсіюється туман і уточнюються прогнози. Але якщо вимоги змінюються (а вони завжди змінюються), конус знову розкривається, і всі оцінки летять псу під хвіст.
Чого ми хочемо насправді?
Ми хочемо бути праві. Ми хочемо приймати правильні рішення і відчувати себе впевнено у зв'язку з цим. Оцінки є інструментами для цього, але чи покладатися тільки на них. Можливо, є інше джерело інформації, здатне допомогти нам діяти правильно і впевнено.
Ніл Кіллік наводить такий приклад. Вам потрібно дістатися кудись поїздом. Ви можете запитати «коли поїзд від'їжджає?», і я дам приблизну оцінку, яка допомагає планувати. Але якби я сказав «не буду гадати, коли від'їжджає, але точно знаю, що вони ходять через десять хвилин», це б допомогло прийняти краще рішення?
При появі нової інформації точність попередніх оцінок раптово стає менш значущою.
Які ще види інформації можуть нам допомогти?
Якщо озирнутися, можна побачити й інші різновиди інформації, на підставі якої можна приймати рішення.
Пріоритезація за цінністю: якщо ми оцінимо, яку цінність отримаємо, а потім порівняємо з передбачуваними витратами, зможемо прийняти краще рішення. Фокусуватися на цінності, а не вартості, означає виходити з того, куди варто інвестувати. Методи планування на кшталт підрахунку вартості затримки ставлять на перше місце цінність, дозволяючи легко порівнювати проекти і розставляти пріоритети.
Оцінка складності: оцінити, наскільки проект схожий на інші і яка частина інформації про них застосовна до вашої команди. Чи здійснювався подібний проект раніше вашою командою? У вашій компанії? Чи він абсолютно новий? Відповідайте на це і зрозумієте, чого варті ваші оцінки. Модель Ліз Кеох для оцінки складності може помістити ваші оцінки в контекст.
Збирайте дані: досвід минулого дозволяє передбачати куди точніше, ніж внутрішній голос. Те, з якою швидкістю працює команда над проектом, говорить про те, який термін буде логічним для подібних проектів. Однак це може не бути застосовним для інших команд, технологій або областей, так що тут варто бути обережним.
Знижуйте варіативність: дані про швидкість корисні, якщо проекти близькі за розміром. Якщо на щось завжди йде три-чотири дні, то можна передбачати. Якщо все дуже по-різному, то вже точно не передбачиш. Команда повинна вміти відміряти рівні проміжки роботи, і коли навчиться, прогнозувати стане можна куди надійніше.
Припускайте, що нічого не знаєте: колишній міністр оборони США розумно зводив категорії знання до «про що ми знаємо, що це знаємо», «що ми не знаємо» і «про що ми не знаємо, що цього не знаємо». За першими двома категоріями ми складаємо прогнози, а третя рве всі наші прогнози на шматки. Найважливіше, що ми можемо припустити: що ми нічого не знаємо і все відоме нам лише припущення.
Підраховуйте свої припущення: наші оцінки засновані на припущеннях, і краще спочатку обговорити припущення, а потім вже переходити до заснованих на них прогнозів. Коли ми робимо відомими наші припущення, відбувається кумедна річ: вони можуть бути розкритиковані, схвалені або розгромлені. Критика, яку доведеться отримати, досить скромна плата за те, щоб ґрунтуватися на відірваних від реальності припущеннях.
Експериментуйте: нарешті, чи варто брати все з голови? Можливо, варто на практиці спробувати зрозуміти, що нам належить зробити. Замість створення плану на основі наших висмоктаних з пальця можна експериментально перевірити багато припущень. Ми можемо запланувати набір маленьких, бюджетних, що не загрожують нам у разі провалу експериментів, які покажуть, які з припущень вірні, і покажуть шлях до успішного продукту, а не болючого провалу.
Існують проекти, зроблені взагалі без прогнозів. Але для такого підходу потрібно, щоб оточення його розуміло. Якщо ваша організація ще не досягла розуміння, спробуйте навчити оточуючих вас людей хоча б використовувати альтернативи як доповнення прогнозів, якщо не заміни. Обмежте час на вираховування оцінок і замість цього відведіть його на швидке отримання фідбеку про припущення.
Коли я починав вивчати # NoEstimates, ідея здавалася мені дивною. Тепер дивним мені здається традиційний підхід. Хоча дуже легко запитати «В яку суму це обійдеться», я тепер майже автоматично замість цього намагаюся здійснювати рішення, засновані меншою мірою на припущеннях і більшою на реальній інформації. Це логічніше, чи не так?
