Текст книги "Getting Real"
Автор книги: 37signals
Жанр:
Программирование
сообщить о нарушении
Текущая страница: 1 (всего у книги 8 страниц)
Getting Real
Введение
Что такое Getting Real?
Хотите создать успешное веб-приложение? Тогда пришло время для подхода «Getting Real», легковесного, быстрого и в целом лучшего пути создания программного обеспечения.
Getting Real – это отказ от вещей, представляющих реальность (диаграммы, графики, схемы, стрелочки и модели) и создание реальной вещи
Getting Real – это значит «меньше». Меньше массы, меньше программного обеспечения и его возможностей, меньше бумагомарания – словом, меньше всего того, что является несущественным (а большая часть того, что, как вам кажется, критически важно, на самом деле таковым не является)
Getting Real значит оставаться небольшим и шустрым.
Getting Real начинает с интерфейса, с реальных экранов, которыми будут пользоваться ваши клиенты. Это позволяет получить правильный интерфейс до того, как вы создадите неправильную программу.
Getting Real – это итерации и снижение стоимости изменений, Getting Real – это запуск и постоянное улучшение. То есть подход, идеальный для веб-приложений.
Getting Real – это создание того, в чём нуждается клиент и исключение того, что ему не нужно.
Выгоды Getting Real
Getting Real дает лучшие результаты из-за того, что заставляет вас решать именно существующие проблемы, а не фантазировать на тему этих проблем. Другими словами, он заставляет вас иметь дело с реальностью. Getting Real отказывается от функциональных спецификаций и подобных эфемерных документов в пользу реальных экранов. Функциональная спецификация – это притворство, иллюзия договоренности, тогда как действительная веб-страница – это реальность, то, что будут видеть и использовать ваши клиенты. Только это и имеет значение и с помошью Getting Real вы достигнете этого гораздо быстрей, принимая решения на основе действительных вещей, а не абстрактных понятий. Наконец, Getting Real – это подход, идеальный для веб-приложений. Дедовский способ поставки коробочных приложений вкупе с последующим двухгодичным ожиданием обновления уже изживает себя. В отличие от устанавливаемых у клиента приложений, их веб-аналоги могут развиваться и улучшаться каждый день. И Getting Real использует этот факт на полную катушку.
How To Write Vigorous Software
Предложение не должно содержать ненужных слов, абзац не должен содержать ненужных предложений. Точно так же рисунок не должен содержать ненужных линий и машина не должна содержать ненужных частей. Но это не значит, что писатель должен делать каждое предложение коротким или опускать все детали и лишь поверхностно описывать героев. Нет. Это значит, что каждое слово должно быть необходимым.
Больше никаких тяжёлых программ
Типичный подход: длительный бюрократический процесс, направленный в основном на прикрывание задниц. Типичный результат: раздутое, посредственное и быстрозабывающееся программное обеспечение.
Getting Real избавляется от…
* Временных диаграмм, простирающихся на месяцы или даже годы,
* Вымышленных функциональных спецификаций,
* Споров о масштабируемости
* Бесконечных собраний
* «Потребностей» нанимать десятки сотрудников
* Бессмысленных номеров версий
* Непорочных планов развития, предопределяющих идеальное будущее
* Бесконечных возможностей по настройкам
* Аутсорсинга поддержки
* Несоответствующего реальности тестирования
* Бесполезного бумагомарания
* Иерархии «сверху-вниз».
Вам не нужна куча денег, огромная команда или длительный цикл разработки для создания классного программного обеспечения. Всё это для медленных, неясных и неизменных приложений. У Getting Real другой подход.
Здесь вы узнаете...
* О том, насколько важно иметь философию
* Почему хорошо быть маленькими
* Как создавать меньше
* Как быстрее перейти от идеи к реальности
* Как набирать сотрудников
* Почему вы должны начинать проектировать начиная с интерфейса
* Почему навыки письма настолько важны
* Почему надо создавать меньше, чем ваши конкуренты
* Как продвигать и распространять ваше приложение
* Секреты успешной поддержки
* Как сохранить темп после запуска приложения,
* …и кое-что еще;)
Фокусируемся на крупных масштабах идеи. Мы не хотим нагружать вас кусками кода и CSS-трюками. Будем придерживаться главных идей и философии, которая управляет процессом Getting Real.
Эта книга написана для вас?
Вы предприниматель, дизайнер, программист или маркетолог, работающий над большой идеей.
Вы понимаете, что старые правила уже не нужны. Выпускаете свои программы на CD каждый год? Как 2002. Номенклатура версий? В мусорку. Вы должны создавать, начинать и достигать.
Или, может быть, вы еще не знакомы с быстрой разработкой и бизнес-структурами, но хотите узнать об этом.
Если вы подходите под эти описания, значит эта книга для вас.
Замечание: Хоть внимание и акцентируется на разработке веб-приложений, идеи применимы к действиям вне этой сферы. Предложения маленьких групп, быстром создании макетов, ожидание итераций и многие другие могут служить руководством, запускаете ли вы бизнес, пишете ли книгу, проектируете ли веб-сайт, записываете ли альбом или делаете что-то другое. Как только вы начнёте следовать принципам Getting Real в одной области жизни, вы поймёте, как это можно использовать в других областях.
О 37signals
Что мы делаем
37signals[2]2
http://www.37signals.com/
[Закрыть] – небольшая команда, создающая простое и фокусированное программное обеспечение. Наши продукты помогут вам организовать совместную работу и быть более организованными. На данный момент, больше 350 тысяч пользователей используют наши веб-приложения для реализации своих целей. Наши приложения никогда вас не подведут.
Наш принцип работы
Мы уверены, программы слишком сложны. Так много возможностей, так много кнопок, столько времени, чтобы разобраться. Наши продукты сводят это к минимуму. Мы создаём продукты, которые работают шикарней, чувствуют пользователя лучше, позволяют вам вести разработку как вам удобно и весьма легки в использовании.
Наши продукты
На момент публикации этой книги мы имеем пять коммерческих продуктов и один OpenSource-фреймворк для веб-приложений.
Basecamp[3]3
http://www.basecamphq.com/
[Закрыть] управляет проектами. Вместо диаграмм Гантта, причудливых графиков и тяжёлых таблиц статистики Basecamp предоставляет форумы для общения, todo-листы, простое планирование, совместную работу. Пока многие согласны с тем, что это—лучший путь.
Campfire[4]4
http://www.campfirenow.com/
[Закрыть] предоставляет просто групповой чат для бизнеса. Компании понимают, как важен может быть постоянный чат в реальном времени для рабочей группы. Обычные чаты являются слишком большими для быстрого обмена сообщениями наедине, но их не хватает для троих или более человек. Campfire решает эту проблему и многие другие.
Backpack[5]5
http://www.backpackit.com/
[Закрыть] – альтернатива для тех, кому надо управлять своей жизнью. «Организация вашей жизни в 25 простых шагов». Персональный управляющий вашей информацией. Backpack – это просто страницы, заметки, задачи, напоминания по телефону и электронной почте. Это инновация в категории продуктов, которая страдает от status-quo-itis. Томас Вебер из Wall Street Journal назвал это лучшим продуктом в своём классе и Дэвид Погу из New York Times назвал это «очень крутым» организационным инструментом.
Writeboard[6]6
http://www.writeboard.com/
[Закрыть] позволяет вам писать и совместно использовать тексты. Это альтернатива «раздутым» текстовым процессорам, которые убивают около 95-ти процентов того, что вы пишете.
Ta-da List[7]7
http://www.tadalist.com/
[Закрыть] сохраняет списки задач и организует вас онлайн. Создайте списки для себя или совместно используйте их с другими. Нет способа проще, чтобы добиться своей цели. На данный момент создано более ста тысяч списков почти с миллионом задач.
Ruby on Rails[8]8
http://www.rubyonrails.com/
[Закрыть], для разработчиков то, что надо. Открытый фрейморк на Ruby для быстрого и лёгкого написания реальных приложений. Rails занимается всей рутиной в то время, как вы сосредоточены на своей идее.
Протесты и оговорки
Некоторые ответы на ваши письма:
«У меня это не работает»
Getting Real – это система, которая работала именно для нас. То есть, идеи этой книги не применимы к каждому проекту на этой земле. Если вы разрабатываете оружейные системы, системы управления ядерными разработками, банковские системы или другие жизненно и финансово критичные системы, вам надо хорошенько подумать, перед тем как использовать эту методику.
И не надо выбирать: всё или ничего, даже если вы не можете использовать Getting Real полностью, здесь есть по крайней мере несколько идей, полезных для вас.
«Эту идею изобрели не вы»
Мы и не утверждаем, что изобрели эти методы. Многие из наших подходов, в той или иной форме, применяются давно. Не раздражайтесь, если вы нашли нечто такое, что уже читали на каком-то блоге или в книге, изданной лет 20 назад. Определённо, это возможно. Эти методы не принадлежат 37signals. Мы просто рассказываем вам, как мы работаем и что нам помогло.
«Вы всё видите в чёрно-белых цветах»
Потерпите нас. Мы считаем – лучше представить идеи резко, чем тихо шептать об этом на ухо. Если это кажется дерзким и высокомерным, пусть так и будет. Мы предпочитаем быть «провокаторами», чем постоянно ныть «может быть, если…». Конечно, будут времена, когда эти правила должны будут измениться или исчезнуть. И некоторые из этих тактик, возможно, не подходят к вашей ситуации. У вас есть своя голова на плечах, решайте сами.
«В моей компании это не будет работать»
Наверное вы слишком большие для Getting Real? Даже Microsoft использует Getting Real, сомневаемся, что ваша компания больше них.
Даже если ваша компания всё ещё создаёт долгосрочные цели с большими командами, способы достигнуть Getting Real всё ещё есть. Только надо это делать потихоньку. Когда слишком много вовлечённых людей, ничего не получится. Чем вас меньше, тем быстрее и лучше можно сделать всё.
Естественно, это может потребовать некоторых продаж. Предоставьте Getting Real вашей компании. Покажите им эту книгу. Покажите им реальные результаты, которых вы можете достигнуть быстрее и с меньшей командой.
Объясните, что Getting Real – ничтожные риски, требует мало инвестиций, чтобы проверить его в деле. Посмотрите, сможете ли вы отказаться от «фундаментальных» понятий, чтобы доказать возможности Getting Real на маленьком проекте. Продемонстрируйте результаты.
Или, если вы действительно хотите быть напористым, идите на хитрость. Сделайте всё тихо и продемонстрируйте реальные результаты. Этот подход использовала команда Start.com, используя Getting Real в Microsoft.
Свободное плавание Start.com (проект Microsoft):
В больших компаниях процессы и встречи – норма. Многомесячное планирование и утверждение деталей с целью постоянного согласия в том, что является «правильным» для клиента.
Это может быть правильным подходом для коробочного ПО, но в интернете мы имеем невероятное преимущество. Просто попробуйте это! Позвольте пользователю говорить вам, правильно это или нет. Вы можете исправить и обновить это хоть сразу! Нет ничего важнее слов клиента – сопротивление убеждению участвовать на долгих встречах.
Легче сказать, чем сделать:
Месяцы планирования не так нужны. Месяцы написания спецификаций не так важны – спецификации должны иметь детали, выясненные в течении всей фазы развития. Не пробуйте закрыть все открытые проблемы и сохранить каждую деталь до начала разработки.
Сделайте меньше возможностей, но пусть они будут качественными. Вы не нуждаетесь в большом взрыве с новым релизом и кучей возможностей. Дайте пользователю немного, чтобы он мог понять и привыкнуть.
Если есть незначительные ошибки, завершите основную цель, а потом постепенно исправляйте ошибки. Тем самым вы ускорите ответную реакцию клиентов. Идеи могут великолепно выглядеть на бумаге, но на практике оказываются не такими уж и оптимальными. Чем скорее вы осознаете фундаментальные проблемы вашей идеи, тем лучше.
Как только вы начнёте всё делать быстро и реагировать на обратную связь с клиентом, вы установите прочную связь с клиентом. Помните, что цель состоит именно в том, чтобы получить постоянного клиента, создавая то, что они хотят.
– Саназ Ахари, менеджер Start.com, Microsoft.
Начало
Делайте меньше
Меньше соревнуйтесь
Народная мудрость гласит: чтобы подавить своих конкурентов, вы должны переиграть их. Если у них четыре возможности, у вас их должно быть пять, пятнадцать, двадцать… Если они тратят N, то вы должны потратить NN. Если у них есть 20, то у вас должно быть 30.
Это – тупик. Дорогой и параноидальный путь создания продуктов. Защищающиеся, параноидальные компании не могут предположить, что остаются позади. Они не лидеры, а последователи.
Если вы хотите сделать свою компанию ведомой, а не ведущей, вы можете прекратить читать эту книгу прямо сейчас.
Так что же делать тогда? Ответ: меньше. Сделайте меньше чем ваши конкуренты, чтобы ударить по ним. Решайте простые проблемы и оставьте сложные, противные проблемы всем остальным. Вместо превосходства попробуйте делать недостаточно.
Мы будем раскрывать понятие «меньше» в этой книге, но для начинающих это:
* Меньше возможностей
* Меньше опций и настроек
* Меньше структура компании
* Меньше встреч и абстракций
* Меньше обещаний
В чём ваша проблема?
Разрабатывайте ПО для себя
При создании программ большую часть времени будет занимать решение ваших собственных проблем. Вы и будете тем самым потенциальным клиентом, соответственно и знание о необходимом у вас уже есть. Это даёт вам отличное начало для последующего распространения продукта.
Главное здесь – понять, что вы не одни. Если у вас есть проблема, вероятно сотни тысяч других людей находятся в том же положении. Это ваш рынок. Это ведь не сложно?
Basecamp был создан при решении проблемы: как студия дизайна, мы нуждались в простом способе общения с нашими клиентами о проектах. Мы начали это делать через экстранет, который мы обновляли вручную. Но изменение HTML каждый раз при обновлении проекта – не самое приятное занятие. Эти проектные сайты всегда казались устаревшими и, в конечном счёте, были заброшены. Это расстроило нас, потому что оставили нашу работу неорганизованной и без общения с клиентами.
Таким образом, мы пришли к рассмотрению других вариантов. Каждый продукт либо не предоставлял возможностей, в которых мы нуждались либо был сложен, имел кучу возможностей, которые не представляли для нас интереса: составление счетов, жёсткое управление доступом, диаграммы, графики… Мы знали, что есть лучший путь. Итак, мы решили создать собственное приложение.
Если вы решаете собственную проблему, вы создаёте инструмент с душой. И это является ключевым. Это означает, что вы сделаете всё отлично. И это является лучшим вариантом.
Финансируйте себя сами
Деньги извне – план «B»
Целью многих стартапов является привлечение денежных средств инвесторов. Но помните, если вы принимаете помощь инвесторов, вы несёте ответственность перед ними. Ожидания от стартапа вырастут. Инвесторы довольно быстро потребуют свои деньги обратно. Они (деньги) будут превыше качества разрабатываемого продукта.
Сейчас, чтобы начать, не требуется многого. Аппаратные средства дешевы и большое количество ПО бесплатно и имеет открытые исходные коды. И страсть не приходит с ценником.
Так что сделайте всё, что вы можете с теми деньгами, что уже у вас есть. Усиленно думайте и расставьте приоритеты. Что вы можете сделать с тремя людьми вместо десяти? Что вы сделаете с 20 тысячами долларов вместо 100 тысяч? Что вы сделаете за три месяца вместо шести? Что, если вы продолжите выполнять вашу ежедневную работу и одновременно будете создавать ваше приложение на стороне?
Ограничения заставляют думать творчески
Имея ограниченные ресурсы, вы будете вынуждены считаться с ограничениями на ранней стадии и сильнее это ощущать. И это хорошо. Ограничения заставляют делать по-новому.
Ограничения также вынуждают развивать идею как можно скорее – ещё одна хорошая вещь. Месяц или два обдумывайте идею и поймите, стоит ли она того. Если «да», и вы будете быстры и жизнестойки, вам не понадобятся инвесторы. Если ваша идея еще «не созрела», вам придётся вернуться к чертежам. По крайней мере, теперь вы узнаете какие будут препятствия, не потратив на это много времени. И сможете легко отступить.
Если вы будете создавать ПО лишь ради быстрых денег – увидите, что быстрая прибыль маловероятна. Так что сосредоточьтесь на создании качественного инструмента, с которым ваши клиенты захотят работать в течении долгого времени.
Два пути
Джейк Уолкер создал одну компанию при помощи инвестора (Disclive) и другую – без его помощи (The Show). Он делится различиями между этими путями:
Деньги не были источником всех проблем, но проблемы приходили вместе с ними. Ожидания были выше. Люди работали ради зарплаты, хотелось создать и продать бизнес, либо быстрее вернуть деньги инвесторам. В случае с первой компанией нам пришлось действовать больше.
С The Show мы поняли, что можем создать намного лучший продукт с меньшими затратами. Только на это понадобится больше времени. Мы рисковали небольшим количеством собственных денег и ожидали, что люди на энтузиазме будут стремиться к качеству и скорости работы. И компания осталась (и, вероятно, продолжит быть) с небольшим оборотом. Начиная с первого проекта мы полностью были на самообеспечении. Из-за маленьких сроков работы с клиентами у нас вообще не было необходимости вкладывать действительно немаленькие средства в бизнес. И мы хотели не вырастить бизнес и продать его, а развивать его и продолжать извлекать из этого прибыль.
– Комментарий на блоге Signals vs. Noise.
Фиксируйте время и бюджет, делайте возможности гибче
Запускайте вовремя и согласно смете
Лёгкий способ начать вовремя и уложиться в бюджет: фиксируйте время и бюджет. Никогда не отдавайте больше времени или денег проблеме, умерьте пыл.
Бытует миф: мы можем начать вовремя, уложившись в бюджет и реализуя всё предполагаемое. Это практически никогда не выходит, но когда так происходит, от этого страдает качество.
Если вы не укладываетесь в отведённые время и бюджет, не увеличивайте их. Вместо этого сократите возможности. Время добавить их чуть позже будет всегда.
В начале лучше будет меньше запланированных возможностей, чем посредственным, громоздким и с кучей дыр безопасности. Оставьте волшебство Копперфильду. У вас реальный бизнес и реальный продукт.
Вот выгоды гибких возможностей и фиксированных времени и бюджета.
Расставление приоритетов
Выясните, что действительно важно. Что сподвигло на создание продукта? Это вызовет ограничения, которые сподвигнут вас на принятие быстрого, точного и жёсткого решения вместо тупого «мямления».
Действительность
Фиксация ожиданий – ключевой момент. Если вы фиксируете время, бюджет и возможности, вы не поставите их выше качества. Несомненно вы можете поставить что-то, но что именно?
Гибкость
Способность изменяться является ключевой. Жёсткие рамки не позволят изменяться. Добавление гибких возможностей приведёт к альтернативам, основанным на вашем опыте разработке продуктов. Гибкость – ваш друг.
Рекомендуем сократить возможности. Лучше сделать половину продукта, но качественно, чем недоделку.
Раз, два, три...
Возможно ли выполнить проект за год до намеченной даты? Когда-нибудь, наверное.
—Фред Брукс, инженер ПО и программист.
Заведите себе врага
Боритесь
Иногда лучший способ узнать, каким должно быть ваше приложение – это узнать, каким оно не должно быть. Пусть это будет врагом вашего приложения, и вы будете видеть свет, на который вы должны идти.
Когда мы решили создать систему управления проектами, мы знали, что MS Project был гориллой в комнате. Боясь горилл, мы использовали это для мотивации. Мы решили, что Basecamp будет ему полной противоположностью, анти-Project.
Мы поняли, что управление проектом – это не диаграммы и графики, отчёты и статистика; это общение. Это также не менеджер проектов, сидящий высоко и раздающий проектные планы. А тот, кто несёт ответственность и делает проектную работу.
Нашими врагами были Диктаторы Управления Проектами, которые имели обыкновение «бить кнутом». Мы хотели демократизировать управление проектом, сделать так, чтобы каждый был его частью (включая клиента). Проекты становятся лучше, когда у каждого есть интересы в нём.
Когда начали работу над Writeboard, мы знали, что есть конкуренты этому продукту с гораздо большим количеством возможностей. Таким образом мы решили выделить «простоту» вместо этого. Мы создали приложение, которое позволило людям легко делиться идеями и сотрудничать, без увязания в несущественных особенностях. Если что-то было несущественным, мы отказывались от этого. А через три месяца после запуска было создано более чем 100 тыс. Writeboard-ов.
Когда мы начали работу над Backpack, нашими врагами были структура и твёрдые правила. Люди должны организовывать информацию как им удобно, не основываясь на всеобщих убеждениях «как надо».
Бонус, который вы получаете при наличии врага – весьма ясное маркетинговое сообщение. Людей топит конфликт. И они также сравнивают продукт с другими продуктами. Выбирая врага, вы даёте людям то, что они хотят увидеть. И они не только будут понимать ваш продукт лучше и быстрее, они встанут на вашу сторону. Это безошибочный способ получить внимание и зажечь страсть.
Исходя из всего сказанного – важно быть не слишком одержимым борьбой с врагом. Тщательно анализируйте другие продукты и вы будете ставить ограничения своим идеям. Наблюдайте, и только потом двигайтесь к собственному видению и к собственным идеям.
Не следуйте за лидером
Специалисты по маркетингу (и все люди) хорошо «обучаются» следовать за лидером. Естественный инстинкт должен выяснить, что работает для борьбы, а затем пробуйте превзойти это – чтобы быть дешевле своего конкурента, который конкурирует ценой, или быстрее, если он конкурирует скоростью. Проблема в том, что как только потребитель купил чью-либо неверную историю и верит этой лжи, убеждать его переключиться – то же самое, что убеждение его в том, что он был неправ. А люди очень не любят признавать свою неправоту.
Вместо это расскажите другую историю и убедите его, что эта ваша история важнее, чем история, которой он сейчас верит. Если ваше соревнование в том, кто быстрее – вы должны стать более дешёвым. Если кто-то продаёт историю здоровья, вы должны продать историю удобства. Не только говоря «мы более дешёвые», но и предоставляя реальную историю, отличающуюся от существующих.
– Сет Годин, автор/предприниматель, Be a Better Liar.
В чём ключевая проблема?
Один из быстрейших способов придумать проблем на свою голову – смотреть на то, что делают ваши конкуренты. Мы чуть не «нарвались» на это: когда мы начинали делать BlinkList уже существовало с десяток других сервисов хранения веб-закладок. Некоторые даже начали делать крупноформатные таблицы с детальными сравнениями особенностей.
Это может быстро сбить с пути. Вместо этого мы остаемся сосредоточенными на большой картине и нас продолжают спрашивать, что является ключевой проблемой, которую мы пробуем решить, и как решаем это.
– Майкл Рейнинг, соучредитель MindValley & Blinklist.