Free

Полезные конспекты книг и авторские заметки по информационным технологиям. Без формул

Text
Mark as finished
Font:Smaller АаLarger Aa

Полезные высказывания из книги «Правила разработки программного обеспечения» Маккарти

В разделе приведены цитаты из [6].

Разработка качественного ПО концептуально:

– изучить пользователей и позиционировать себя на рынке;

– определить спецификацию продукта, который соответствует запросам рынка;

– разработать ПО, выпустить его, занять достойное место в ряду основных производителей.

Запаздывание – обычное явление в разработке ПО.

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

Интеллект проявляется в качествах:

– творчество;

– ум;

– рассудительность;

– эффективность;

– четкость.

Самое трудное в процессе разработки ПО – добиться действительного участия создателей.

Основные аспекты деятельности в разработке:

– как заставить человека думать;

– о чем люди должны думать;

– как сделать человеческие мысли эффективными.

Поставка качественного ПО в срок просто дело применения здравого смысла.

Программист – ювелир.

Поощрять умственную деятельность.

Устранять причины, а не людей.

Большинство ресурсов должно уходить на интеллектуальную деятельность, а не в механические усилия.

Первостепенная обязанность руководителя – вовлечь каждого работника в процесс и держать его в этом процессе на протяжении всего проекта.

Программный проект – это процесс, проходящий 4 основные стадии:

– начальные шаги – создание разумной маркетинговой стратегии, проектирование продукта, создание клана разработки и первые шаги по разработке (собрать работоспособную команду из хаоса, который царит в фирме);

– середина игры – длительный промежуток времени, начинающийся с первого нарушения графика разработки и оканчивающийся наступлением режима выпуска;

– режим выпуска – время выпуска продукта;

– запуск – время, когда продукт считается выпущенным.

Области действий хорошей разработки:

– организация;

– конкуренция;

– клиент;

– проектирование;

– разработка.

Коллектив разработчиков выполняет следующие функции:

– управление проектом: создавать план разработки, вести внешние связи, снабжать необходимыми ресурсами, участвовать в проектировании;

– контроль качества: оценивать качество продукта, участвовать в проектировании;

– разработка: писать программный код, отлаживать программы, участвовать в проектировании;

– управление продуктом, маркетинг: создавать план выпуска сообщений и продукта, осуществлять связь с клиентом, участвовать в разработке;

– документация и обучение пользователей: систематизировать информацию, необходимую для использования продукта, участвовать в проектировании.

Главная функция контроля качества – постоянно оценивать состояние продукта, чтобы правильно сфокусировать деятельность всех членов команды.

Состояние продукта = тестирование и анализ.

Фирма не должна перемешивать желаемое с действительным.

Не должно быть борьбы за официально установленные полномочия.

Цель проектирования продукта в том, чтобы в его основу легли лучшие идеи.

Все споры о том, что лучше, должны быть решены до начала разработки.

Ссоры – выражение проблем, которые возникли в команде.

Распределять роли до начала разработки.

Для поддержания работоспособной, слаженной команды необходимо общее видение.

Для достижения равновесия нужно действовать в более узких рамках, специализироваться и конкурировать.

Каждый член команды должен знать:

– что будет делать команда;

– как будет выглядеть конечный продукт;

– какова базовая стратегия создания продукта;

– когда команда должна выпустить продукт, чтобы получить от него ожидаемый эффект.

Все возникшие противоречия должны быть разрешены.

Хорошие лидеры любого уровня должны передавать свое видение приверженцам.

Установить в команде режим сопереживания.

Что делали бы эти люди на моем месте?

Как преобразовать их сложные чувства в ясный приказ о действиях?

Привлекать каждую голову в дело.

Если каждый член команды постоянно думает, какое поведение эффективнее всего в данном случае, то есть вероятность, что дела команды пойдут лучше.

Выслушивать все идеи.

Чем больше идей, тем лучше.

