Уроки из книги "Жемчужины разработки". Краткий перечень
Опубликовано: 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
Требования
- Если вы неверно определили требования, то неважно, насколько хорошо вы выполнили остальную часть работы.
- Основной результат разработки требований - общее видение и понимание.
- Интересы всех сторон нигде не пересекаются так явственно, как в требованиях.
- В требованиях в первую очередь важны особенности использования, а затем функциональность.
- Разработка требований - итеративный процесс.
- Agile-требования не отличаются от других.
- Запись знаний обходится дешевле, чем повторное их обретение.
- Главное требование к разработке - налаженное и эффективное общение.
- Качественность требований каждый определяет по-своему.
- Требования должны быть достаточно хорошими, чтобы разработка могла продолжаться с приемлемым уровнем риска.
- Люди не просто так собирают требования.
- Выявление требований должно помочь разработчикам услышать голос клиента.
- Две распространённые практики выявления требований - телепатия и ясновидение. Но они не работают.
- Большая группа людей не способна организованно покинуть горящую комнату, не говоря уже о том, чтобы сформулировать какое-то требование.
- Когда принимаете решение о добавлении функций, избегайте расстановки по децибелам.
- Не задокументировав и не согласовав содержимое проекта, нельзя узнать, увеличивается ли его объем.
Проектирование
- Проектирование - итеративный процесс.
- Чем выше уровень абстракции, тем проще выполнить итерации.
- Разрабатывайте продукты так, чтоб их легко было использовать правильно и трудно - неправильно.
- Невозможно оптимизировать все желаемые атрибуты качества.
- Проблемы легче предупредить, чем исправить.
- Проблемы многих систем скрываются в интерфейсах.
Управление проектами
- При планировании работ нужно учитывать разногласия.
- Не давайте оценок наугад.
- Айсберги всегда больше, чем кажутся.
- Ваши переговорные позиции будут сильнее при наличии обосновывающих данных.
- Не записывая оценки и не сверяя их с тем, что произошло на самом деле, вы всегда будете строить догадки, а не оценивать.
- Не меняйте оценку в зависимости от того, что хочет услышать получатель.
- Держитесь подальше от критического пути.
- Задание либо полностью выполнено, либо не выполнено: частичное выполнение не засчитывается.
- Команде проекта нужна гибкость в отношении хотя бы одного из пяти измерений: масштаба, плана, бюджета, персонала и качества.
- Если вы не контролируете риски своего проекта, то они будут контролировать вас.
- Клиент не всегда прав.
- Мы слишком часто принимаем желаемое за действительное.
Культура и командная работа
- Передача знаний не ведёт к проигрышу.
- Как бы сильно на вас не давили, не берите на себя обязательства, которые не сможете выполнить.
- Не ждите, что без обучения и освоения передовых практик продуктивность повысится как по волшебству.
- Люди много говорят о своих правах, но права подразумевают ответственность.
- Даже небольшие физические расстояния препятствуют общению и совместной работе.
- Неформальные подходы, используемые небольшими сплочёнными командами, плохо масштабируются.
- Не стоит недооценивать сложность изменения культуры организации по мере перехода к новым методам работы.
- Никакие инженерные или управленческие приёмы не дадут эффекта, если вы имеете дело с неразумными людьми.
Качество
- Решая вопрос о качестве программного обеспечения, вы можете выбирать: платить немало сейчас или попозже, но ещё больше.
- Высокое качество естественным образом ведёт к повышению производительности.
- У организации никогда нет времени, чтобы правильно создать программное обеспечение, но они находят ресурсы, чтобы исправить его позже.
- Остерегайтесь малозаметных разрывов между плохим и хорошим.
- Никогда не поддавайтесь уговорам руководителя или клиента сделать работу наспех.
- Стремитесь к тому, чтобы дефект нашли коллеги, а не покупатели.
- Разработчики программного обеспечения любят инструменты, но дурак с инструментами - это вооружённый дурак.
- Сегодняшний проект, требующий немедленной реализации, завтра может превратиться в кошмар для службы сопровождения.
Совершенствование процессов
- Остерегайтесь "менеджмента по Businessweek".
- Не спрашивайте: "Что даст мне?" Спрашивайте "Что это даст нам?".
- Боль - лучшая мотивация для изменения методов работы.
- Внедряя новые методы работы, делайте это мягко, но непрерывно.
- У вас нет времени, чтобы совершить все ошибки, сделанные до вас.
- Здравый смысл и опыт иногда важнее определённого процесса.
- Адаптируйте готовые шаблоны документов.
- Если не тратить время на учёбу и совершенствование, то не стоит ждать, что следующий проект будет реализован лучше предыдущего.
- Самая удручающая закономерность в индустрии программного обеспечения - повторение одних и тех же неэффективных действий снова и снова.
Универсальный урок
- Невозможно изменить всё сразу.