Вероятно, вы этого не осознаёте, но у вас есть склонность к азартным играм.
Не волнуйтесь, это не ваша вина, она возникла непреднамеренно. В конце концов, разработка в целом имеет часто встречающийся изъян — к ней относятся, как к азартной игре.
Вы ставите на успех каждой разрабатываемой вами фичи. Вы работаете, предполагая, что результат работы будет представлять какую-то ценность, что он упростит жизнь окружающих. Вам не всегда известны результаты того, что вы делаете, да их и невозможно узнать заранее. Но вы всё равно думаете, что результат даст какой-то положительный эффект.
Так вы относитесь к своему повседневному труду, тратите месяцы на создание проекта, фича за фичей, делая рискованную ставку на успех, не имея при этом никаких свидетельств или признаков того, что он будет успешным.
Каждая фича — это ставка. Весь проект — это казино. А вы — простофиля, пытающийся сорвать мифический джекпот.
Именно из-за такого мышления проекты часто проваливаются. Из-за него фичи никогда не доходят до релиза. Из-за него результаты оказываются не такими, как ожидалось. И из-за него упорный труд и гениальные мысли оказываются растраченными впустую.
Любой проект, полагающийся на такое мышление, обречён с самого начала.
Вы не можете предсказать будущего. У вас нет хрустального шара, который скажет вам, что всё пойдёт по плану.
Возможно, вы думаете, что я говорю какую-то чушь и что разработка не может не быть азартной игрой. Пока что-то не реализуешь, никак нельзя понять, сработает ли это, ведь так?
К сожалению, это утверждение с точки зрения истории неверно. 68% IT-проектов относятся к категории «практически невозможных», а 56% технологических проектов обеспечивают выгоду меньше прогнозируемой по той же самой причине.
Ещё одна отрезвляющая статистика — 17% проектов реализуются настолько плохо, что подвергают угрозе само существование компании.
И в этой статистике учтены только уже сложившиеся компании. Если рассмотреть всех «разработчиков-предпринимателей» и создателей приложений, о которых мы никогда не услышим, то статистика провалов будет ещё более печальной.
Вас это всё ещё не убедило? Тогда я расскажу историю, которая сможет изменить ваше мнение.
(Упорный труд + Оптимизм + Безупречный дизайн != Успех проекта) => True
Рассмотрим один онлайн-магазин, предоставляющий услуги посредника для художников и любителей, продающих самодельную продукцию.
Команда разработчиков решила, что отличной идеей будет преобразование функции пагинации каталога продуктов в отображение с бесконечным скроллингом. Их задумка была простой: если пользователь сможет бесконечно прокручивать весь список продуктов, то его внимание будет привлекать большее количество продуктов, благодаря чему он купит больше.
Кажется логичным, правда? Функции бесконечного скроллинга в социальных сетях позволяют нам потреблять бесконечный объём отнимающего наше внимание контента. Почему это может не сработать и для онлайн-магазинов?
Итак, взяв за основу эту идею, команда потратила огромное количество времени (несколько месяцев) на создание этой функции и реструктуризацию интерфейса пользователя для соответствия ей.
Спустя месяцы они выкатили эту новую фичу *здесь драматическая пауза*, сразу получив негативные отзывы пользователей и снижение оборота, несмотря на ожидания положительного роста. Месяцы работы и тысячи долларов вылетели в трубу только для того, чтобы узнать, что этот катастрофический провал нужно выбросить в мусорное ведро.
Они ожидали успеха и потратили огромное количество энергии и времени, встретив только разочарованную реакцию.
Это был один из самых серьёзных провалов Etsy. Однако несмотря на это, CEO Etsy сказал, что это была их самая важная ошибка.
Благодаря ей компания пересмотрела способ подхода к новым фичам, что заставило её пойти по пути, сделавшему её наиболее доходной и продуктивной за всю свою историю.
Они всего лишь поняли самый ценный урок, сокрытый в их ошибке.
Не важно, каково ваше видение, насколько совершенен дизайн или сколько энергии и труда вы вкладываете в работу. Кровь, пот, слёзы и любовь, вкладываемые в реализацию, не отражают её ценности.
Невозможно предсказать, как на ваш продукт отреагирует целевая аудитория, поэтому на самых ранних этапах нужно делать всё, чтобы доказать, что создаваемое будет работать.
Нужно повысить определённость.
Ключевой фактор, необходимый для повышения вероятности выигрыша
Мозг разработчиков, впервые создающих реализацию проекта, часто заражается одним давящим стереотипом. Проще всего выразить это мировоззрение таким вопросом: вы создаёте фичу, потому что она добавит ценности продукту, или потому что думаете, что она добавит ценности?
Многие из вас, и я в том числе, склонны к реализации проекта по второй причине. Потому что мы думаем, что это добавит ценности. Но мы не знаем этого.
Мы двигаемся вслепую. Мы неделями, месяцами или годами вкладываем в реализацию деньги, а когда достигаем конца, то выясняется, что всё было впустую. Мы пошли ва-банк, не зная вероятностей выигрыша. Нам нужно поднять свои шансы на победу.
Видите ли, разработчики обычно делают особенный упор на необходимость оптимизации производительности, скорости и масштаба. Всё это очень важно. К сожалению, обычно они упускают самый важный момент: будет ли создаваемое ими действительно актуально.
Чтобы ответить на этот вопрос, нам нужно взять задачу и решение, разделить их на части, образующие «проверяемые гипотезы».
Другими словами, применить научную теорию и метод Сократа, внеся в разработку управляемый экспериментом подход. Управляемое экспериментами проектирование (Experiment-driven design) — это метод, используемый для оценки успешности проекта. Он увеличивает диапазон определённости.
Воспользовавшись этим методом, вы перестанете просто играть, надеясь на удачу. Вы будете играть свою руку, как профессиональный игрок в покер, используя в качестве основы для принятия решений стратегию, вероятности и оценки.
Чтобы это сработало, для начала нужно задаться вопросом, как можно предварительно потратить 10% вложений для оценки работоспособности проекта.
Можно воспринимать как аналог minimal viable product, только ожидаемой создаваемой ценностью будет являться гипотеза. Обычно разработчики движутся к решению единственным путём, создавая весь продукт или фичу без предварительной оценки решения. При таком методе основной упор делается на экспериментирование.
Вместо того, чтобы подходить к созданию ценности одним способом, вы пробуете множество различных стратегий, проводите A/B-тестирование на небольших группах непредвзятых пользователей и сравниваете мелкие результаты каждой стратегии. Благодаря глубокой и частой оценке каждой экспериментальной гипотезы на ранних этапах, вы сможете добиться высокого уровня уверенности в том, что работает, а что нет.
После проведения экспериментального теста, который обещает высокий потенциал оборота, то это даёт вам больше уверенности, что путь, по которому вы движетесь, правильный и обеспечивает наибольшую ценность.
Если вы инкрементно оцениваете каждое предположение, то найдёте способ, необходимый для создания наиболее длительного эффекта без особого риска. Вы позволите себе снизить вероятность провала и повысить вероятность успеха.
Разыграть свои карты правильно
Я понимаю, что вы хотите погрузиться в работу и сразу же приступить к написанию максимально оптимального кода, но такая поспешность не требуется.
Понятно, что вы хотите уложиться в дедлайн. Вы хотите, чтобы клиент был доволен. Вы хотите представить целостный и готовый продукт. Вы хотите как можно быстрее обеспечить ценность. Вы хотите создать приложение своей мечты как можно быстрее. Поэтому вы просто погружаетесь в процесс, как будто переходите дорогу, не посмотрев по сторонам, из-за чего вас может сбить машина.
Но так поступать необязательно. Experiment-driven design — это очень простая и лёгкая стратегия, которую можно реализовать в повседневном рабочем процессе.
Например, работая разработчиком-консультантом, я тружусь над множеством различных проектов нескольких компаниях. Добиться успеха мне позволила не как можно более быстрая реализация (хотя она ему и способствует), а вовлечение и участие клиента на протяжении всего процесса. Я стремлюсь удовлетворить требования клиента, создавая небольшой кусок «пирога», который ему нужен, и спрашивая его обратной связи в течение всего процесса. Благодаря этому я могу постоянно собирать информацию о том, что обеспечит ему наибольшую ценность.
Крайне рекомендую вам поступать так же. Создайте небольшую часть фичи и представьте её остальным. Покажите её менеджеру, коллегам-разработчикам, коллегам, не работающим в отделе IT. Покажите друзьям, что вы сделали и посмотрите, как они отреагируют.
Смысл в том, что вам постоянно нужно собирать данные, с которыми можно работать. На основании данных можно чётче формулировать цели проекта и способы, которыми можно достичь этих целей.
В таком случае вместо движения в сторону одной инновации вы будете вносить инновации постоянно. Вы создадите потенциал для всё большей ценности на основании получаемых данных. На этом фундаменте вы преобразуете простую азартную игру в уверенную, протестированную стратегию с высокой вероятностью успеха.
На правах рекламы
Мощные VPS с защитой от DDoS-атак и новейшим железом. Всё это про наши эпичные серверы. Максимальная конфигурация — 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe.