Big data manifesto

Алексей Сушков

Начальник группы "PCCM, RBSM"

Alexey.Sushkov@billing.ru

www.billing.ru

Почему восходящий тренд Big Data сегодня так активно обсуждается всеми компаниями?

Если посмотреть на цикл зрелости технологий по версии компании Гартнер (Gartner's Hype Cycle for Emerging Technologies), то видно, что Big Data находится на пике ожиданий. Это значит, что сегодня и общество, и индустрия ожидают от больших данных прорывных идей, новых технологических решений, улучшающих как жизнь людей, так и ведение бизнеса. Также, если посмотреть на график в Google Trend, показывающий число запросов по Big Data, то можно увидеть экспоненциальный рост начиная с 2011 года.

Почему же именно сегодня на большие данные обращается такое пристальное внимание и возлагаются такие большие ожидания? Причин несколько. Прежде всего, это зрелость технологий по обработке Big Data, которые за 10 лет прошли путь от опубликования Google до внедрения в промышленную эксплуатацию в крупных корпорациях. Кроме того, это постоянное удешевление хранилищ, которое позволяет не удалять, а накапливать исторические данные. И, наконец, это наличие самих данных, которых за последнее время накоплен огромный объём и которые при грамотном анализе можно использовать для получения дохода.

Все организации имеют разные методологии и культуры производства, но как компании добиться успеха в теме Big Data?

Существует несколько принципов, я их называю Big Data Manifesto (по аналогии с Agile Manifesto). Их выполнение позволит увеличить вероятность успеха проектов, связанных с обработкой и анализом Big Data.

  1. Наличие полных данные важнее их структурирования в системе хранения

Big Data — это в большинстве своём неструктурированные данные. Заранее трудно предсказать, какие данные понадобятся для анализа в будущем, поэтому необходимо сохранять как можно больше «сырых» данных, а уже на этапе анализа выделять и обрабатывать нужные выборки.

  1. Скорость реакции системы должна зависеть от реальных задач, а не от формальных цифр

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

  1. Гибкая визуализация данных важнее исчерпывающих схем данных

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

  1. Надо верить в то, что в данных скрыта прибыль!

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

Какие Agile-методологии лучше использовать для Big Data?

— Big Data — это новое направление, в котором много неясностей: нет устоявшейся методологии, единых правил, нет бизнес-сценариев, подходящих для всех заказчиков. Поэтому для выработки бизнес-решений на основании Big Data необходимо использовать замкнутый цикл с обратной связью. То есть на вход поступают данные, проводится их анализ, выдвигается один или несколько бизнес-сценариев для проверки. Далее компания планирует какие-либо действия (например, провести маркетинговую компанию или вывести на рынок новую услугу), после чего выполняет их, получает отклик также в виде данных и производит дальнейший анализ. Для получения результата такие циклы должны повторяться с периодичностью от нескольких недель до нескольких месяцев. Отсюда следует, что для выработки решений на основе Big Data лучше всего подходит SCRUM-методология с итерациями, которые на самом деле проходят всё те же этапы — планирование спринта, разработка, предъявление заказчику и получение отклика и ретроспектива. Собственно итерационный процесс в SCRUM служит для той же цели — получение результата в ситуации, когда нет чёткого понимания конечной цели.

А что делать крупным корпорациям с водопадной методологией производства?

Есть ли место для Agile в «водопаде»? На самом деле, если посмотреть на водопад, то ответ приходит сам собой: мы видим в нём каскады, но вместе с тем прослеживается и обратное движение воды. Ведь водопад — это не только движение вниз, но и вверх, и в середину «водопада» SCRUM впишется. То есть первой ступенью остаётся «сбор требований/проектирование», далее «разработка/тестирование» осуществляется по SCRUM, а «внедрение/эксплуатация» — опять каскад. Такой процесс уже получил устоявшийся термин «Water-SCRUM-Fall», а корпорация IBM выработала рекомендации для такого типа производства, который назвала DAD (Disciplined Agile Delivery).

Можно ли «сделать инъекцию» Agile в «монстра»? Если да, то как?

Внедрить Agile-методологии в крупной корпорации возможно, но делать это нужно постепенно: сначала — Standup-митинги, потом — SСRUM-доска с планированием итераций, ретроспективой и далее — остальные элементы SCRUM. Введя даже первые практики, можно значительно поднять эффективность производства, так как Agile настолько гибок, что позволяет внедрять не всю методологию целиком, а только те части, которые реально необходимы в работе.

Ваши советы коллегам?

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

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

Если же вы руководитель высшего звена и хотите внедрить Agile, то тут всё просто!

Беседовала Екатерина Кахраман