Что значит оценить?
Всякое действие направленное на снижение неопределенности называется измерением1. Между оценкой и измерением невидимая грань: часто разница лишь в точности предоставляемого результата измерения. Самый точный способ измерить сколько времени что-то займет — включить секундомер и сделать дело.
Модель «Зануда»
Что делает компьютер? Безошибочно и буквально следует вашим желаниям.
Модель «Космонавт»
Какую точность оценки можно ожидать? Если длина среднего человеческого шага где-то 1 метр, то современный процессор с тактовой частотой 4 ГГц совершит почти 4 миллиарда шагов за 1 секунду, то есть «пройдёт» 4 миллиона километров. За 45 секунд вы сможете пешком добраться до Марса (около 175 миллионов километров от Земли), за 15 секунд совершить 1500 кругосветных путешествий, прогулка до Луны займет лишь 1/10 секунды. Какую точность оценки мы ожидаем услышать от человека, который по долгу службы вынужден существовать в этом бескрайнем пространстве, что без должной заботы само по себе2 превращается в вязкое непроходимое болото для него самого и коллег? Какую степень уверенности и привлекательности должно излучать лицо «ресурса»3, чтобы озвучиваемая точность оценки вызывала доверие инвестора?
Слабая позиция
В контексте проблемы принципала-агента следует помнить, что агентом, как ни странно, часто является клиент, так как именно он полностью владеет информацией о том, что должно быть сделано. Аджайл, например, рекомендует4 не тратить время на выявление всех возможных деталей контракта, если не существует возможности тесной работы с тем, кто ужинает и танцует.
Без удовольствия
Если вы программируете не удовольствия ради, то скорее всего делаете это в интересах инвестора5. Следовательно, нечего даже и шевелиться без оценки ожидаемой окупаемости (ROI). Естественно с учетом стоимости денег (NPV).
Команда
Игра внутри организации разработчика не обязательно кооперативная, а сам процесс разработки можно моделировать в терминах теории игр. Равно как и процесс финансирования проекта.
Модель «Дикари»6
Вы прокладываете маршрут пешего похода по Калифорнийскому побережью из точки А в точку Б на карте. Глядя с высоты МКС на свой маршрут, вы будете видеть ровную стройную линию предстоящего пути. Стоит спуститься на высоту птичьего полета и вам станут заметны некоторые серьезные оттяпанности береговой линии. Её первоначальная гладкость уступит место извилистому живому пейзажу, проступят непроходимые участки и карта в целом подгрузит множество новых деталей, которые не были заметны с высоты первой космической скорости. Позумив еще чуть-чуть, вы обнаружите, что не учли сильные перепады высот ландшафта некоторых из участков пути, а это значит, что вам понадобится кое-какое снаряжение для их преодоления. Оно в свою очередь увеличит вес ваших рюкзаков, а значит уменьшит скорость прохождения всей дистанции. Измерить точно, сколько времени займет путь, не исследовав его вдоль и поперек — довольно сложно. Даже имея релевантный опыт прокладки маршрутов в похожих обстоятельствах в одной и той же географической широте.
Модель «Победители»
Вы один из нескольких десятков победителей дубайского спортлото. Шейх мультимиллиардер с нескрываемым удовольствием и за просто так готов оплатить все, что вы сможете вынести из местного бесконечного молла за 15 минут. Каждый из счастливчиков может позволить себе взять что угодно на будущее. Никто не станет останавливать ваши любые порывы к стяжательству. Одному нужен новенький шмот для любимой баси. Другая думает о своем дедушке и будет рада найти противопролежневый матрас и грелку. Вон тому лысому в бобочке нужна плойка и телевизор. У всех счастливчиков существует возможность договориться о стратегии и тактиках, которые позволят извлечь максимально возможную пользу из этих 15 минут уникального шопинга. Стоит ли им всем быть каждому самому по себе? Какие именно процессы, о которых возможно договориться, приведут к оптимальному всеобщему благу? Можно ли после этих 15 минут вместе остаться в теплых и дружеских отношениях чтобы еще долгое время после совершать совместные набеги на прилавки?
Модель «Война и мир»7
«Маркетолог спрашивает программиста: в чём сложность поддержки большого проекта? Ну представь, что ты писатель и поддерживаешь проект "Война и мир". У тебя ТЗ — написать главу как Наташа Ростова гуляла под дождём по парку. Ты пишешь "шёл дождь", сохраняешь, вылетает сообщение об ошибке "Наташа Ростова умерла, продолжение невозможно". Почему умерла? Начинаешь разбираться. Выясняется, что у Пьера Безухова скользкие туфли, он упал, его пистолет ударился о землю и выстрелил в столб, а пуля от столба срикошетила в Наташу. Что делать? Зарядить пистолет холостыми? Поменять туфли? Решили убрать столб. Получаем сообщение "Поручик Ржевский умер." Выясняется, что он в следующей главе облокачивается о столб, которого уже нет...»
Жук в коробке
Исследования Людвига Витгенштейна совершили переворот в представлениях о том, как язык функционирует в коммуникации. В своих поздних работах он замечает, что люди играют в «языковые игры». Всякое слово имеет значение только в контексте некой коммуникативной игры. Чувство юмора, например, строится на способности подмечать двусмысленность — пересечение нескольких таких игровых контекстов сразу: наркоман-мазохист упоролся ремнем. Для понимания шутки внутренние языковые модели рассказчика и слушателя должны совпадать до нужной степени.
Услышав слово «оценка», мы часто наделяем его каким-то своим личным смыслом по привычке. Думаем, что собеседник имеет ввиду ровно то же самое, что и мы. Часто это не так. Важно понять, в самом ли деле человека интересует время в его вопросе. Стив Макконнелл8, например, предлагает различать прогноз (или просто оценка, estimate), цель (target, deadline) и обязательство (commitment).
Если инициатор вопроса в командно-административном тоне требует точного ответа для галочки, то чаще всего ему неизвестны производственные особенности озвученные выше. Может быть и известны, тогда, скорее всего, вы имеете дело с попыткой смещения ответственности. Вам необходим если не абсолютный, то достаточный уровень доверия к собственной оценке. Это все равно что обещать через две недели ясное безоблачное небо. Если вы в Аризоне — пожалуйста, Фареры — бог вам в помощь. Использовать оценку в качестве инструмента давления — один из самых действенных способов подорвать мораль всех участников игры.
Часто пункт назначения — цель или дедлайн — уже известны. Если выставка проходит с 23 по 30 марта, то необходимость набрать классы вполне очевидна. Если встреча с новыми потенциальными инвесторами назначена на какое-то конкретное число, то демо-версия должна содержать нужные штуки к дате представления. Если существует сложная зависимость графиков использования уникальных ресурсов вроде магнито-резонансного томографа в больнице, частного самолета директора по деградации, производственных цехов на Аляске, то провороненный слот в расписании может оказаться бедой. А может и не оказаться. Во всех этих случаях важна реальная точность прогноза, которую довольно сложно достичь. Поэтому чаще всего, чтобы хоть как-то компенсировать неопределенность, гнут железный треугольник. Вопрос меняет свою структуру превращаясь из «сколько времени это займет» во «что ещё можно сделать к этому времени».
Если через год после релиза фичи X ожидается 600 новых пользователей ($1 стоит услуга для 1 человека), а через месяц работы над фичей Y ожидается лишь 50, то даже такая грубая оценка позволит принять более взвешенное решение. Пусть 600 постоянных пользователей в абсолютном значении и больше 50, однако «сарафан» из последних может в значительной степени скорректировать планы развития программы, когда спустя два месяца её эксплуатации появится уже 1000 новых пользователей, но с предпочтениями, о которых ранее даже не приходилось задумываться, что может отменить разработку фичи X полностью. В таком случае, работа в течение года в погоне за количеством может быть не самой лучшей инвестицией. А может быть и хорошей, если работа одного человека в течение года, будет дешевле работы нескольких групп в течение того же месяца. Именно для того, чтобы помогать делать правильные решения в условиях повышенной неопределенности, и нужна оценка9.
Краткая история рождения взаимопонимания
- Животные имеют встроенную в большой межушный ганглий ментальную машину времени (Mental Time Travel, MTT).
- MTT — совокупность различных типов памяти (рабочая, эпизодическая, имплицитная), которые умеют воссоздавать пространственно-временную картину действительности, окружающую живое существо с рождения.
- MTT нужна чтобы успешно навигировать в этом воображаемом пространстве, предвосхищая нахождение тех или иных объектов в реальности (куст еды или водопой).
- Во время исследования территорий окружающей действительности возникают нештатные ситуации, а, следовательно, и необходимость выяснить отношения с неопределенностью: бить или бежать, съесть или немедленно завести отпрысков.
- На фоне эмоциональной реакции лучше происходит запоминание и, как следствие, MTT модифицирует пространственно-временную картину действительности.
- Теперь путешествие в воображаемом пространстве к месту бей или беги будет сопровождаться эмоциональной реакцией и, возможно, сэкономит тысячу килокалорий.
- Рано или поздно в результате жизни общественной появляется необходимость делиться с другими своей «картиной мира», своими «путешествиями». Например, со своим выводком. Прародителем символического языка объясняющего где-что лежит можно считать язык эмоций.
- Эмоции представляют собой полезные для видов адаптации, полуавтоматические ответы на регулярно возникающие запросы окружающей действительности. Эмоции помогают наиболее эффективным образом разрешать вопросы тех или иных жизненных сюжетов10.
- Нет плохих или хороших эмоций, как нет плохих или хороших символов алфавита. Жадность, например, лежит в основе справедливости, посколькy слишком прожорливый щенок из всего помета может оставить без еды других, если те не пожадничают и не наваляют.
- Один и тот же «символ» может быть использован в различных сюжетах. Огромный источник всевозможных недоразумений, ошибок и недоверия.
- На основе элементарных эмоций (радость, например, гнев, удивление, отвращение) строятся высшие когнитивные эмоции (или социальные), то есть те, что разруливают конфликтные ситуации и «проблемы обязательств». Вина, стыд, гордость, благодарность, обида, месть, ревность — много их.
- Чем больше взаимодействия с другим носителем MTT, тем детальнее становятся представления как о его MTT, так и о собственной через рефлексию себя даваемую другим. Можно задумывать совместные исследования территорий, игры в блекджек и ожидать разумного поведения партнера. Можно создавать удивительно близкие отношения.
- Чаще всего социальные эмоции носят парный характер. Обида и вина хрестоматийный пример. В случае несовпадения ожиданий с действительностью (MTT предсказывала одно, а на деле оказалось иное), одна сторона испытывает обиду, которая выражается в каком-то внешне заметном поведении (надуться или обозлиться) и индуцирует в ганглии другой стороны чувство вины, тем самым запуская своеобразный танец, например, примирения или эскалации.
- Жажда, острая необходимость не потерять, плюс способность неокортекса отделить владельца от обладаемого им предмета — рождают зависть и гордость. Подкрадули или телефон отобрать легко, а математические галлюцинации, инсайт и экзистенциальную тревогу даже нанеся тяжкие телесные повреждения — сложно. Хотя и то и другое может быть предметом как гордости, так и зависти для соплеменников. Занимаются справедливостью в группе как и стыд.
- Стыд выступает в роли ограничителя для всего ненормального поведения. Стыд — внутренняя исполнительная ветвь власти индивидуума над самим собой в правовом поле коллективного нормотворчества. Часто трудно отделим от чувства вины, если нет, например, четкого понимания одушевленный или воображаемый предмет (батин ремень) является индуктором.
- Постепенное одомашнивание речевого аппарата, позволило давать членораздельные имена тем или иным предметам даже не существующим в природе. Названия вещей и феноменов генерируются воображением, грамматическими правилами и обычаями нормальными для данной группы носителей аппаратуры. Там уже полшишечки до символического языка и письменной речи.
- Культурная среда создаваемая языковыми моделями людей, стала вторым механизмом наследования — параллельным генетическому. Ценные те или иные социальные конструкции стало возможно менять на лету, а коммуникация все равно происходит на уровне тех же ментальных машин времени, которые лучше запоминают расположенные в пространстве объекты, когда испытывают эмоции, и испытывают эмоции, когда в пространстве происходят нештатные ситуации.
- Чем беднее модель мира, тем больше нештатных ситуаций. В богатом, многообразном мире тем более. Чем богаче модель мира, тем больше шансов найти взаимопонимание:
Не существует человеческого эго, личности. Сознание — это техническое средство, помогающее нам выживать, результат работы эволюции. Именно через эго мы воспринимаем и познаём окружающий мир. Фактически это устройство, которое создаёт виртуальную реальность, которую мы называем «действительность», помещает в неё само себя и даёт нам иллюзию того, что мы являемся агентами, живущими и действующими в этой реальности. Никто не говорил, что объективной реальности не существует, просто-напросто у нас есть своя, адаптированная версия оной, псевдо-реальность, виртуальная реальность. Наши тактильные ощущения, звуки, запахи, цвета, вкус — всё эти лишь порождение нашего архи-сложного головного мозга. Посему меня, как какой-то уникальной личности, божественной искры во враждебном мире, вечной души или бессмертного странствующего между перерождениями духа не существует. Есть просто динамическая система, сформированная в результате целой череды событий, начавшейся еще со времён большого взрыва. Пожалуй, это есть хорошие новости. Я никто. Меня нет. Это великолепно! Ведь это уничтожает границу между мной и всем остальным. Я и есть всё остальное, потому что меня нету.
— Томас Метцингер. «Эго туннель»
Дуглас Хаббард. Как измерить все, что угодно.
Есть много людей, для которых это и подобные определения — не ирония вовсе.
Customer collaboration over contract negotiation. https://agilemanifesto.org/
Здесь инвестор и программист в широком смысле этих слов. Агенты экономических взаимоотношений. Можно быть самому себе инвестором и использовать все текущие сбережения для того чтобы создать что-то такое, что в будущем не только окупится, но и будет иметь большую ценность для многих. Для одного $500.000 первого раунда это игра ва-банк, для другого всего лишь вошедшее в привычку изменение циферек в компьютере после ежегодного прокручивания наследства на финансовых рынках. https://neal.fun/printing-money/
Steve McConnell, Software Estimation: Demystifying the Black Art.
Responding to change over following a plan. https://agilemanifesto.org/
Рэндольф Несси. Хорошие плохие чувства.