Читаем Getting Real полностью

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


Двигайтесь по течению


Будьте открыты для новых путей и изменения направлений

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

Посмотрите на проект Flikr. Он начинался как онлайновая игра для нескольких игроков, которая называлась «Бесконечная Игра» (The Game Neverending). Создатели проекта быстро поняли, что возможность совместного использования фотографий была куда более значимой, чем сама игра (которая в конце концов оказалась на полке). Учитесь признавать свои ошибки и менять курс.

Будьте серфером. Наблюдайте за океаном. Смотрите, где образуются большие волны, и соответственно корректируйте курс.


Заключение


Заводите моторы


Готово!

Ну хорошо, вы это сделали! Надеемся, вы с нетерпением ждете момента, чтобы начать применять Getting Real в своих программах. Сейчас самое лучшее время, чтобы создавать отличные программы, используя минимум ресурсов. При наличии хорошей идеи, страсти, времени и навыков — выше только небо.

Несколько мыслей в заключение:


Воплощение

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

Разница между вами и всеми остальными в том, как хорошо вы воплощаете. Успех достигается именно безупречным воплощением.

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

Главное — сохранять равновесие. Если вы гнетесь слишком далеко в каком-то направлении — вы на пути к падению. Постоянно ищите свои слабые звенья и сосредоточьтесь на них, пока не приведете их в порядок.


Люди

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

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


Больше, чем просто программы

Также стоить заметить, что подход Getting Real применим не только к построению сетевых программ. Когда вы ближе познакомитесь с его идеями, вы обнаружите их повсюду вокруг себя. Например:


Силы особого назначения, такие как «Зеленые Береты» или «Альфа», используют малые бригады и быстрое развертывание для выполнения задач, для которых другие подразделения слишком велики или слишком медлительны.


Рок-группа White Stripes ограничивается в своем творчестве простыми средствами: два человека, простые песни, по-детски незамысловатая партия ударных, использование студии по минимуму и т.д.


iPod фирмы Apple отличается от конкурирующих продуктов тем, что в него не встроены ни радио, ни диктофон.


Перейти на страницу:

Похожие книги

C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT