Создание команды для реализации инновационной веб-CMS на основе AJAX

Заказчик

Начинающая британская компания, специализирующаяся на дизайне и разработке веб-сайтов с собственной удобной для пользователей системой управления контентом (CMS).

Основная задача

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

Поскольку основная идея заказчика заключалась в устранении вышеописанных недостатков, а новая CMS разрабатывалась для простых пользователей без специальных знаний в области IT и программирования. Перед нашей командой стояла непростая задача - используя передовые технологии и весь накопленный опыт, реализовать систему, которая позволила бы пользователю вносить изменения на сайте на “визуальном” уровне.

Для достижения этой цели ряд специализированного функционала должен был быть реализован с нуля, например:

  1. возможность редактировать текст прямо на сайте (изменения доступны сразу и видны непосредственно в браузере),
  2. добавление изображений и динамического контента (слайд-шоу или галереи), добавление видео.

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

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

Решение

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

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

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

Результат

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