Идеи людей должны применяться.

Создать технологический план выпуска версий.

Технологический план – обновляемый 1—2 раза в год контракт, выражающий намерения команды.

Не реализовывать все задумки именно в этой версии.

Для отслеживания инвестиций и трудностей делить план на стратегические, конкурентные, ориентированные на клиента, инвестиционные и парадигматические отличительные особенности.

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

Обеспечить адекватное восприятие критики.

Правильно балансировать нагрузки в проекте.

Исключить перегорание разработчиков.

Провести разведку перед началом нового проекта, особенно для требований.

Использовать последние версии инструментов.

Прогнозировать версии сред, в которых будет эксплуатироваться продукт.

Необходимо соблюдать пропорции в численности команды по ролям.

У каждого одна своя роль.

Группа автора:

– 6 разработчиков;

– 2—3 контролера качества;

– 1 руководитель проекта;

– 2 технических писателя.

Контролер качества должен проектировать продукт и знать потребителей.

Можно добавить в команду маркетологов.

Управление областями по отдельным дисциплинам поручать ведущим специалистам в области.

Команда должна нести совместную ответственность за все аспекты.

Жест обратной связи гасит агрессию.

Необходимый команде консенсус достигается ценой бессонных ночей, страха быть отвергнутым, испытаний личной храбрости.

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

Не должно быть поддакивания, фальшивого консенсуса.

Члены команды должны осознать, что им никто не мешает.

Каждого человека надо вдохновлять и подпитывать.

Поначалу становлению команды могут препятствовать ее члены.

В идеальном проекте имеются создатели – специализируются в разработке, контроле качества, маркетинге, документировании и так далее, и кураторы – специализируются в понимании группы, создании обстановки для творческой работы и эффективной реализации идей.

Кураторы обеспечивают включение максимального количества идей в коробку с программным продуктом.

Кураторы и создатели ответственны за качество и состояние группы.

Единственная власть идет от знания и понимания, а не от занимаемой позиции.

Руководители проекта выполняют функции:

– возглавляют определение успешного продукта;

– возглавляют распространение видения продукта;

– возглавляют движение команды к гарантированной поставке продукта.

Руководитель проекта не имеет прямой власти.

Роль руководителя проекта – лидерство.

Управление проектом – техническая задача.

2 аспекта технического мастерства: технология, используемая при создании ПО, продукта, и технические аспекты лидерства при создании ПО.

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

Руководитель проекта – сердце разработки ПО.

ПО выражает команду, его создавшую.

Следить не за словами и поведением команды, а оценивать ее по ПО.

Анализ проблем в команде – способ привести ПО в порядок.

Постоянно поддерживать контакт с духом команды.

Сложные чувства и идеи должны свободно передаваться внутри команды.

Сделать максимально полной властью каждого члена команды.

В команде не должно быть авторитетов и кумиров.

Вводить команду в курс дела, чтобы сформировать адекватные ожидания.

Менеджеры обеспечивают принятие командой хорошего решения – обучением, информацией, адекватными ресурсами любого вида.

В среде с правильным наделением полномочиями ситуация не анархическая и конфронтационная, а основанная на способностях людей.

Сфокусировать внимание команды на выпуске продукта.

Игнорировать иерархические и функциональные границы.

Задача создания ПО не имеет отношения к тому, кто и какие принимает решения, кто и за что вознаграждает, кто и за что наказывает.

Четыре основные ситуации на рынке:

– вы один на рынке;

– вы идете бок о бок с конкурентом;

– вы отстаете от конкурента;

– вы опережаете конкурента.

Необходимо знать, в каком направлении развивается рынок, кто конкуренты, каковы их возможности, как их опередить.

Человек генетически предрасположен к командной работе.

Люди в вашей группе были отобраны эволюционно.

Как только поставлен диагноз ситуации, сразу обсудить классические ходы.

Рынка без конкуренции не бывает.

