Заметки IT библиотека

На главную

Уроки из книги "Жемчужины разработки". Краткий перечень

Опубликовано: 03.07.2024  Последнее обновление: 03.07.2024

Книга "Жемчужины разработки. Чему мы научились за 50 лет создания ПО".
ISBN: 978-5-4461-1986-8
Ссылка: https://www.piter.com/collection/all/product/zhemchuzhiny-razrabotki-chemu-my-nauchilis-za-50-let-sozdaniya-po

Требования

  1. Если вы неверно определили требования, то неважно, насколько хорошо вы выполнили остальную часть работы.
  2. Основной результат разработки требований - общее видение и понимание.
  3. Интересы всех сторон нигде не пересекаются так явственно, как в требованиях.
  4. В требованиях в первую очередь важны особенности использования, а затем функциональность.
  5. Разработка требований - итеративный процесс.
  6. Agile-требования не отличаются от других.
  7. Запись знаний обходится дешевле, чем повторное их обретение.
  8. Главное требование к разработке - налаженное и эффективное общение.
  9. Качественность требований каждый определяет по-своему.
  10. Требования должны быть достаточно хорошими, чтобы разработка могла продолжаться с приемлемым уровнем риска.
  11. Люди не просто так собирают требования.
  12. Выявление требований должно помочь разработчикам услышать голос клиента.
  13. Две распространённые практики выявления требований - телепатия и ясновидение. Но они не работают.
  14. Большая группа людей не способна организованно покинуть горящую комнату, не говоря уже о том, чтобы сформулировать какое-то требование.
  15. Когда принимаете решение о добавлении функций, избегайте расстановки по децибелам.
  16. Не задокументировав и не согласовав содержимое проекта, нельзя узнать, увеличивается ли его объем.

Проектирование

  1. Проектирование - итеративный процесс.
  2. Чем выше уровень абстракции, тем проще выполнить итерации.
  3. Разрабатывайте продукты так, чтоб их легко было использовать правильно и трудно - неправильно.
  4. Невозможно оптимизировать все желаемые атрибуты качества.
  5. Проблемы легче предупредить, чем исправить.
  6. Проблемы многих систем скрываются в интерфейсах.

Управление проектами

  1. При планировании работ нужно учитывать разногласия.
  2. Не давайте оценок наугад.
  3. Айсберги всегда больше, чем кажутся.
  4. Ваши переговорные позиции будут сильнее при наличии обосновывающих данных.
  5. Не записывая оценки и не сверяя их с тем, что произошло на самом деле, вы всегда будете строить догадки, а не оценивать.
  6. Не меняйте оценку в зависимости от того, что хочет услышать получатель.
  7. Держитесь подальше от критического пути.
  8. Задание либо полностью выполнено, либо не выполнено: частичное выполнение не засчитывается.
  9. Команде проекта нужна гибкость в отношении хотя бы одного из пяти измерений: масштаба, плана, бюджета, персонала и качества.
  10. Если вы не контролируете риски своего проекта, то они будут контролировать вас.
  11. Клиент не всегда прав.
  12. Мы слишком часто принимаем желаемое за действительное.

Культура и командная работа

  1. Передача знаний не ведёт к проигрышу.
  2. Как бы сильно на вас не давили, не берите на себя обязательства, которые не сможете выполнить.
  3. Не ждите, что без обучения и освоения передовых практик продуктивность повысится как по волшебству.
  4. Люди много говорят о своих правах, но права подразумевают ответственность.
  5. Даже небольшие физические расстояния препятствуют общению и совместной работе.
  6. Неформальные подходы, используемые небольшими сплочёнными командами, плохо масштабируются.
  7. Не стоит недооценивать сложность изменения культуры организации по мере перехода к новым методам работы.
  8. Никакие инженерные или управленческие приёмы не дадут эффекта, если вы имеете дело с неразумными людьми.

Качество

  1. Решая вопрос о качестве программного обеспечения, вы можете выбирать: платить немало сейчас или попозже, но ещё больше.
  2. Высокое качество естественным образом ведёт к повышению производительности.
  3. У организации никогда нет времени, чтобы правильно создать программное обеспечение, но они находят ресурсы, чтобы исправить его позже.
  4. Остерегайтесь малозаметных разрывов между плохим и хорошим.
  5. Никогда не поддавайтесь уговорам руководителя или клиента сделать работу наспех.
  6. Стремитесь к тому, чтобы дефект нашли коллеги, а не покупатели.
  7. Разработчики программного обеспечения любят инструменты, но дурак с инструментами - это вооружённый дурак.
  8. Сегодняшний проект, требующий немедленной реализации, завтра может превратиться в кошмар для службы сопровождения.

Совершенствование процессов

  1. Остерегайтесь "менеджмента по Businessweek".
  2. Не спрашивайте: "Что даст мне?" Спрашивайте "Что это даст нам?".
  3. Боль - лучшая мотивация для изменения методов работы.
  4. Внедряя новые методы работы, делайте это мягко, но непрерывно.
  5. У вас нет времени, чтобы совершить все ошибки, сделанные до вас.
  6. Здравый смысл и опыт иногда важнее определённого процесса.
  7. Адаптируйте готовые шаблоны документов.
  8. Если не тратить время на учёбу и совершенствование, то не стоит ждать, что следующий проект будет реализован лучше предыдущего.
  9. Самая удручающая закономерность в индустрии программного обеспечения - повторение одних и тех же неэффективных действий снова и снова.

Универсальный урок

  1. Невозможно изменить всё сразу.

© 2020 - 2025

Ёжик