Так что, если бы я собиралась изучать крупные административные расходы, я бы обратила внимание на те, у которых были наивысшие проценты трат. Выбросы на графике – легкие данные. Поэтому я бы изучала категории как с самыми высокими процентами, так и с самыми низкими, и пыталась бы понять, есть ли там что-то любопытное.
Я также внесла одну важную правку в Story Discovery Engine. Когда я пыталась объяснить людям, что делает программа, они часто спрашивали: «Ты хочешь сказать, что создала программу, которая фонтанирует идеями для расследований?» Я объясняла, что это не так и что все сложнее, и рассказывала об автоматизации. Постепенно глаза моих слушателей стекленели. Поэтому для второй версии программы я решила придумать систему, представляющую настоящие идеи для историй. На рисунке 11.5 показан обновленный интерфейс программы.
Замечу, что это дополнение в данных является так называемым «минимально жизнеспособным продуктом» (Minimum Viable Product, MVP). Оно работает, вы видите результаты его работы – однако только для одного случая, а не для всех сразу, которые вы запланировали. И это упомянуто в справочной документации. Как по мне, дополнение работает достаточно хорошо, чтобы утверждать, что оно действительно работает. С моей точки зрения, с позиции разработчика, проблема решена. Однако с точки зрения компьютера, чтобы что-то работало, этому «что-то» необязательно работать хорошо . Это не бинарное понятие. Человек не может быть слегка беременным, в то время как софт, может немного работать. Так, суть минимально жизнеспособного продукта заключается в достаточном уровне функциональности для демонстрации заказчикам – чтобы получить новые заказы или финансирование для следующего круга разработки. Это не пример хорошей разработки, продукт неэффективен для пользователей, и уж тем более практика представления на рынок полифункционального продукта не является хорошим делом, но при этом такой подход стал обычным делом. Мне кажется, мы способны на большее. Ведь в большинстве случаев проблема одинакова для всех, и я столкнулась с ней, создавая «Бейливик»: у команды закончились деньги и время на разработку до того, как проект был завершен.
Есть и другой пример типичной проблемы, которая может принимать разные формы. Однажды код выдал ошибку, я не могла понять ее природу. Я решила создать новую базу данных и протестировать код на всех моих 3,5 млн записей – тот же результат. Первые 10 секунд все работало, затем появилась другая ошибка. Я исправила то, что – как мне казалось – стало ее причиной, и затем пыталась загрузить данные снова. Не сработало. Я что-то еще поменяла в коде, и все стало только хуже. Я переключилась на первую базу данных и попыталась воссоздать первую ошибку. Не вышло – вылезла новая ошибка. Тогда я поняла, что не смогу поправить первую базу данных, и перешла ко второй. У меня было плохое предчувствие; другие члены моей команды пользовались первой базой данных, и тот факт, что она была доступна и при этом содержала ошибки, мог сильно повлиять на результат их работы. На самом деле это была обычная ошибка контроля версий ПО, однако в связи с тем, что в программировании важную роль играет точность, получилось, что ошибки, спровоцированные мной, привели к каскаду новых неисправимых ошибок, затрагивавших работу других разработчиков.
Таковы в общих чертах препятствия, с которыми приходится сталкиваться в рамках внедрения того или иного программного обеспечения в новостные редакции. Встречаясь со сложностями, работая с небольшими программами, можно понять, как и что происходит в более крупных масштабах. Можно также увидеть, почему крупные проекты могут потерпеть неудачу. Кроме того, возможно понять, почему процесс написания кода нельзя поставить на поток. Есть модель фабричного производства – с конвейером, – и есть малое производство. В случае с фабричной системой вы смотрите на весь спектр задач и решаете, какая из них может быть автоматизирована и повторяема. В случае малого производства происходит то же самое – и все же часть работы выполняется вручную. Представьте себе вычислительную журналистику как движение за неспешную еду – слоуфуд.
На сегодняшний день мой проект не сильно распространен, но имеет мощное влияние. Я не слежу за тем, сколько репортеров использовали его для создания историй, однако я часто им пользуюсь на занятиях. Каждый семестр я учу около 30 студентов. Это значит, что каждый семестр с помощью «Бейливика» создается как минимум шесть историй. Результат вполне оправдывает затраченные усилия. Если бы им постоянно пользовались в новостных редакциях, можно было бы получать доход, разместив рекламу внизу страниц. Очевидно, что программа не станет ключевым параметром доходов, однако что-то будет капать. И, конечно, «Бейливик» не смог бы привлечь столько же средств, сколько продукты массового спроса, однако мог бы стать ремесленной продукцией, генерирующей небольшой доход.
Читать дальше