Компьютерные науки (Computer Science)
 
2018/05/29 09:39:09

Откуда берутся прорывные идеи для ИТ-разработок или почему стартапам не стоит пренебрегать научными знаниями

Распространено мнение, что ИТ-разработки не требуют особой фундаментальной подготовки и знаний: силен дух романтики программистов-самоучек и гениальных стартаперов. Но почему же тогда на рынке так много стартапов, которые закрываются в первый год своего существования, хотя обещают инновации? Футуролог Данила Медведев в материале, подготовленном специально для TAdviser, рассматривает этот феномен на примере множества проектов в области User Experience (UX). Подавляющее большинство стартапов основаны не на глубоком научном анализе работы пользователей и организаций, а на одной хорошей идее или сочетании идей, утверждает автор. Если же задача заключается в том, чтобы разработать действительно инновационный успешный продукт, то необходимо опираться на науку, поскольку в ИТ, как и в других областях, научный подход содержит в себе большой потенциал.

Содержание

Научные статьи важны

Обычно на начальном этапе стартапа автору требуется изучить большой объем научных статей, приобрести прочную теоретическую базу, что позволит выбрать ориентиры как при постановке задачи, так и при поиске решения. Правильный подход к решению проблем – опираться на систематические, качественно выполненные исследования, результаты которых могут быть опубликованы или признаны в качестве диссертационного исследования. Для систем, которые обещают существенное улучшение UX, очень важны количественные данные о поведении пользователей. Примеров тут можно привести множество – от обычной магистерской диссертации 2003 года о пользователях Accenture "Social Software as a Source of Information in the Workplace"[1], в которой раскрывается, как сотрудники компании Accenture используют в своей работе социальные сети, до многочисленных исследований признанного специалиста Стива Виттакера с измерениями эффективности различных пользовательских приложений, отвечающие на такие вопросы, как: какой процент недавно открытых файлов пользователи могут найти, какая глубина папок оптимальна и т.д.

Поведение пользователей не всегда очевидно

Личный субъективный опыт может очень сильно отличаться от результатов статистического анализа. Кроме того, необходимо иметь возможность проводить сопоставление данных с нескольких различных систем. Мы видим проявление поведения пользователя в существующих системах, пока далеких от совершенства (что подтверждается большим количеством разрозненных оценок того, сколько времени пользователи тратят на поиск информации, разбор электронной почты и т.д.), причем пользователи могут даже не осознавать недостатки существующих систем. Это – проблема исторического развития: раньше системы не делались для профессиональных пользователей, и в какой-то момент пропало понимание того, как такая система должна выглядеть. В итоге сейчас не существует систем, предназначенных для решения сложных задач, как, например, написание диссертации – существующие системы вынуждают пользователя к неоправданным временным затратам. Между тем, идеальное поведение и соответствующее ему техническое решение можно увидеть и описать, только опираясь на большой опыт и теорию. Отсутствие опыта и незнание теории приводит к реализации неэффективных решений.

Например, эксперименты показали, что пользователям в реальной среде неудобно использовать тэги (их сложно переименовывать, организовывать и т. д.). А ведь в какой-то момент тэги были одним из самых распространенных инструментов организации информации. В серьезной научной литературе и материалах конференций есть очень ценные идеи о том, какие особенности системы являются объективным преимуществом: время на операцию, скорость работы, процент успешных операций. Интересный момент, что нет единой теории пользовательского взаимодействия, хотя в computer science есть отдельная область, изучающая этот предмет.

  • Простой пример. Идея о важности интеграции почты, файлов и др. источников данных по проекту была разобрана еще в 2006 в докладе на конференции CHI 2006 "The Project Fragmentation Problem in Personal Information Management"[2]. Она же была протестирована с помощью прототипа Project Folders.

  • Сложный пример. Работы Дугласа Энгельбарта, где он описывает модель CoDIAK (CONCURRENTLY Developing, Integrating, Applying Knowledge) для работы с информацией. Компетентность Энгельбарта, являющегося автором современной концепции интерактивных компьютеров, не подвергается сомнению. Еще в 60-е годы он поднимал вопрос о том, на какие операции можно эффективно разделить работу пользователей, занимающихся работой с информацией. Также он создал систему Augment, которая успешно показала свою эффективность, в т.ч. в авиастроении (компания McDonnell Douglas). Многие современные ИТ-специалисты считают Энгельбарта своим гуру, а в созданных им системах (таких как Augment и NLS) черпают вдохновение для разработки собственных систем.

