Нет смысла разрабатывать программы, если вы не заботитесь о качестве работы.
Во время работы думать исключительно о работе — только так вы останетесь программистом-прагматиком.
Каждый день необходимо работать, оттачивая свои навыки и добавляя в свой репертуар новые произведения.
Людям легче присоединиться к грядущему успеху. Покажите им свет в конце туннеля, и они сплотятся вокруг вас.
Зачастую именно скопившиеся мелочи приводят к разрушению морали и команд.
Вся тяжелая работа идет насмарку, если вы не знаете, в какой момент нужно остановиться. Если вы добавляете слой за слоем, деталь за деталью, живопись может потеряться в краске.
Принцип DRY = Don’t Repeat Yourself
Каждый фрагмент знания должен иметь единственное, однозначное, надежное представление в системе.
Не полагайтесь на свойства предметов, которыми не можете управлять.
Не существует окончательных решений.
Создание прототипов способствует приобретению опыта. Значение этого опыта заключается не в созданной программме, а в полученных уроках. В этом и состоит смысл создания прототипов.
Инструменты — средство усиления вашего таланта. Чем они лучше и чем лучше вы ими владеете, тем больше вы сможете сделать.
Проблема большинства двоичных форматов состоит в том, что контекст, необходимый для понимания данных, отделен от самих данных.
Работать с компьютерыми системами всегда непросто. Работать с людьми еще сложнее.
Не будьте рабами прошлого. Не позволяйте существующей программе диктовать свою волю той программе, за которой будущее. Если программа устаревает, она может быть полностью заменена.
Слишком раннее начало — это проблеа, но слишком долгое ожидание еще хуже.
Единственным способом завоевать рынок является обеспечение удобства во время перехода на новую ступень за счет уже известных метафор.
Удачные инструменты всегда привыкают к рукам, их держащим.
Требования не являются архитектурой. Требования — это не конструкция, и не пользовательский интерфейс. Это потребность.
Неважно, как вы мыслите — в пределах ящика или за его пределами. Проблема заключается в нахождении ящика — распознавании реальных ограничений.
Все, что вам нужно, — это знание реальных ограничений, вводящих вас в заблуждение, и мудрость, позволяющая отличить одно от другого.
Великим лицедеям присуща одна общая черта: они знают, когда начинать, а когда подождать.
Прислушивайтесь к сомнениям — начинайте тогда, когда полностью готовы
Слишком легко составить спецификацию того, что невозможно построить.
В некоторых методологиях коллективной работы предусмотрен менеджер по качеству — сотрудник, которому команда делегирует ответственность за качество продукта, отправляемого заказчику. Это просто смешно: качества можно достигнуть только в результате индивидуальной лепты, вносимой каждым членом команды. Качество является прерогативой команды.
Лучшие проектные команды обладают ярко выраженной индивидуальностью.
Когда вы начинаете некий проект, придумайте имя для проектной команды, в идеале — нечто из ряда вон выходящее.
Помните, что коллективы состоят из отдельных личностей. Дайте возможность каждому сотруднику проявить себя во всем блеске. Создайте структуру, достаточную для их поддержки и выполнения проекта в соответствии с требованиями. Но затем, не поддавайтесь искушению добавить больше краски на холст.
Информация, вводящая в заблуждение, хуже, чем отсутствие какой-бы то ни было информации вообще.
Удачный проект содержит больше программ тестирования, чем рабочих программ.
Вы не должны ревниво защищать свою программу от тех, кто вторгается в ее пределы; вы должны платить людям той же монетой и относиться к программам других разработчиков с уважением.
Работайте со своими пользователями так, чтобы их понимание того, что вы им поставляете, было точным. Этим необходимо заниматься на протяжении всего процесса разработки.
Успех проекта измеряется тем, насколько он соответствует надеждам своих пользователей.
Ваша подпись должна стать признанным знаком качества. Люди должны видеть ваше имя в заголовке программы и рассчитывать на то, что она будет солидной, хорошо составленной, проверенной и документированной. Эта должна быть поистине профессиональная работа. Написанная настоящим профессионалом. Прагматиком-программистом.
Создать пул автономных групп и позволить им разбалтываться в отсутствие руководства — это кратчайший путь к катастрофе. Проекту необходимы как минимум два руководителя — один технический, другой административный.
Отесывая камни, всегда думай о соборах, которые будут строиться из них.
Кредо средневекового каменотеса
Пусть постоянное критическое отношение к вашей программе войдет у вас в привычку.
Мёртвая программа приносит меньше вреда, чем испорченная.