На сегодняшний день программное обеспечение распространено во многих областях. Современное общество зависит от него. Оно есть в часах, медицинском оборудовании, телефонах, телевизорах, лифтах, автомобилях и даже в «компьютерах» (как-будто остальные девайсы не вычисляют) — прим. переводчика «compute — вычислять».
Как консультант я помогаю компаниям разрабатывать ПО последние 14 лет и разработал достаточно продуктов.
Я являлся соавтором международного стандарта и работал с владельцами для его внедрения. Я написал ПО контролирующее спутниковые коммуникационные системы. Я разработал инструменты для команды, которая создала модель European Extremely Large Telescope (E-ELT). Я был вовлечен в разработку ПО для автомобильных компаний, систем здравоохранения, банков, страхования, телекоммуникаций, авиации и т.д.
В некоторых из этих компаний ПО работало без проблем. Команды выпускали ПО высокого качества. Акционеры были счастливы. Компании набирали базу клиентов и получали выгоду.
Но другие компании сталкивались с проблемами.
Я видел отделения спорящие друг с другом, чьи требования включат в релиз.
Я видел разработчиков, которые не могли совладать с количеством фич внедряемых в проект и постоянно меняющихся запросов. Некоторые из них утратили цель самой разработки.
Я видел разрыв взаимоотношений между разработчиками и управляющими акционерами.
Через несколько лет раскрылась суть происходящего.
Когда бы меня люди не спрашивали, что же пошло не так, я говорил им: никто не хочет использовать ПО.
Сначала они смотрели на меня, как на сумасшедшего. ПО есть везде. Оно поддерживает современную цивилизацию! После того, как я объяснял причину, многие кивали мне в ответ.
Вы наверное, как и я, делаете покупки онлайн.
Вы хотите каждый раз регистрироваться на сайте покупок?
Вам нравится добавлять товары в корзину, один за одним?
Хотите ли вы дважды вводить номер своей кредитки?
А подтверждать покупку несколько раз?
Я уверен что нет.
Но я продолжаю покупать онлайн. Почему?
Достижение желаемого
Я хочу достичь желаемого: получить новую стиральную машину или новую книгу. Каждое мое взаимодействие с ПО, еще один шаг к этой цели.
Понимание этого серьезно повлияло на моей работе.
Многие компании измеряют продуктивность в количестве напечатанного кода или скорости, что значит: завершенные фичи за определенный промежуток времени.
Многие думают, что продажа продукта схожа с продажей апельсинов. Чем больше, тем лучше.
Но это не так.
Добавляя больше фич вы облегчите либо усложните для пользователя достижение цели. Возможно это будет только мешать. Есть и другие способы вычислить продуктивность, нежели скорость.
Убедитесь, что ваше ПО выполняет запросы пользователя. Нужно холить и лелеять клиентов для получения хорошего отзыва. Не стоит делать из ПО раздувшийся, наполненный фичами продукт, который никто не хочет использовать.
Если вы уже заняли хорошую позицию в маркете, то стоит исправить положение. Путь пользователя до желаемой цели должен быть кратким и приятным насколько это возможно. Так как его завершение является первым ценным моментом в копилку вашей компании.
Если вы можете сделать этот путь в меньше усилий для пользователя, то это отлично. Делайте меньше, так как разработка ПО это инвестирование.
Как Амазон Киндл справляется с проблемой
Амазон запустил продажу книг онлайн. Вы перешли на сайт, чтобы купить книгу, которую они отправят к вашей двери.
Затем они разработали оплату в один клик, чтобы вы могли пропустить все детали, каждый раз делая покупки. Это и укоротило путь пользователя к своей цели.
Позже они представили Киндл. Путь стал еще короче. Находите книгу, смотрите детали и совершаете покупку. После скачивания вы получаете книгу. Не нужно ждать доставки.
В конечном счете, все ведет к одному, вы получаете желаемое, как и в ранние дни Амазона: читаете любимую книгу.
Разработка как можно больше фич не ведет к успеху. К счастью, не я один так думаю.
Gojko Adzic создал Impact Mapping, метод получения ПО фич из целей бизнеса. Он попросил комьюнити разработчиков «Решать цели, а не делать программное обеспечение.»
Дэвид Хейнмейер Хэнсон, создатель Ruby on Rails, считает, что всегда можно делать меньше.
Сколько бы смысла это не несло разработчикам я постараюсь объяснить, по моему опыту, немногие компании применяют эту психологию.
Поэтому поймите меня правильно: я люблю ПО. Я им очарован. Я начал разработку ПО в начале 90-х, и все еще продолжаю им заниматься.
ПО конечно же полезно. Но не само по себе, а является лишь звеном к определенной цели.
Имейте это в виду.
Статью перевел timurziev. Оригинал на Medium.freecodecamp.com доступен по ссылке.