Комплекс задач: создание отличительных преимуществ, разработка технологического плана.

Перегруженный функциями и отличительными особенностями продукт становится раздутым и ненадежным.

Силовой подход: опередить конкурента по числу отличительных особенностей или добавить парадигматические особенности, меняющие архитектуру.

При неудаче сохранить расходы на пиар.

Выпустить раньше, чем это сделают конкуренты.

При лидерстве самодовольство – враг.

Лидерство не будет вечно.

Надо конкурировать с самим собой.

Работать над увеличением скорости перемен.

 

Пресекать все попытки возврата к худшему.

Не позволять людям успокаиваться и замедлять движение.

Цикл ПО связан с выпусками ОС.

Проектировать желаемость продукта с самого начала.

Принимать во внимание психоэмоциональное состояние клиента, в котором он использует компонент.

Нормальная успешная фирма в версии за версией отвечает на самые жесткие требования клиентов.

Рынок хочет делать на компьютерах то, что раньше на них не делалось.

Спрашивать клиентов об их нуждах всегда и везде.

Проводить статистические исследования.

Всегда думать о власти, безопасности и управлении.

Не будьте непостоянны с вашими клиентами.

Сокращать время цикла разработки.

Наличные деньги никогда не лгут.

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

Клиенты предпочитают новое ПО обещаниям.

Проанализируйте значение вашей работы в исторических терминах.

В ПО каждый элемент существенен для целого и все существенные элементы присутствуют.

Пользователю ничего, кроме продукта, не нужно.

Тема (theme) ПО – преобладающая идея, создающая основу для проектирования.

Определив тему, нужно жертвовать другими качествами.

Элементы продукта получают внимание пропорционально их важности.

Ранние части ПО определяют более поздние.

Минимизировать зависимости.

Исключить самую вероятную опасность.

Тщательно выбирать платформу.

Устанавливать сроки на стадии проектирования.

Разработка = планирование, составление графиков, создание и развертывание ПО.

Создавать контрольные точки.

Не слушать некомпетентных приказов.

В сумасшедшем доме здоровый человек считается сумасшедшим.

Не позволять абсурду и неразумности укреплять позиции.

В середине игры цели – стойкость и упорство.

Некоторый риск существует даже в простых процедурах.

Не поддаваться страхам команды.

Треугольник: отличительные особенности, ресурсы, время.

Запросивший помощь должен максимизировать эффективность количества и типа помощи. В таких случаях ничего нельзя сказать наверняка.

Явно озвучивать ваше незнание, чтобы все понимали истинное положение вещей.

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

Предпосылками успеха являются лишения и разочарования.

Не замалчивать неопределенности.

Равновесие, созгласованность, целостность.

Мысли = слова = дела.

Сдаваемые объекты должны появляться через небольшие промежутки времени.

В разработке запаздывали все.

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

Не оставлять разработчиков наедине с собой.

Продукт следует собирать с незначительными интервалами.

Не уходить в темноту.

Функциональность системы не должна теряться.

Текущая сборка – это текущее состояние команды.

Достигнуть состояния ясности и оставаться в нем.

Иметь выпускаемый продукт каждый день.

Нужен человек, занимающийся формулированием состояния дел.

Использовать метрики каждый день.

Намечать контрольные точки для каждой, даже самой маленькой задачи.

Для контрольных точек назначать уровень качества.

Команде необходимо осознавать свое состояние.

Цели контрольной точки выражаются в терминах объектов сдачи.

Объекты сдачи передаются с письменным подтверждением заинтересованных лиц.

В команде производить балансировку нагрузки.

Каждую контрольную точку обсуждать без поиска виновных.

Выдвинуть на первый план моменты, которые были сделаны хорошо.

Не наказывать за опоздание в контрольной точке.

Контрольная точка: что будет передано, кому, в какой форме?

В команде – свобода высказываний.

К каждой контрольной точке выработать норматив.

