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