Задумывались ли вы хоть раз над тем, зачем разработчики некоторых веб-ресурсов пишут слово «beta» в заголовках? Многие полагают, что это очередной маркетинговый ход Web 2.0 (наравне с «лакированными» элементами интерфейса, большими шрифтами и поддержкой RSS).
Признаюсь честно, я сам так когда-то считал.
Однако надпись BETA — это все-таки больше чем просто надпись. Создание любого веб-сервиса начинается с идеи. За идеей появляется прототип, а на основе прототипа непосредственно план реализации проекта. Если разработчиков несколько (и они достаточно профессиональны), то рисуются UML-диаграммы, карта сайта, создается предварительный HTML-макет и т.п. Так было и у нас: казалось, что всё понятно и прозрачно. Однако когда была готова альфа, у меня появились вполне определенные сомнения: «а этого ли мы хотели в итоге?» и самое главное «а будут ли этим пользоваться люди?».
Самым простым способом узнать ответы — это запустить сервис. В бету. Собственно терять нечего, да и фраза «We call it «beta» because it's beta than nothin'» вселяла уверенность.
И вот тут началось самое интересное. Чем больше времени проходило с точки запуска «беты», тем всё дальше и дальше уходили мои взгляды на сервис от той самой первоначальной концепции/идеи.
(И это только потом я узнал про слова Пола Грехама, о том, что через три месяца после начала разработок, стартапы меняют своё направление на 70%, а некоторые и на 100%)
Интернет поменял не только поведение пользователей, он еще и поменял сам подход к разработке. Для того чтобы выпустить новый релиз, не надо делать инсталлятор, штамповать диски, печатать полиграфию, упаковывать в коробки и отправлять всё это потом в магазины.
У нас есть возможность делать релизы хоть каждый день, внедряя новые функции и исправляя ошибки старых. Мы можем постоянно отслеживать поведение пользователей, получить фидбеки, и на их основе определять, в какую сторону развивать проект. Именно поэтому рядовой пользователь и становится членом команды разработки.
Через какое-то время мы пришли к тому, что средняя длительность цикла у нас составляет 2-3 недели (а иногда и меньше). Пользователи постоянно видят какие-то изменения на сайте и могут влиять на то, в какую сторону развивается проект.
Нельзя сейчас создавать интернет-продукт полгода, потом полгода его тщательно тестировать, а потом выкатить релиз, который, скорее всего, рынку и не нужен будет.
В итоге мы с помощью пользователей поняли, что концепция проекта довольно серьезно поменяется в ближайший месяц-полтора. И стоит лишь сказать спасибо всем тем, кто терпит сейчас все баги, дает советы, и по сути вместе с нами делает продукт, который действительно будет нужен людям.
Без такого подхода сделать успешное интернет-приложение крайне тяжело.
И напоследок скажу, что сервис в стадии беты — это бета и в концепции и в коде. Короткие итерации порождают еще и повышенный процент ошибок (багов). Автоматизированные тесты, конечно, спасают ситуацию, однако человеческий фактор тоже нельзя исключать. И некоторые баги могут довольно основательно подорвать репутацию сервиса. Например, не так давно у нас произошел сбой в модуле e-mail уведомлений, и пользователи получили от 20 до 60 писем, предназначавшимся не им.
Не забывайте о том, что бета — это вовсе не альфа и если у вас всё будет падать и отваливаться через раз — это банальное проявление неуважения к своим пользователям.
Ошибки, конечно, случаются, но их появление в браузерах пользователей надо сводить к минимуму.
(Многие помнят bobrdobr.ru и ходившие по сети скриншоты с его ServletException-ами, хотя в конце-концов всё закончилось хорошо: сервис растёт и развивается)
Признаюсь честно, я сам так когда-то считал.
Однако надпись BETA — это все-таки больше чем просто надпись. Создание любого веб-сервиса начинается с идеи. За идеей появляется прототип, а на основе прототипа непосредственно план реализации проекта. Если разработчиков несколько (и они достаточно профессиональны), то рисуются UML-диаграммы, карта сайта, создается предварительный HTML-макет и т.п. Так было и у нас: казалось, что всё понятно и прозрачно. Однако когда была готова альфа, у меня появились вполне определенные сомнения: «а этого ли мы хотели в итоге?» и самое главное «а будут ли этим пользоваться люди?».
Самым простым способом узнать ответы — это запустить сервис. В бету. Собственно терять нечего, да и фраза «We call it «beta» because it's beta than nothin'» вселяла уверенность.
И вот тут началось самое интересное. Чем больше времени проходило с точки запуска «беты», тем всё дальше и дальше уходили мои взгляды на сервис от той самой первоначальной концепции/идеи.
(И это только потом я узнал про слова Пола Грехама, о том, что через три месяца после начала разработок, стартапы меняют своё направление на 70%, а некоторые и на 100%)
Интернет поменял не только поведение пользователей, он еще и поменял сам подход к разработке. Для того чтобы выпустить новый релиз, не надо делать инсталлятор, штамповать диски, печатать полиграфию, упаковывать в коробки и отправлять всё это потом в магазины.
У нас есть возможность делать релизы хоть каждый день, внедряя новые функции и исправляя ошибки старых. Мы можем постоянно отслеживать поведение пользователей, получить фидбеки, и на их основе определять, в какую сторону развивать проект. Именно поэтому рядовой пользователь и становится членом команды разработки.
Кстати, включение «заказчика продукта» в команду является одной из основных практик методологии разработки Scrum (Agile development). Если вести разработку по Scrum’у, то цикл разработки можно сократить в разы (по сравнению с разработкой десктопных приложений).
Через какое-то время мы пришли к тому, что средняя длительность цикла у нас составляет 2-3 недели (а иногда и меньше). Пользователи постоянно видят какие-то изменения на сайте и могут влиять на то, в какую сторону развивается проект.
Нельзя сейчас создавать интернет-продукт полгода, потом полгода его тщательно тестировать, а потом выкатить релиз, который, скорее всего, рынку и не нужен будет.
В итоге мы с помощью пользователей поняли, что концепция проекта довольно серьезно поменяется в ближайший месяц-полтора. И стоит лишь сказать спасибо всем тем, кто терпит сейчас все баги, дает советы, и по сути вместе с нами делает продукт, который действительно будет нужен людям.
Без такого подхода сделать успешное интернет-приложение крайне тяжело.
И напоследок скажу, что сервис в стадии беты — это бета и в концепции и в коде. Короткие итерации порождают еще и повышенный процент ошибок (багов). Автоматизированные тесты, конечно, спасают ситуацию, однако человеческий фактор тоже нельзя исключать. И некоторые баги могут довольно основательно подорвать репутацию сервиса. Например, не так давно у нас произошел сбой в модуле e-mail уведомлений, и пользователи получили от 20 до 60 писем, предназначавшимся не им.
Не забывайте о том, что бета — это вовсе не альфа и если у вас всё будет падать и отваливаться через раз — это банальное проявление неуважения к своим пользователям.
Ошибки, конечно, случаются, но их появление в браузерах пользователей надо сводить к минимуму.
(Многие помнят bobrdobr.ru и ходившие по сети скриншоты с его ServletException-ами, хотя в конце-концов всё закончилось хорошо: сервис растёт и развивается)