Пренебречь элементами, представляющими избыточную сложность.

Контрольные точки от 6 недель до 3 месяцев друг от друга.

В проекте не более 7 контрольных точек.

К каждой контрольной точке формулируется 1—2 предложения, описывающих путь достижения.

Обсуждать с командой ситуацию и разрабатывать согласованный план действий.

Каждый новый проект начинается на нулевом уровне реальности.

Опоздания и ошибки не имеют отношения к проигрышу или вине.

Делать допуски в определении дат.

Не кричать о пугающем состоянии дел часто.

Что говорит о себе команда своим поведением?

Не искать козла отпущения.

Не переносить даты.

После опоздания следующая контрольная точка должна быть достигнута.

Делать опоздание положительным переживанием.

Наблюдать за всем.

Не все изменения следует принимать и реализовывать.

Анализировать причины и цели проблем.

Изменяться вместе с миром.

Не принуждать людей работать по вечерам и выходным.

Нарушать правила – разработчики любят вставать против власти и структуры.

Применять символическое общение.

Бета-версии должны обеспечить проверку работы продукта на как можно большем числе машинных конфигураций.

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

У маркетологов должна быть эмоциональная модель клиентов.

Критерии сортировки дефектов: серьезность дефекта, важность, размер, возможность дестабилизации ПО при исправлении дефекта, динамика команды, степень полноты тестирования продукта после исправления дефекта.

Качество включает в себя новизну проекта и его исключительность.

Фанфары – важная часть отношений с клиентом.

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

История продукта должна быть оригинальной житейской мудростью.

У людей нет ни времени, ни желания овладевать сложными вопросами.

Хороший рассказ – настроение, замысел, хорошие и плохие парни, накал страстей и сцены погони.

1—2 ключевых фактов достаточно.

Сделать так, чтобы слушатель выводил сам главную вещь, но не сообщать ее.

Мода – мощный мотивирующий фактор.

Пользователи идентифицируют себя с ПО.

Член команды должен быть прежде всего сообразительным.

Неповторимость – наиболее видимое проявление интеллекта.

Ставить кандидатам реальные задачи.

Дать людям команды перспективу.

Здоровые люди от голода не умирают.

Все новое встречает противодействие.

Почти всегда легче использовать сильные стороны человека, чем исправлять его недостатки.

Не бойтесь показать свою уязвимость.

Использовать более функциональную модель для регулирования отношений между боссами и подчиненными.

Босс – клиент, разработчик – поставщик услуг.

Если босс собирается сделать глупость, то не реагировать.

Оказание наилучших услуг не граничит с самоунижением.

Когда в группе отсутствует функциональный порядок или иерархия, в группе всегда присутствует борьба (скрытая или явная) за позиции и связанная альфа-энергия.

Применять атаку с поклоном.

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

Удаленность – центральная проблема в коллективе.

Свободное выражение эмоций в группе.

Каждый должен знать, чего он хочет и чего от него хотят.

Полезные высказывания из книги «Увеличение продаж с SEO» Дыкана

В разделе приведены цитаты из [7].

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

Таблицу из двух колонок: сотрудники, отвечающие за сайт.

Теги в порядке влиятельности: title, h1, h2…

Ссылки заголовками не обозначают.

H1 – единственный главный заголовок на странице, остальные Hn – подзаголовки.

Оптимальный вариант – количество тегов Hn на странице не превосходит их номера n.

Лучше не заниматься созданием «лишних» заголовков.

При написании заголовков употребление ключей желательно, но не должно раздражать человека.

Заголовки должны быть приятны уху и глазу, вызывать приятные эмоции.

Уникальный текст страниц сайта важен для поисковика.

Должно быть (или используются) немного (!) точных цитат, имен собственных, популярных расхожих фраз (афоризмов, пословиц, поговорок и тому подобного).

Рерайт – переписывание чужого текста своими словами.

Проверка на уникальность текста: text.ru, Advego Plagiatus.