Знания = довольные пользователи

Итак, отсутствие знаниевой базы исключает возможность инноваций (без предварительных исследований эффективность инноваций будет крайне низкой – вернее, нормальной для венчурной индустрии, через которую идут большинство ИТ-инноваций, но в космической или атомной отрасли такой процент успеха считался бы катастрофическим), отсутствие инноваций не позволяет решить проблему эффективно (для решения новых проблем требуются новые подходы, поскольку старые, очевидно, имеют ограниченный потенциал), неэффективное решение не привлекает пользователей. Кроме того, постепенная доработка проекта маловероятна, поскольку нет желающих платить за плохо проработанный продукт, а значит, и окупить текущие расходы на разработку не получится. Инвестиции в него также маловероятны, т. к. у проекта нет ни бренда, ни квалифицированной команды, ни инновационных решений, ни клиентской базы.

В большинстве ИТ-стартапов основатели полагают, что достаточно технических навыков программирования и минимального представления о потребностях рынка, чтобы создать успешный продукт. Но я утверждаю, что в ИТ есть научные исследования и это важно!

В ИТ есть настоящая наука

Что значит "важно" и почему? Дело в том, что хотя computer science в России мало известна под этим названием, все-таки это компьютерная наука – то есть, наука о компьютерах. Помимо математики и информатики, которые приходят на ум в первую очередь, computer science включает в себя кибернетику, когнитивные науки, науки о коммуникациях, в том числе между людьми, и многие другие сферы. В Высшей школе экономики есть факультет компьютерных наук, но это один из немногих примеров всестороннего изучения computer science. В остальном же будущие разработчики заканчивают мехмат или факультет прикладной информатики, что, естественно, не дает достаточно глубокого понимания разделов данной науки и связей между этими разделами.

С 1960-х годов ученые работают над теоретическими и практическими вопросами разработки качественного продукта. Развитием компьютерных технологий занимаются не столько любители, сколько серьезные профессионалы. Многие из них делают карьеру не разработчиков, а академических ученых. Сложно сказать, каким должен быть идеальный баланс между наукой, практикой и мечтой, но, например, важность геологической науки, а также ее более узких областей для нефтегазовой отрасли вряд ли кому-то придет в голову отрицать. Пласты, породы, эволюция Земли и многие другие вопросы представляют не просто академический интерес: от этого реально зависят инженерные и финансовые решения. Поэтому не может не радовать, что ситуация с изучением работы пользователей улучшается – за два почти прошедших десятилетия XXI века число ежегодных публикаций в научных журналах по направлению, например, PIM (Personal Information Management) выросло с нуля до более семисот.

Возьмем, к примеру, статью 2006 года "The Project Fragmentation Problem in Personal Information Management"[3] с конференции CHI 2006 (Computer-Human Interface). С 2006 года подобные конференции проводятся ежегодно и на них презентуются важные научно-практические результаты отрасли. В упомянутой статье еще в 2006 году поднимается вопрос о фрагментации информации по проектам между разными форматами (ссылки, файлы, почта, задачи, контакты). В этой статье есть результаты конкретных экспериментов, а если изучить другие работы авторов статьи, то можно найти и другие важные подробности проблемы, взаимосвязи со смежными направлениями научного поиска и количественными результатами других экспериментов.

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

Карта компьютерных наук

Источники теоретических знаний для разработки компьютерных систем

Откуда же берутся такие теоретические знания? Где им учат? Разумеется, в ВУЗах на специальности computer science, ведь она дает гораздо больше, чем просто умение писать программный код. Студенты, магистранты и аспиранты в computer science изучают теорию алгоритмов, структуры данных, основы операционных систем, вычислительную сложность, теорию языков программирования, машинное обучение и многое другое, не говоря уже о прикладной математике, требуемой для этого.

Специальность "программист" появилась в нашей стране в начале 50-х годов. Но как раз те, кто получил первое специальное образование в этой области, оказали основное влияние на развитие вычислительной техники в СССР. Один из таких пионеров теоретического и системного программирования - Андрей Петрович Ершов. Получив диплом программиста и защитившись на мехмате МГУ в 1957 году, он возглавил отдел теоретического программирования Вычислительного центра АН СССР. Андрей Петрович стал основателем Сибирской школы информатики и академиком АН СССР.

