Web Project Management: Real Project
автор: из книги Web Project Management
Copyright notice от переводчика: данная статья - перевод второй части книги Ashley Friedlein Web Project Management: Delivering Successful Commercial Web Sites. Данный перевод не является официальным. Он не может быть использован в коммерческих целях, а только для ознакомления с содержанием книги, которую можно приобрести на Amazon.
PDF версия всего текста (324 кб)
Дата запуска web-сайта Channel5 была четко определена. Ее нельзя было перенести на другой день или отложить, так как уже была утверждена тв-программа призванная рекламировать открытие сайта. Этот запуск определенно был "трудным": мы нажимаем на кнопку, сайт запускается, и сразу вслед за этим начинается рекламная компания в прессе и на телевидении. Это значило, что перед запуском мы должны были протестировать сайт на 100%.
Как это было
На тестирование сайта мы отвели две недели. Настолько, насколько это было возможно, мы старались придерживаться правила: за две недели до запуска мы ничего не будем менять или добавлять, будем проверять, как работает то, что уже есть. В данном случае мы не прибегали к помощи сторонней тестирующей компании. Несмотря на то, что мы тестировали сайт на протяжении всего проекта, именно сейчас появилась первая возможность детально пройтись по нему и систематически исправлять найденные ошибки.
Мы провели тесты в различных броузерах, тесты на функциональность и удобство работы. Тесты проводились на пяти операционных системах, в пяти броузерах и двух экранных разрешениях. Это значило, что по сайту необходимо было пройтись 50 раз. Мы стали записывать комментарии и найденные ошибки в таблицу результатов теста, сделанную в Excel. Однако, вскоре мы обнаружили, что Access лучше подходит для этой задачи, и мы разработали собственную базу данных регистрации ошибок. Это тестирование и исправление ошибок было трудным еще и потому, что исправление одной ошибки могло создать две новых, которых до этого не было. Следовательно, нам приходилось проводить множество повторных тестов - когда мы проверяли те части сайта, которые уже считались полностью законченными - чтобы убедится в отсутствии новых вкравшихся ошибок.
В некоторой степени тестирование облегчалось тем, что мы решили использовать на сайте Flash. В отличие от капризных клиентских скриптов, по разному работающих в разных броузерах (например, JavaScript), Flash-ролики либо работали во всех броузерах, либо не работали вообще. Это очень сильно помогло нам, так как ту интерактивность и функциональность, которую мы создали с помощью Flash, было бы очень трудно создать и проверить воспользуйся мы обычным HTML и скриптовыми языками.
Изрядное количество времени заняла проверка текстов на сайте на отсутствие грамматических и орфографических ошибок. Ошибки этого типа не смертельны, но они не создают хорошее впечатление о сайте, особенно о сайте-новичке. Нам пришлось еще раз пройтись по всем материалам сайта вместе с юридическим отделом, чтобы убедится в отсутствии каких-либо претензий к нему с их стороны. Чтобы им это было легче сделать, мы распечатывали все материалы сайта. Если у нас только статических страниц было 300 штук, вы можете себе представить, сколько времени ушло на выполнение этой задачи.
Как оказалось, одному из тестов мы уделили не достаточно внимания - это был тест на испытание под нагрузкой (load testing). Мы испытывали сайт на нагрузку с помощью скриптов, и просили несколько пользователей одновременно поработать с определенным приложением на сайте. При обычным обстоятельствах, а также при том уровне нагрузки, который мы считали очень высоким, сайт работал прекрасно. Однако, те нагрузки, которые ему пришлось испытать на самом деле, оказались гораздо более высокими, чем мы ожидали.
Прямо в середине теста, не смотря на строгие правила, нам пришлось вносить изменения в спешном порядке. Два ключевых приложения сайта - список тв-программ и база данных кодов регионов - поступили к нам лишь за неделю до запуска. Задержка была вызвана длительными переговорами и не предоставленными в срок исходными данными. На рис. 12.7 показано, как выглядел интерфейс программы поиска по базе кодов регионов: интерфейс довольно прост, но за ним прячется очень большой объем данных. Раздел сайта, посвященный сериалу "Sunset Beach" пришлось выбросить из-за юридических неувязок, поэтому пришлось переделывать приложения и тексты по всему сайту.
За неделю до запуска я уже не пользовался календарем в Outlook. Вместо этого я носил с собой большой блокнот со списком того, что нужно сделать. Самые срочные задачи я писал на ладони своей руки. Если у вас на теле не останется ни одного исписанного места, знайте - вы дошли до предела.
Дата запуска сайта приходилась на субботу. В этот день должна была идти реклама по телевидению. Мы создали специального персонажа, который должен был появляться в рекламе web-сайта. Мы должны были успеть к сроку, так как тв-программа уже была утверждена и ее нельзя было быстро поменять. Фактически мы запустили сайт в пятницу вечером, хотя и не объявляли об этом нигде. Это дало нам возможность проверить сайт еще один последний раз. Также это дало нам возможность проверить, что программа анализа статистики (WebTrends) работала как ожидалось, и мы могли получить отчеты по следующему дню. Мы также проверили, что Интернет-провайдер знает о происходящем.
Хоть в ночь перед запуском меня и мучили во сне кошмары, сам день был зловеще спокоен - подобно затишью перед бурей, когда замолкают птицы, или подобно глазу самой бури. К этому моменту мы успокоились отчасти потому, что знали - сейчас уже было поздно что-то менять.
Большую часть субботы мы то смотрели канал Channel5, то проверяли жив ли наш сайт, то смотрели на файл логов, который стремительно разрастался до размеров в несколько сотен мегабайт. В некоторые моменты web-сервер работал медленно, и даже один раз подвис. К счастью мы были поблизости и быстро его перезапустили, так что общее время простоя составило всего лишь 3 минуты. Однако было ясно: мы не дооценили объемы трафика. Первые несколько дней трафик создавался четырьмя рекламными ходами: компании в прессе (включая рекламу на знаменитой третьей странице в газете The Sun - самой массовой национальной газете Великобритании), широкомасштабной рекламной компанией в эфире, рекламной рассылкой писем по электронной почте заинтересованным лицам, и различными призами, которые получил наш сайт, включая приз Shocked Site of the Day от Macromedia. На рис. 12.8 изображена домашняя страница телевизионной знаменитости Мелинды Мессенджер (Melinda Messenger), которая часто появлялась на канале Channel5 и была очень известной красоткой. Эта часть сайта вызвала огромный интерес у прессы и приводила к частым всплескам посещаемости. Всплески трафика уменьшились по прошествии первой недели, но мы еще долго ощущали неудобства не столько от общего количества посетителей, сколько от неожиданных высоких всплесков посещаемости.
Так как у pres.co с каналом Channel5 завязались прочные связи, процедура сдачи сайта была минимальной. Вы вернули все материалы, как это требовалось, убедились, что у канала есть копии всей документации по проекту, и продолжали обучать внутреннюю команду канала Channel5 правилам обновления сайта. Для этой команды был создан график дежурств и задач, чтобы обновление всех разделов канала проводилось регулярно. Кроме разработки новых материалов для сайта потребовалось также создание административных приложений, позволивших команде Channel5 поддерживать сайт не вдаваясь глубоко в технические нюансы. И естественно мы отпраздновали запуск сайта - сначала сами внутри pres.co, а затем вместе с командой клиента.
Извлеченные уроки
Ниже перечислены уроки, извлеченные в период тестирования, запуска и сдачи проекта.
День перед началом окончательного теста так же важен, как сам день запуска. Попытайтесь установить четкий срок, после которого никакие дополнения и текущие изменения в проект не вносятся и не отвлекают вас от тестирования сайта. Клиенту нужно представить конечный срок перед началом теста как окончательный. Вообще-то в реальности некоторые вещи все-таки приходится делать (например, если меняются законы), но чем больше времени вы уделите тестированию, тем лучше. Если вы позволите уломать себя в период тестирования, вы может быть и получите похвалу от клиента, но она скоро будет забыта, если клиент начнет получать жалобы от посетителей о том, что сайт не работает.
Стройте свою систему так, чтобы она в первую очередь справлялась с большим количеством одновременных посещений, это важнее, чем обеспечение общего трафика. В двух словах, это значит, что строить системы нужно с 200% запасом прочности. Достаточно почитать многочисленные отчеты e-фирм, которые не справились с рождественским наплывом покупателей, чтобы понять, как важно уметь справится с пиками посещений. Обслуживание высокого трафика, распределенного по времени, не такая уж и сложная задача, создать такую систему - относительно легко. Сейчас же более важно знание того, как обслуживать с технической и практической точки зрения неожиданные ажиотажи и наплывы посетителей. Расширяемые каналы, распределение нагрузки, системы с избыточной надежностью, и сайты-зеркала - все это поможет справиться с неожиданными пиками посещаемости. Однако, все эти решения не так уж и дешевы, для некоторых e-фирм количество посещений вполне возможно предсказать, а значит и такие решения могут не понадобиться. Раздобудьте хорошее тестовое программное обеспечение, которое поможет оценить производительность системы, и не забудьте перед запуском сайта предупредить своего провайдера.
Не планируйте запуск на конкретную дату или время. А если уж планируете, то запустите сайт раньше срока, но никому не говорите об этом. Если вы строили рекламную компанию по запуску сайта не только в определенный день, но и в определенное время, вы подвергаете себя различным рискам - не исключая, что и со стороны самого Интернета. Не так давно вся Великобритания потеряла соединение с Интернетом. Не самый лучший момент для тех, кто намеревался запустить свой сайт. Сам провайдер тоже может потерять соединение с Интернетом на несколько часов, и вам ничего не останется делать, как рвать волосы у себя на голове. Также, не намечайте запуск сайта на пятницу. Вы рискуете провести все свои выходные, исправляя различные ошибки, а это будет затруднительно, так как все люди будут в разъезде, и их не легко будет убедить сделать что-то в выходные, а не в рабочий день на следующей неделе. Среда для запуска вполне подходит.
Не важно, насколько хорошо вы все спланировали, всегда что-то в самый последний момент будет делаться в дикой спешке. Не говорите никому, что вы отвели время на внесение самых последних изменений. Точнее, скажите всем, что вы их делать не будете. Но будьте реалистичны, и припасите время на те неизбежные дела, которые неизвестно откуда появляются и по важности соперничают с жизнью и смертью. По тем же причинам работайте по выходным перед запуском. Все-таки будут вещи, которые вам надо будет сделать, и если вы заранее спишите свой выходной, вы не будете разочарованы, если что-то он окажется занятым.
Готовьтесь представить отчет по статистике посещений. Понятно, что первый вопрос, который задаст клиент после запуска, будет звучать так: "Как все прошло?". Вопрос справедливый. Убедитесь, что у вас будет ответ на него. Также подготовьтесь к тому, что вам это вопрос будут задавать постоянно. Убедитесь, что вы заложили стоимость подготовки отчетов по статистике в бюджет по поддержанию сайта. Не так уж и много времени нужно для того, чтобы напустить программу-анализатор на лог-файлы web-севрера, гораздо больше времени уходит на объяснения и интерпретацию полученных результатов. Умение прилагать к этим данным знания в бизнесе и маркетинге очень важно, но о нем, как о ключевом элементе поддержания сайта и оценки его работы, не редко забывают.
Реальный проект
12.1. История проекта и его описание: www.channel5.co.uk
12.1.1. Уточнение проекта
12.1.2. Определение решений
12.1.3. Спецификация проекта
12.1.4. Информационное наполнение
12.1.5. Дизайн и сведение сайта
» 12.1.6. Тестирование, запуск и сдача
12.2. Итоги