Большинство заказчиков готовы принять текст с уникальностью 95—97%.

Качественный текст – это грамотно изложенный, красиво написанный, верно структурированный текст без синтаксических ошибок.

Для поисковиков важна и достоверность изложенной информации.

Поисковики не слишком одобряют дублированный (повторяющийся) контент на одном ресурсе (сайте).

Высоко котируются тексты, не содержащие орфографических и пунктуационных ошибок, опечаток, помарок и недописок.

Все слова должны быть прописаны максимально полно (без тчк, зпт).

Ключевое слово – слово или словосочетание, которое теоретически пользователь введет в поисковик.

Ключ в прямом вхождении – фраза в неизмененном виде, которую вводят в строку поиска и которая встречается на сайте.

Бывают ключи непрямого вхождения – слова ключа разделяются другими словами.

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

В семантическое ядро также входят слова, которые, возможно, и не являются ключами, но вводятся пользователями в строку поиска вместе с ключевыми запросами, а также определенные формы поисковых слов.

Семантическое ядро демонстрирует тематику сайта.

Ключевые слова не должны повторяться на сайте слишком часто.

Оптимальная длина текста – от 1000 до 4000 знаков.

Важный фактор – количество кликов по ссылке на сайт в выдаче поисковика.

Уход с сайта после захода не нравится поисковику.

Релевантность страницы запросу пользователя – уровень соответствия страницы или сайта ожиданиям пользователя (по ней определяется позиция и наличие ссылки в выдаче).

Текст должен быть адекватным, интересным, легко читаемым, тематическим и без «воды».

Поисковая система уточняет, в прямом ли вхождении встречаются все слова (фразы) запроса в тексте или между ними есть еще какие-то слова (то есть фраза запроса разделена другими словами – от этого зависит позиция в выдаче).

Чем меньше расстояние (побуквенное) между словами запроса в тексте сайта, тем более релевантной считается страница.

Чем ближе морфологическая форма слов в тексте к той морфологической форме, которая указана в запросе, тем более релевантным считается текст (падеж, число).

Поисковик обращает внимание на синонимы, количество слов или словосочетаний запроса, присутствующее в тексте.

Наполнять сайт неполезной для пользователя информацией нежелательно.

Для поисковика важны время, проведенное на сайте, и количество просмотренных страниц.

Характеристики хорошего сайта:

– сайт прост и понятен;

– дизайн пришелся по душе пользователю;

– контекст сайта – исключительно нужная и полезная информация;

– пользователь нашел, где писать;

– пользователь сумел найти необходимые ему контакты;

– пользователь поверил всему, что написано на сайте;

– пользователь узнал много нового на сайте (избегайте баянов).

Ссылочное ранжирование – это ссылки на ваш сайт, размещенные на других ресурсах.

Важен текст ссылки (анкор), по которому поисковик определяет, чем полезен сайт, на который ведет ссылка.

Важны авторитет разместившего ссылку, тематика сайта, на котором ее разместили, возраст ссылки.

Важна структура сайта: поисковая система должна верно понять содержание ресурса и проиндексировать его.

Важно наличие иерархической структуры сайта.

Желательно, чтобы пользователь добрался до нужного ему раздела за три клика (максимум – четыре).

Перелинковка – внутренние ссылки, установленные с одной страницы сайта на другую.

Страница, на которую ставится ссылка, имеет при прочих равных условиях больший вес, чем страница, на которую ссылка не стоит.

Анкоры в перелинковке используют для продвижения по низкочастотным запросам.

В анкоре должен быть прописан ключ продвигаемой страницы.

Скорость загрузки – важный фактор, влияющий на конверсию и ранжирование.

Количество языковых ошибок на сайте проверяется поисковиком.

Поисковая система обращает внимание на географический фактор.

Для поисковика имеет значение количество упоминаний о вашем сайте в соцсетях, ссылки на ваш сайт, размещенные в соцсетях, и присутствие вашего сайта в соцсетях.

 