Современным программистам может показаться, что сегодня добиться успеха в ИТ можно и без образования, научившись всему самостоятельно. В качестве примера того, что достичь успеха может любой хакер-самоучка, часто рассматривают open source. Но при этом забывают о том, что основа больших open source проектов обычно создается профессионалами с соответствующим образованием. Так, создатель Linux Линус Торвальдс отучился в Университете Хельсинки восемь лет, получив магистерскую степень в computer science. Его выпускной проект, реализованный в рамках научной группы NODES, назывался "Linux: A Portable Operating System".

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

Задумайтесь, например, почему китайский веб-сайт производителя жевательной резинки Wrigley дает на главной странице ссылки на проекты в сфере социальной ответственности, а британский сайт встречает посетителя слоганом "Создаем простые удовольствия, чтобы украсить ваш день"? Почему на итальянской версии сайта знакомств Match.com одна фотография молодой пары, а на венесуэльской 24 фотографии, как молодых людей, так и людей среднего возраста?

Ответить на эти вопросы помогают теоретические статьи, основанные на работах нидерландских антропологов и психологов Фонса Тромпенаарса и Геерта Хофстеде. Их модели, разработанные в 70-80-е годы в процессе изучения кросс-культурных коммуникаций, легли в основу современных исследований культурных факторов в веб-дизайне.

Подробнее с этим анализом можно познакомиться в заметке Cross-Cultural Considerations for User Interface Design[4], опирающейся на следующие научные публикации:

  • Cyr, D. (2008). Modeling Web Site Design Across Cultures: Relationships to Trust, Satisfaction, and E-Loyalty.Journal of Management Information Systems.
  • Eristi, S. (2009). Cultural Factors in Web Design. Journal of Theoretical and Applied Information Technology.

А вот еще несколько статей, иллюстрирующих разнообразие научных знаний о разработке ПО:

  • Социальные приложения как источник информации на рабочем месте[5]
  • Краудсорсинговый подход к упрощению интерфейса корпоративных приложений[6]
  • Подход к тестированию графических интерфейсов на основе байесовой модели[7]

Ценность инноваций в области ИТ

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

Биотехнологический стартап проходит в своем развитии множество этапов, когда первоначальная идея подтверждается (или нет). Каждый этап — от идеи, компьютерной модели, эксперимента на дрожжах и до 3-й стадии клинических испытаний — это рост ценности фирмы и растущая убежденность рынка в блестящих перспективах проекта.

Компьютерные и интернет-стартапы же до сих пор просто выставляют напоказ миллионы пользователей, даже если доход от каждого из них (ARPU) — меньше доллара в год. Но ведь ИТ-инновации тоже можно проверять и испытывать экспериментально. Существует понятие минимально жизнеспособного продукта (minimum viable product, MVP), однако с его помощью невозможно спроектировать сложное, комплексное решение, поскольку комплексное решение не работает, если сделана только одна его часть. Однако почему-то методы для подобного тестирования, включая наборы стандартных данных и заданий для экспериментов, остаются незадействованными. Ученые в области computer science, а также их коллеги из смежных дисциплин, таких как информационный поиск, управление базами данных, библиотековедение и наука об информации, человеко-компьютерное взаимодействие, наука об организации, социология, когнитивная психология и искусственный интеллект, используют их в своих исследованиях, но разработчики редко применяют даже готовые результаты исследований на практике.

GUI будущего – терра инкогнита

К сожалению, ИТ-профессионалы часто игнорируют научные результаты, причем не только в России, но и за рубежом.

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

Рассмотрим для примера: прогноз Microsoft на 2020 год[8] и сингапурскую дорожную карту по развитию ИТ[9]. Авторы обоих документов рассуждают об интернете вещей, тактильных интерфейсах, умных роботах и умной одежде, изобилии сенсоров и голосовом интерфейсе – и ни слова о том, как будут выводиться на экран (да хоть бы и прямо в глаз) текст, картинки и прочие виртуальные объекты, словно в будущем пользователи будут лишены зрения. Существуют, конечно, голосовые помощники, но на данный момент они представляют собой рынок для конкретных гаджетов, и нет никаких данных о том, что они позволяют выполнять работу быстрее, эффективнее и удобнее.

При этом научная литература по теме computer science, написанная во второй половине XX - начале XXI веков, содержит множество революционных идей, потенциал которых почти не использован. Это визуальный язык и структурированное письмо Роберта Хорна, модель CoDIAK Дугласа Энгельбарта, идеи отказа от модальности, различающихся уровней взаимодействия с системой, отказ от application-centric интерфейсов, объектная модель, единая система адресации и хранения данных, модель OHS, масштабируемый интерфейс Джефа Раскина.

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

Примечания