18 August 2011

Эволюция веб-проекта — что не забыть предусмотреть в ТЗ

1С-Битрикс corporate blog

Зачем терять время на разговоры о качестве?


Вам нужно в короткие сроки запустить веб-проект, вы выбираете платформу Битрикс или другой фреймворк, подрядчика/интегратора (либо делаете силами собственных программистов), делаете веб-сайт и в час X посетители начинают пользоваться веб-решением.
Зачем отвлекаться на вопросы качества интеграции, если веб-проект запущен и цель, казалось бы, достигнута? Сайт доступен для клиентов, проект реализован почти в срок и уложился в бюджет, премии получены… :-)
Многие просто не задумываются о дальнейшем развитии веб-проекта. А некоторые категории менеджеров откровенно преследуют цель запустить веб-решение в срок и им попросту «наплевать» на качество и дальнейшую судьбу веб-сайта (проект можно попросту передать другому менеджеру).

Быстро или правильно?


Часто веб-проект продолжают активно развивать после запуска, добавлять новые сервисы, стараясь держаться «на гребне волны» и учитывать пожелания Пользователей.
Если веб-проект был реализован «слишком быстро» или «недостаточно квалифицированными специалистами» вас ожидают следующие риски:

Вдруг оказывается сложно, долго и дорого добавлять контент веб-сайта

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

Дорого настраивать функционал

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

Опасно и сложно добавлять новый функционал и менять существующий

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

Сложно разделить доступ к разным разделам админки веб-решения

Вы хотите чтобы новости добавлял один сотрудник, контент страниц — другой, цены в каталоге — третий, а пароли менял только администратор веб-решения. Может оказаться, что вам сделали только один уровень доступа — «все или ничего» — все администраторы или гости.

Опасно обновлять платформу

Платформа Битрикс, на базе которой разработано веб-решение, постоянно развивается, добавляются новые возможности. Вы хотите их использовать в своем веб-проекте и поддерживать систему в свежем актуальном состоянии. Но может оказаться так, что обновлять платформу веб-решения — опасно, т.к. из-за нарушения стандартов интеграции разработчики внесли изменения в ядро системы и обновление может сломать веб-сайт.

Вышеперечисленные и другие риски возникают из-за игнорирования требований к качеству интеграции решений на Битрикс. Проект будет запущен быстро, а вот его поддержка и развитие может в данном случае превратиться в сущий ад.

Как же «выжать» максимум пользы из Битрикс и интеграторов веб-решения?


Прежде всего нужно хорошо уяснить для себя, как менеджера веб-проекта, выгодные вам возможности платформы, предоставляемые «из коробки», которые позволяют:
— Добавлять/менять контент веб-проекта без привлечения технических специалистов
— «Донастраивать» функционал веб-сайта: редактировать меню, настройки списков и т.п.
— Постоянно добавлять к веб-решению новые «фичи», развивать сайт быстро и уверенно, не отставая от конкурентов
— Организовать эффективную работу сотрудников с веб-решением, разделив их права, настроив при необходимости различные бизнес-процессы (в т.ч. модерации и т.п.)
— Оперативно добавлять в свое веб-решение новые возможности платформы через систему обновлений, не отставая от современных веб-технологий и конкурентов.


Редактирование страницы «над сайтом»


Редактирование свойств страницы


Редактирование текста «в подвале» сайта


Редактирование телефона


Управление меню


Управление числом новостей на странице

Данные полезные возможности, предоставляемые платформой, полезно отразить в ТЗ на разработку.

Смотрим под капот? Иногда


В этой точке вы знаете важные с точки зрения поддержки и развития возможности платформы, прописали их в ТЗ, тщательно проверите их выполнение и с большой вероятностью получите управляемое вами и вашими сотрудниками, веб-решение.
Но рано успокаиваться. Снаружи все может выглядеть красиво и управляемо, менеджеры сайта и посетители довольны, но при увеличении нагрузки и/или объема данных в веб-проекте (увеличился размер каталога, число посетителей, заказов и т.п.) система может начать «тормозить».
Есть мнение, что задачу производительности веб-решения можно эффективно решить «в лоб» — путем увеличения серверных мощностей (переехать на более «мощный» хостинг, купить новый сервер и т.п.). К сожалению, это не всегда работает.
Часто гораздо проще и дешевле снизить данный риск на этапе разработки веб-решения, путем включения пункта в ТЗ под названием «Нагрузочное тестирование».
Платформа Битрикс имеет множество полезных инструментов для аудита производительности, от проверки «мощности» серверного оборудования до анализа скорости работы веб-страниц проекта под нагрузкой и контроля качества работы программистов. Тема большая и интересная, но с позиции эффективного снятия риска в стиле «тычком пальцем в глаз» нужно просто… провести нагрузочное тестирование перед вводом решения в эксплуатацию.
Проще всего провести нагрузочное тестирование с использованием инструмента «Настройки/Производительность/Панель производительности/Масштабируемость»:

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

Итоги


Если веб-проект нужно не только «быстро запустить», но и «дешево» поддерживать и эффективно развивать, постарайтесь предусмотреть в ТЗ, чтобы «по максимуму» использовались встроенные возможности платформы Битрикс (в т.ч. технологии «Эрмитаж»): веб-решение было управляемым без привлечения технических специалистов, расширяемым без риска «все нужно переписывать с нуля», а платформу/ядро веб-проекта можно было обновлять в любое время для получения нового функционала. А чтобы веб-сайт «не завис» при увеличении нагрузки и/или объема данных — предусмотрите в ТЗ проведение нагрузочного тестирования на приближенным к реальным объемам тестовых данных.
С уважением, руководитель направления контроля качества интеграции и внедрений
Александр Сербул
Tags:битрикс
Hubs: 1С-Битрикс corporate blog
+2
7.5k 28
Comments 131
Top of the last 24 hours