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

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

Могут изменяться, дополняться, пересекаться, в зависимости от решаемых задач, бюджета, но основных видов, устоявшихся 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НавыкиБизнес
Смотрите также
БудущееТехнологии
Как Китай стал лидером в инновациях и почему это важно для всего мира
Китай лидирует в 37 из 44 критически значимых технологиях, превосходя США и страны Европы. Как Поднебесной это удаётся? Разбираемся в причинах этого успеха.
НавыкиКарьера
Как найти работу мечты
Вопрос, как найти работу мечты, волнует, как выпускников учебных заведений, так и людей, которые уже трудятся, но считают, что с местом им не повезло. И начать стоит с того, чтобы решить, о чем именно вы мечтаете.
Бизнес
Что делать бизнесу в кризис
Любые изменения ― это процесс. Чтобы запомнить стихотворение, нужна энергия на формирование новых нейронных связей. А в кризисных ситуациях, задействованы все наши ресурсы ― и психологические и социально-поведенческие.
БудущееТехнологииБизнес
Суперсилы азиатского региона: как весь мир начал осваивать тренды, которые принесла восточная половина мира
Азия, и особенно Южная Корея и Китай, радикально изменились за последние годы. Из рынков для американских и европейских брендов они превратились в архитекторов новых потребительских привычек и трендов.