SMM – Social Media Marketing.

Для поисковика важен возраст сайта.

Чужие тексты, картинки, графики кардинально снижают рейтинг сайта.

Допустимы только рерайт – видоизмененные первоисточники, и копирайт – написание текста с нуля без первоисточника.

Ссылки с сайтов, которые были созданы для продажи ссылок, снижают рейтинг в выдаче.

Все разделы сайта должны быть расположены в соответствии с логикой и степенью значимости.

При правильной структуре больше веса должно приходиться на продвигаемые страницы (ненужные расположены в недрах сайта).

Нужно учитывать эффективность ключей.

Что еще можно сделать для продвижения сайта?

Как можно сделать сайт еще удобнее?

Пользователю важен шрифт.

Делайте, как для себя.

Навигация сайта должна быть максимально легкой и удобной: зашел, увидел, выяснил, обрадовался, купил.

Сайт должен быть приятным глазу.

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

Сайт должен быть аккуратным, иметь свой стиль, лаконичным.

Красивый сайт выглядит лучше конкурентов из топа тематики.

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

Для этого нужно узнать, как именно ищут эти товары и услуги (какие слова и словосочетания вводят в строку поиска).

«Яндекс. Директ».

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

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

«Яндекс. Вордстат» – общая частота запроса включает все запросы, которые в него входят (если он введен в «Вордстат» без кавычек, с кавычками – разное совпадение формулировки запроса).

Ключи могут быть раскручены мошенниками.

Каждая статья должна быть уникальной, информативной, интересной.

Составлять таблицу из двух столбцов: запрос, цель пользователя.

Выбор – это привилегия тех, кто платит.

Лучшие акции нужно искать у конкурентов.

Сайт с отзывами вызывает у пользователей больше доверия.

На сайте нужны бонусы, скидки, акции, заманчивые предложения.

Один час сегодня стоит двух часов завтра.

Нужно использовать онлайн-консультант.

С помощью рассылок можно возвращать пользователей на сайт.

Призыв к действию должен быть четким и понятным.

Дата проведения акции должна быть адекватной.

Для заказа только по номеру телефона делайте кнопку быстрого заказа, а также кнопку «заказать обратный звонок».

Предлагайте подарки к покупкам.

Заголовок каждой страницы лучше включать в TITLE.

Во всех уникальных текстах страницы должны быть продвигаемые фразы.

Уделяйте внимание разметке текстов.

copyscape.com.

Сайт с дублированным контентом поисковик считает недостойным внимания пользователя.

Страховка от воровства уникальных текстов – в «Яндекс. Веб-мастер».

При потере позиций на сайте нужно обновлять контент на уникальный.

Страницы, продвигающие более конкретные запросы, должны быть глубже в структуре сайта.

«Все, что может быть сказано, может быть сказано ясно».

Структура сайта должна быть правильной и понятной; товар должен быть в широком ассортименте; описывающие тексты должны быть уникальными.

«Чем больше слов произносишь, тем туманнее мысль».

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

Около 90% сайтов требуют переделки под оптимизацию.

Оценить количество ссылок, стоящих на сайты-конкуренты: linkpad.ru.

Желательно, чтобы на сайте не было рекламы.

Создание семантического ядра займет 3—4 недели.

Добавить сайт в справочник адресов «Яндекс» и в «Яндекс. Каталог».

Примерно месяц поисковик будет замечать обновление контента.

Скупой платит дважды.

Пользователь должен мочь почерпнуть из сайта то, что ему пригодится.

Можно гарантировать действия, но нельзя – результат.

SEO-оптимизатор – главный человек в команде.

Лучше, когда продвигается большое число ключей.

«Гораздо лучше обещать меньше и давать больше, чем наоборот».

searchengines.ru.

Если ресурс резко просел, то либо поисковик поменял критерии, либо на сайте что-то испортили.