Скачивайте большой обзор главного тренда рынка виртуализации в 2024 году: Гиперконвергенция по полочкам!
Подробнее
Скачивайте большой обзор главного тренда рынка виртуализации в 2024 году: Гиперконвергенция по полочкам!
Подробнее
Скачивайте большой обзор главного тренда рынка виртуализации в 2024 году: Гиперконвергенция по полочкам!
Подробнее
Скачивайте большой обзор главного тренда рынка виртуализации в 2024 году: Гиперконвергенция по полочкам!
Подробнее
Скачивайте большой обзор главного тренда рынка виртуализации в 2024 году: Гиперконвергенция по полочкам!
Подробнее
Скачивайте большой обзор главного тренда рынка виртуализации в 2024 году: Гиперконвергенция по полочкам!
Подробнее
Скачивайте большой обзор главного тренда рынка виртуализации в 2024 году: Гиперконвергенция по полочкам!
Подробнее
Скачивайте большой обзор главного тренда рынка виртуализации в 2024 году: Гиперконвергенция по полочкам!
Подробнее
Скачивайте большой обзор главного тренда рынка виртуализации в 2024 году: Гиперконвергенция по полочкам!
Подробнее
Скачивайте большой обзор главного тренда рынка виртуализации в 2024 году: Гиперконвергенция по полочкам!
Подробнее
Скачивайте большой обзор главного тренда рынка виртуализации в 2024 году: Гиперконвергенция по полочкам!
Подробнее

Польза feature request или как перестать платить за то, чем вы не пользуетесь

gradient
image

Представьте швейцарский нож, в который производители добавили максимальное количество инструментов: от пилочки для ногтей до пассатижей на блокчейне. Сколькими из них будут пользоваться в реальности? Готовы ли покупатели платить за остальные инструменты, единственная задача которых — занимать место и оттягивать карман? В этом смысле некоторые приложения корпоративного уровня похожи на швейцарские ножи в кубе. Производители наполняют их всеми возможными функциями с безумной избыточностью, без учета реальных потребностей клиентов. В материале мы расскажем, почему избыточная функциональность невыгодна для пользователей и как ее избежать.    

 

90% потребителей корпоративных решений используют только 5% от их возможностей 

 

Проблема продуктов корпоративного уровня — в большом количестве избыточных функций, которые добавляют в них разработчики. А поскольку любые решения нуждаются в регулярных обновлениях, в них добавляют все больше возможностей, ориентированных на небольшую часть целевой аудитории.

 

При этом продукты корпоративного уровня отличаются сложной кодовой базой, высокими требованиями к надежности, длительным временным разработки и долгим периодом эксплуатации. Поэтому их производители не стремятся угнаться за актуальными трендами в разработке, а делают ставку на стабильность. Часто разработчики таких продуктов не знают актуальных потребностей пользователей, так как не учитывают запросы на добавление функциональности от реальных потребителей. 

 

В результате возникает не просто избыточная функциональность, а набор функций, которые нужны лишь 1-5% пользователей. Например, решение американского гиганта VMware представляет собой огромный конструктор из возможностей, большая часть из которых не используется рядовыми потребителями. А около 90% пользователей достаточно лишь 5% возможностей платформы.

Закон Паркинсона плюс закон Мура

Закон Паркинсона гласит, что любая деятельность занимает все отведенное на нее время. Также и программное обеспечение корпоративного уровня может наращивать объем функций, пока они не задействуют все предоставленные ресурсы. 

 

Долгое время параллельно с законом Паркинсона действовал закон Мура. Согласно закону Мура каждые два года количество транзисторов в микросхемах увеличивается вдвое. Это значит, что производителям ПО не требовалось думать о том, хватит ли для него производительности. Поэтому они добавляли все больше возможностей без оглядки на возможности аппаратного обеспечения. Однако закон Мура больше не работает. При этом крупные производители продолжают выпускать ПО с избыточной функциональностью. Это может происходить по нескольким причинам:

 

  • из-за отсутствия работы с запросами на добавление функциональности от потребителей разработчик не знает реальных потребностей большей части своих клиентов;
  • клиенты слишком разные, и для каждого из них важны свои функции;
  • производителю важно выпускать регулярные обновления, добавляя в них любую функциональность, которой еще не было в приложении. 

Что плохого в избыточной функциональности

Казалось бы, много не мало. Что плохого в том, что продукт будет содержать какие-то избыточные функции, которые могут понадобиться в дальнейшем? Есть несколько причин отказаться от избыточной функциональности.

 

Во-первых, такие продукты сложнее использовать, в них труднее разбираться. Для работы с большим количеством функций требуется несколько специалистов высокого уровня. Кроме того, программа с избыточными функциями теряет легковесность. Ее сложнее эксплуатировать, ей нужно больше ресурсов, а цена такого решения будет выше аналогов. При этом клиенты платят деньги за возможности, которыми они никогда или почти никогда не воспользуются.

Решение проблемы — YAGNI и запросы на добавление новых функций

«Реализуйте только те функции, которые действительно вам нужны, а не те, которые понадобятся в будущем.»

Рон Джеффрис, соавтор Extreme Programming и Agile-манифеста

 

В ответ на существование проблемы с реализацией избыточной функциональности появилась концепция YAGNI. Аббревиатура расшифровывается как You ain’t gonna need it или «Вам это не понадобится». В основе принципа YAGNI — отказ от избыточной функциональности при разработке ПО как одна из основных ценностей продукта. Разработчик добавляет в продукт только те функции, в которых есть реальная необходимость.

 

Простой способ понять, какая функциональность будет актуальна для потребителей, — обрабатывать их запросы на добавление новых функций.

 

Например, vStack в своем проекте сделали ставку на простоту и легковесность решения. Пользователи самостоятельно решают, нужна ли им та или иная возможность. Нужные функции можно активировать, а от ненужных отказаться. При этом оплата будет взиматься только за то, что реально используется, а не за весь пакет. Если у клиента возникает потребность в дополнительной функциональности, он может сделать запрос на добавление новой функциональности и получить ее индивидуально. 

 

Такой подход позволяет компании экономить деньги на неиспользуемых возможностях и при этом получать всю необходимую функциональность.

 

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies.