Getting Real by 37 signals – YAGNI, YAGNI, YAGNI

Прочитал книгу Getting Real by 37 signals. Несколько прочтенных страниц такой книги действуют как допинг – нужно бросать чтение и за комп. Каким то странным образом эта книга кружила вокруг меня меня достаточно долго, но ни как не попадала мне в руки. Подход, как должен развиваться web-проект, мне наиболее близок по духу. Компактная, профессиональная команда, с очень успешными проектами. Мне это на много ближе, чем разрабатывать проект, чтобы потом продать Google, Yandex или венчурным фондам. Также мне близко то, что лучше небольшая, но эффективная команда, эффективность оценивается количеством пользователей и доходом, а не количеством человекомесяцев.
Книга о том, как в Web-проекте на полную катушку применять KISS & YAGNI.
Cледующая их книга Rework об управлении проектами тоже кружится вокруг меня, но скоро этому прийдет конец J А тут еще и Хабрахабр подлил масла в огонь: «Rework идейно дополняет книгу Тима Ферриса (Tim Ferriss) «The 4-Hour Workweek»», которую я прочитал непосредственно перед Getting Real.
Одно проведение митингов чего стоит 🙂 :

 
Мысли, которые я отдельно отметил, некоторые новые, а некоторое хорошо забытые старые:

Начинать с интерфейса, а не с логики.
Иногда лучший способ узнать, каким должно быть ваше приложение — это узнать, каким оно не должно быть. Пусть это будет врагом вашего приложения, и вы будете видеть свет, на который вы должны идти.
Если не хватает времени или бюджета, не увеличивать их, а резать функциональность и расставлять приоритеты.
Работникам каждый день нужно знать, когда они просыпаются, почему они собираются идти на работу. Этот план должен быть кратким и сладким, и затрагивать все: почему вы существуете? как это мотивирует? Я называю это молитвой — описание в трех-четырех словах причин, по которым вы существуете.
Пренебрегайте деталями в начале. Убедитесь, что это работает. Позже вы можете все усовершенствовать.
Поверьте, это не большая проблема расширяться, когда в этом есть необходимость.
Создайте половину продукта, но законченный продукт.
Если вы сможете сфокусировать работу и взгляд, на том, что имеет значение, вы достигнете производительности, которую никогда не воображали.
Вы должны рассматривать только те функции и особенности, которые были протестированы в течение трех дней и за это время были востребованы максимально.
Тестируйте в диких условиях.
Испытывайте ваше приложение в реальных условиях. Когда кто-нибудь другой наблюдает, люди особенно осторожны в том, чтобы не наделать ошибок.
Не нужно никаких бета-версий.
Перед тем как добавить функцию, задумайтесь, сколько это с виду простое решение может принести головной боли.
Забудьте о запросах функций. Пусть ваши клиенты будут вашей памятью.
Спросите людей, чего они не хотят.
Избегайте настроек. Примите решение о деталях. Настройки — уход от пути принятия жестких решений.
Никаких встреч. Никогда не участвуйте во встрече без ясной повестки дня.
Самое главное в разработке программного обеспечения — мотивация. Долгие, затянутые циклы разработки — убийцы мотивации.
.. мы могли оценить его работу по главному критерию — качеству.
(Либо фичу не делать вообще, либо делать качественно).

Создавайте дизайн интерфейса (хоть на бумаге) до того, как начнете программировать.
Интерфейс и есть продукт.… это было больше чем идея, это была реальность.
Дизайн от эпицентра.
Обрабатывать состояние “чистого листа”.
Уместность лучше последовательности (consistency).
Вы должны говорить тем же языком, что и ваша аудитория.
Не создавайте отдельного интерфейса для настроек, просто встройте его функции в основной.
Меньше кода.
Появилась идея – подождите неделю, прежде чем ее воплощать.
Выбирайте инструменты, которые заинтересовывают и стимулируют вашу команду. Счастливый программист – продуктивный программист. Смотрите на неосязаемые факторы: чувствуется ли в инструменте страсть, гордость и мастерство? Будете ли вы по-настоящему счастливы, работая в этой среде восемь часов в день? Это особенно важно при выборе языка программирования.

И Ruby, и Rails (авторами которых 37signals являются) проповедуют идею оптимизации для людей и их счастья.

Расплачивайтесь по долгам вашего кода и дизайна.
Выпустите данные в мир через RSS, API и т.п.
В функциональной спецификации нет ни грамма функциональности.
Функциональные спецификации ведут к перегруженности функциями. В стадии спецификаций вас ничто не ограничивает.
Напишите рассказ в одну страницу о том, что именно приложение должно делать. Используйте простой язык и сделайте это быстро. Если вам потребуется более одной страницы, значит, вы очень усложняете. Этот процесс не должен занять более одного дня.
Боритесь с создателями препятствий.
Пишите рассказы, а не описывайте детали.
Вставьте настоящий текст вместо Lorem ipsum.
Подумайте о своем продукте как о человеке. Каким человеком вы бы хотели его видеть?
Примите за правило делить хотя бы один продукт или услугу на маленькие кусочки, которые недороги, легки или интересны.

Давая людям власть над их информацией, вы создаете доверие
Избегайте долгосрочных контрактов, платы за подключение и т.д.
Подумайте о том, чтобы освободить существующих пользователей от повышения цены на какое-то время.
1) Анонс (teaser, буквально: дразнилка – прим. перев.), 2)Рекламный показ отрывков, 3) Выпуск.
Анонс – рекламный показ отрывков – выпуск.
Начните окучивать знатоков и экспертов. Это те, кто находится на переднем крае. Они определяют вкусы остальных.
Перед выпуском программы Backpack мы опубликовали наш манифест. Поэтому люди стали думать о нашей программе и обсуждать ее.
Сколько обновлений/поправок вы сделали? Покажите движение вперед и поддерживайте его.
Мощный сайт для продвижения: обзор, экскурсия, скриншоты и видеоролики, манифест, примеры, отзывы, форум, цены и регистрация, блог.
Поделитесь знаниями с миром
The Yellow Fade Technique, метод, который мы придумали, чтобы выделить недавно измененную область страницы.
Преподавание улучшает вашу карму.
Раздел статей и советов в нашем блоге – самое популярное место на нашем сайте.
Группы по интересам очень любят пережевывать “пищу функциональности” и выплевывать ее обратно в сообщество.
Вам полезно знать, кто о вас говорит. Узнайте это, а затем дайте другим почувствовать ваше присутствие.
Дайте вашему приложению легко запоминающееся название.
Выберите имя короткое, яркое, запоминающееся – и вперед.

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

Пользователям нравится прямота.
Крайне важно, чтобы вы, как компания-разработчик, любили свой продукт. А вы не сможете его любить, если он наполнен кучей вещей, с которыми вы не согласны.
Выпустите плохие новости и уберите их с дороги.
Когда появляются плохие новости, выпустите их сразу. Хорошие новости, с другой стороны, выпускайте медленно.  Если вы можете продлить прекрасные чувства, сделайте это.
Быстрое обновление показывает движение. Оно дает вторую волну разговорам. Оно подкрепляет первоначальные положительные эмоции, связанные с вашим продуктом.
Примеры для содержания блога: частые вопросы, как работать с программой, советы и решения, новые функции, обновления, исправление ошибок, разговоры/пресса.
Выложите ссылки на конкурентов и открыто обсуждайте их.
Не используйте “бета” в качестве козла отпущения. Бета сваливает все на пользователя.
Подождите, пока страсти улягутся, перед тем как действовать … если вы переждете этот начальный период, который составляет 24-48 часов, все уляжется.
Отрицательные реакции почти всегда звучат громче, чем положительные.

Подпишитесь на новости и о своих продуктах, и о продуктах конкурентов Используйте сервисы, такие как PubSub, Technorati, Feedster и другие, чтобы быть в курсе.

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

P.S. Только что сделал подсветку ссылок в своем блоге так же как у 37signals в проектах. Кстати у них блог есть по Usability & Design.

Share

Leave a Reply

Your email address will not be published. Required fields are marked *