Сачок для бабочекНа прошедшей в Москве конференции для разработчиков программного обеспечения Software People одним из самых ярких и неожиданных стало выступление Нила Мейдена, профессора системной инженерии, научного руководителя центра «Творчество в профессиональной практике» в City University London. Он рассказал о том, как превратить ключевой этап разработки – определение требований к программному продукту – в творческий процесс решения проблем.

Мейден сравнил аналитика, который занимается сбором требований, с натуралистом, который с помощью сачка пытается поймать бабочек – требования, зафиксировать их раз и навсегда и уже не позволить им «летать». По мнению Мейдена, компании, которые ориентируются только на текущие потребности пользователей, неизбежно вылетают с рынка. Что было бы с Apple, если бы она принимала решения о разработке iPad на основе мнения пользователей о планшетах несколько лет назад, когда эта технология мало кому была известна? Поэтому Мейден предлагает отказаться от традиционного подхода к определению требований и перейти к творческому мышлению. На основе созданного в 1953 году метода творческого решения проблем Мейден со своими коллегами разработали новый подход к инженерии требований, который включает в себя понимание проблем, генерацию идей и планирование действий. Несмотря на кажущуюся очевидность этих этапов, в проектах разработки, заметил Мейден, хорошо удается определять их общие цели, но не применяется никаких действенных способов для поиска реальных проблем и формирования идей нового приложения на основе понимания этих проблем.

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