Методы разработки новых продуктов

Методы разработки программных продуктов

Могут изменяться, дополняться, пересекаться, в зависимости от решаемых задач, бюджета, но основных видов, устоявшихся best practices, несколько:

  • Каскадная (Waterfall Model) или "водопад" – принцип которой в том, что каждая следующая стадия начинается после завершения предыдущей. Откат на шаг назад или внесение изменений внутри процесса невозможно. Все корректировки – только после итогового тестирования системы. В этом главный минус подхода – если в коде будут замечены ошибки, их исправление займет много времени и потребует приличных расходов. Плюсы – фиксированная цена и прогнозируемые сроки.

V-Model – основная идея сводится к validation and verification с тестированием корректности работы программы на каждой стадии, что уменьшает риск ошибок в архитектуре. Но минус в том, что если ошибка все-таки найдется, исправление ее будет стоить компании дорого.

  • Incremental Model – инкрементная, по частям (параллельная разными командами). Цель – получить жизнеспособное приложение при сильно ограниченных сроках и бюджете. Это преимущество, равно как и возможность оперативной оценки рисков – в зависимости от реакции пользователей (оценки эффективности) можно вкладывать деньги в доработку или прекратить финансирование.

Но такой подход требует постоянного участия менеджера, который будет координировать команды программистов, дизайнеров, тестировщиков.

  • Agile – общее название подхода, в котором нет четких формулировок и планирования. Его можно рассмотреть на примере Extreme Programming (XP). Основные тезисы – взаимодействие между участниками команды важнее инструментов, рабочее ПО важнее спецификаций. А договоренности с заказчиком превыше условий контракта.
  • Iterative Model – итеративная, не требующая составления полной спецификации.  Сначала реализуется ограниченный набор функций, который будет многократно дополняться, улучшаться.

Из достоинств – быстрый вывод ПО на рынок, оперативное исправление багов, о которых будут сообщать сами пользователи. Из недостатков - неизвестно, в какую сумму обойдется софт, и когда будет готова конечная версия.

  • Spiral Model – спиральная модель, с элементами итеративности, позволяющая оценивать риски, влияющие на жизненный цикл ПО. 

Из преимуществ – проработка рисков. Из минусов – растянутые сроки с риском застрять на совершенствовании первого цикла и высокие расходы.

Выбор метода разработки продукта программирования зависит от проекта. Например для ПО, требующего высокой надежности (для отслеживания показателей пациентов в клиниках, например) чаще применяют V-Model. "Водопад" – для относительно небольших приложений, с детально прописанными формулировками технического задания.

Спиральная – для крупных проектов со значительными бюджетами (например, СЭД для крупной компании), поскольку часто требует глубоких исследований на подготовительном этапе.

А итеративная – для постоянно совершенствующегося ПО. Здесь можно привести в пример системы по распознаванию голоса, когда каждая следующая итерация делала это быстрее, лучше предыдущей.

Если от программистов требуется написать код, который обеспечит стабильную работу ПО. То задача дизайнеров – упаковать этот код в красивую, продающую упаковку.

Дизайн-процесс

Методы и средства разработки программных продуктов зависят от компании, ее зрелости, ПО, над которыми она работает и даже распределения ролей в проекте. 

Что до этапов самого процесса, то выглядят они примерно так:

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

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

Уровни новизны ПО

Инновации классифицируются по 12 признакам и двум десяткам критериев. Один из которых – новизна для рынка. Программное обеспечение может быть новым:

  • в мире – аналогов в конкретной отрасли ни в какой другой стране нет;
  • в стране – без привязки к аналогичному софту других компаний, в других странах;
  • на конкретном предприятии.

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

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

17.07.2023НавыкиБизнес
Смотрите также
ТехнологииНавыки
Что такое интеллектуальная собственность
Все немонетарные активы, принадлежащие физическим или юрлицам, защищенные на правовом уровне от использования извне, являются интеллектуальной собственностью. Это могут быть любые произведения искусства, литература, логотипы, изображения, наименования и прочие продукты, созданные интеллектом человека.
ТехнологииКарьера
Искусственный интеллект в HR
Узнайте, как искусственный интеллект трансформирует HR-процессы, улучшая подбор персонала, обучение и управление талантами, повышая эффективность кадровых функций в компаниях.
ТехнологииНавыки
Использование искусственного интеллекта для беспилотников
Беспилотные летательные аппараты (БПЛА), или дроны, становятся все более важными инструментами в различных сферах, от сельского хозяйства и доставки до военных операций и картографирования. Однако для того, чтобы эти устройства могли эффективно функционировать в сложных и динамичных условиях, им необходимо не только получать данные, но и обрабатывать их, принимать решения в реальном времени и адаптироваться к изменениям окружающей среды.
ТехнологииНавыки
Промпт инженер
Узнайте, как промпт инженер оптимизирует запросы к нейросетям, повышая точность ответов ИИ и открывая новые возможности в работе с технологиями.