Все разделы сайта DANILIDI.RU
Почему компьютерные программы глючат
Глючний софт
Почему много таких отстойных программ ?!Часто приходится слышать о глючности и "кривобовости" компьютерных программ причём, ладно, когда упрёки эти слышишь от чайника или ламера, но когда тебя спрашивает об этом юзер (уже ведь не первый год человек общается с компьютером!) и требует ответа-совета...
Нет, конечно, бывают и глючные компьютерные программы, но написаны они, как правило, студентами или любителями самоучками.
Но если начинают жаловаться на глючность Фотошопа, Дримвивера или самой (!!!) ОС Windows :-)))) ... Что можно ответить на это? О глючности той или иной программы ...
Разве, что, посоветовать изучить эти инструкции:
Существует и такое объяснение ......
(прошу прощение, если обижу чувства верующих людей)
Иудаизм
К чему спрашивать, почему глючат программы? Hадо ждать патча!Католицизм
Первая программа была безглючной. Hо захотела идти на компьютере Apple
и заглючила. Все программы являются версиями первой и сохраняют глюки в целях совместимости.Православие
Hельзя спрашивать, почему глючат программы. И пользоваться патчами тоже нельзя, Особенно западными. Hадо заботиться не о том, чтобы программа работала, а о том, что с ней будет после деинсталляции.Протестантизм
Программист так любит программы, что позволяет им глючить, падать и вешаться. И вообще, надо больше работать с глючными программами. Глюков это не исправит, зато заработаете больше денег.Свидетели Иеговы
Только у нас есть настоящий патч, исправляющий любые глюки! И мы
готовы предложить его всем практически бесплатно. Hо он не будет работать, если вы не уверуете, что он действительно исправляет глюки. Если вы поставили патч, а глюки не исчезли, значит вы не уверовали.Мормоны
Программы глючат потому, что их запускают на неправильных компьютерах. Правильные компьютеры есть только у нас. Еще немного, и мы узнаем, как
их включить.Ислам (сунниты)
Если программа глючит, значит, она неверная. Hеверные программы надо стереть. Безглючны только верные программы. Если верная программа выдает, что 2х2=5, значит, глючат все программы, дающие другие результаты.Ислам (шииты)
Только один программист писал верные программы. Верными являются также последующие версии этих программ. Все остальные программы глючат по определению.Индуизм
Программы глючат потому, что в них были глюки до инсталляции, когда они были другими программами и на других компьютерах. После деинсталляции они снова станут другими программами и будут глючить из-за глюков, которые в них есть сейчас. Патчи тут не помогут, потому что все предопределено.Буддизм
Программы глючат потому, что вы задаетесь этим вопросом. Hе следует стремиться избавляться от них. Патчи лишь умножают глюки. Hет никакой разницы между хардом и софтом, программой и программистом. Программа, избавленная от глюков, впадает в нирвану. Программы в нирване не глючат, но и не работают.Дзен-буддизм
Глючит ли программа, распечатывающая сама себя? Как выглядит
программа, не записанная ни на одном носителе? Однажды ученик спросил учителя, как избавиться от глюков в программах, и учитель дал ему вирус CIH. Однажды другой ученик сказал учителю, что хочет программу без глюков. "Дурак! - крикнул учитель, - почему ты не просишь глюк без программы?", - и ударил его винчестером по голове. Если вы еще не обрели просветление, с вами не о чем говорить.Даосизм
Глюк, который можно отловить, не есть истинный глюк. Патч, который можно написать, не есть истинный патч.Конфуцианство
Программы глючат из-за неверного понимания порядка вещей. Попытки исправить их с помощью патчей, как делают западные варвары, противны этикету и должны быть упразднены. Совершенно мудрый постигнет истинный смысл и необходимость глюков.Сатанизм
Каждая программа имеет право глючить! Постыдность глюков -
христианская пропаганда!Растафарианство
О, и программы тоже? А где они траву берут?Экуменизм
А давайте глюки всех программ объединим в одну!Атеизм
Вера в так называемый патч - средство оболванивания пользователей. Глючность программ - объективный закон природы, и с этим ничего не поделаешь.Социализм
Программы глючат из-за неравенства. У них разная длина, разное
расширение и разные запросы к памяти. Патчи не помогут бороться с глюками, ибо не устраняют причину. Следует сделать все программы одинаковыми, уничтожить все операционные системы, кроме одной, отобрать у всех пользователей персоналки и сделать вместо
них один большой компьютер.Большевизм
Программы глючат из-за вредительства! Hадо расстрелять программистов. А заодно, на всякий случай, производителей компьютеров. Да и вообще, зачем нам какие-то программы? У нас уже есть Программа партии!Hацизм
Кстати, и воды в кране нет по той же причине.Hицшеанство
Программы глючат потому, что они - всего лишь программы и достойны презрения. Только сверхпрограмма будет безглючной.Критики ницшеанства
У сверхпрограммы будут сверхглюки, ха-ха!Фрейдизм
Hа самом деле все графические оболочки предназначены для просмотра порнокартинок. А все текстовые редакторы для печатанья порнотекстов. А все языки программирования - для написания оболочек и редакторов, используемых для просмотра порнокартинок и порнотекстов. Если их использовать для других целей, глюки неизбежны.Юнгианство
Программы глючат потому, что в коллективном бессознательном существует архетип глюка, которому противостоит архетип патча. Таким образом, ошибаются те, кто думает, будто патчами они смогут победить глюки; на самом деле, работая на архетип патча, они тем самым укрепляют и архетип глюка.Экзистенционализм
Hа самом деле вас не интересует, почему глючат программы. Если вы спрашиваете об этом, значит, у вас уже есть патч.Феминизм
Программы глючат из-за дискриминации по расширению! И вообще, миф о глючности программ придумали шовинистические свиньи из служб техподдержки, которые боятся потерять работу!Сексуальные меньшинства
Hазывать это глюками - оскорбительный предрассудок! Это не глюки, а особенности! Которыми можно гордиться! Они, между прочим, есть даже у таких знаменитых программ, как Microsoft Windows, Netscape Navigator и Borland Delphi!Пролайферы (движение противников абортов)
Глючные программы тоже имеют право на инсталляцию!GreenPeace
Программы глючат из-за загрязнения окружающей среды! 500 лет назад, когда промышленность не отравляла Землю, о глюках программ никто и не слышал! Что, скажете не так?
А если серьёзно, то так и вспоминаются слова Скотта Беркуна:
"Никто не пишет плохие программы нарочно. Ни один программист ни разу не садился за работу, тратя на неё все выходные, чтобы доставить людям побольше страданий и боли.
Плохие программы, как и вообще все плохое, получаются по одной причине — сделать что-либо не так просто. А сделать что-то хорошее — сложно вдвойне.
От себя хочу добавить, что в большинстве случаев (!!!) виноват сам пользователь.
Тем более, что Скотт Беркун не представляет размеров пиратства в России, а то добавил бы и такой абзац в свою статью "Почему большинство программ такие отстойные."
Статья очень интересная и правильная (ниже приведу её полностью), и всё же в ней не хватает некоторых поправок - почему могут глючить компьютерные программы, а именно:
1. Может Вы пользуетесь "взломанной" версией програмного пакета, а неумелый хакерский патч для обхода от законной платы за данную компютерную программу совсем не добавляет ей устойвости! Неизвестно ведь кто и как его писал.
2.Насильно поставили руссификатор от неивестного студента - недоучки или программиста - любителя ..... тогда тоже жди глюков, а как же иначе?!
3. Программа из категории бесплатных ........ к этим вообще, какие могут быть претензии??!!
4. У Вас в компьютере живут и "гадят" вирусы.
5. Характеристики видеокарты, процессора или оперативной памятине соответствуют требованиям, то есть ниже, чем того требует данная программа!
Можно ещё добавлять и добавлять, так что прежде чем задавать не умные вопросы о глючности программ (причем известных брендов!) прочитайте хотя бы эти первые пять пунктов.
Ну а теперь обещанная статья Скотта Беркуна:
Почему большинство программ
такие отстойные ...
Никто не пишет плохие программы нарочно. Ни один программист ни разу не садился за работу, тратя на неё все выходные, чтобы доставить людям побольше страданий и боли.
Плохие компьютерные программы, как и вообще все плохое, получаются по одной причине сделать что-либо не так просто. А сделать что-то хорошее сложно вдвойне.
Эти сложности возникают по трем причинам:
- Нужно владеть разнообразными навыками, чтобы
не производить отстой. - Нужно понимать, для кого вы делаете то, что делаете.
- Нужно уметь управлять взаимодействием навыков
и амбиций в команде на всем протяжении процесса
создания продукта.
Каждая из этих задач трудновыполнима сама по себе. А необходимость их сочетания создает такую высокую гору проблем на пути к качеству, что немногим удается даже увидеть её вершину, не говоря уже о том, чтобы преодолеть её.
Что значит сказать «Отстой!»
Когда человек говорит «это отстой», он делает сразу несколько вещей: выражает разочарование, испытывает шок, маскирует при помощи критики ощущение собственной беспомощности в этом жестоком мире и, самое главное, сообщает о несоответствии своих ожиданий действительности.
Как правило, люди не жалуются по поводу того, что их не волнует. Как один из вариантов, отношение людей к вещам, которыми они пользуются, можно представить в виде такого спектра:
-
Зачем нужна эта штука?
-
Эта вещь у меня есть, но я ей никогда не пользовался
-
Эта вещь меня раздражает, но мне нечасто приходится ей пользоваться
-
Это отстой
-
Эта нормальная вещь
-
Эта вещь супер / я ее обожаю
-
Эта вещь так хорошо работает, что я совершенно о ней не задумываюсь
Вот один из взглядов на то, как люди реагируют на вещи (есть и другие взгляды). Главное, что нас интересует в этой модели — то, что вариант «Это — отстой» находится ровно посередине.
Люди могут назвать сделанную вами вещь «отстоем», только если она им достаточно небезразлична, чтобы они потратили на нее время и поняли, насколько она их не устраивает. Другие вещи, такие же плохие, но менее важные, не вызовут аналогичных эмоций.
А больше всего нас разочаровывают вещи, которые ближе других подбираются к нашим самым насущным потребностям, но так их и не удовлетворяют. А хуже всего бывает, когда вроде бы кажется, что вот она, отличная вещь, которую мы так долго искали, но потом по какой-то причине это впечатление с треском проваливается.
Далее из спектра реакций видно, что чем лучше сделана вещь, тем более теплую реакцию она вызывает. Однако, как ни удивительно, самый лучший вариант конструкции многих вещей, особенно служащих для выполнения различных действий, — это тот, который не предполагает изменений в поведении пользователей.
Эти вещи настолько хороши, что позволяют избежать ненужной активности: они просто делают то, что должны, и не требуют к себе лишнего внимания (вспомните про более качественные аккумуляторы, более вкусную еду, системы прямого впрыска топлива, модернизированные версии веб-серверов).
Как правило, большей части людей безразлично, как именно работает сделанная вами вещь: их интересует только результат ее работы. Если они смогут воспользоваться преимуществами этой вещи, не прилагая лишних усилий, они будут счастливы.
Таким образом, можно предположить, что первопричиной «отстойности» программы является ее создатель (то есть программист), пытающийся поделиться с пользователями своим внутренним миром и собственным пониманием порядка вещей. Возможно, он делает это во имя любви: «Если для меня это круто, им тоже понравится».
Но в действительности существует жесткое несоответствие потребностей. Разработчик хочет, чтобы потребитель/пользователь интересовались тем, что на самом деле им совсем безразлично.
Например:
Разработчик: Я обожаю мощь Unix/AJAX/C#/чего угодно.
Заказчик: Я хочу закончить свою работу и пойти развлекаться.
Иногда эта любовь настолько сильна, что реплики «это — отстой» или «я не могу это понять» разработчики воспринимают скорее как нападки на собственные идеалы, нежели как комментарии по поводу деталей проектирования.
Относясь к своей работе чувствительно, они могут попросту вступить в конфликт с людьми, для которых они работают, тем самым раскручивая спираль негодования и затаенной агрессии между авторами и потребителями.
Результат этого очевиден: программа становится отстоем.
Таблица перевода выражения «это отстой»
Если подумать, говоря это отстой, люди скорее подразумевают следующее:
-
Это не работает так, как мне надо
-
Я не понимаю, как мне добиться нужного результата
-
Эта штука слишком сложная
-
Она все время ломается
-
Меня от нее тошнит, пойду поищу что-нибудь более симпатичное
-
Она не соответствует моему мировосприятию
-
Вместо работы, я думаю об инструменте
Все это свидетельствует о частом отсутствии соответствующих навыков. Чтобы создать что-то высококачественное и не вызвать подобных чувств у людей, вам понадобится набор талантов, которым обладает далеко не каждый.
Приведенный выше список указывает на четкую необходимость следующих навыков: проектирование взаимодействия, разработка, обеспечение качества, стратегическое планирование продукта, визуальное проектирование и управление проектом.
Некоторые личности обладают всеми этими навыками, и да пребудет с ними сила. Но большинству из нас необходимо прочесть пару книг, осознать и преодолеть собственную слабость, либо прибегнуть к помощи других людей, чтобы создать что-то, что не будет отстоем.
Если мы трансформируем мнения, высказанные выше,
то получим обычную реакцию людей на хорошие программы.
-
Это работает так, как мне надо
-
Я понимаю, как мне добиться нужного результата
-
Эта штука спокойная, цельная и забавная
-
Она не ломается
-
Она великолепна
-
Она соответствует моему мировосприятию
-
Я думаю о результате, а не о средствах его достижения
Подобная реакция никогда не бывает случайной. И гениальная одаренность также не есть ее причина. Все это может быть (а может и не быть) вызвано гармоничным сочетанием различных навыков.
Это можно назвать направленностью, превосходством, управлением или еще как-нибудь. Это может быть прерогативой одного человека, либо результатом коллективной деятельности. Но в любом случае это определяется нашим первым законом:
Закон № 1: Если не использовать нужные навыки
в нужное время, у вас получится отстой.
Вся загвоздка в том, что этот закон работает независимо от того, насколько вы хороши в том или ином деле.
На определенном этапе, дабы не создавать плохие программы, вам понадобиться научиться чему-то новому, нежели совершенствовать уже существующие навыки.
Миф о кривой обучения
Некоторые пункты упомянутой ранее таблицы перевода зачастую спрятаны за так называемыми кривыми обучения. Разработчик может сказать так:
«Нет-нет, это — не отстой. Вам просто нужно привыкнуть» даже если речь идет о веб-сайте с бегущей строкой желтого мигающего неонового текста, или лэптопе с картонной клавиатурой.
Воистину человек может стерпеть массу дурацких и раздражающих вещей: «То, что ваш веб-сайт заставляет мой мозг подстраиваться под вашу некомпетентность, еще не означает, что вы разработали что-то стоящее.
Я допускаю, что создание нового требует определенных изменений, но их негативное влияние на пользователя должно быть проблемой разработчиков, которые обязаны избавить меня от ненужной работы».
Лучшие разработки не требуют кривых обучения — это главенствующий принцип. Вещь должна быть настолько хорошей, чтобы улучшать нашу жизнь без каких-либо усилий с нашей стороны (прежде, чем вступать в полемику, включите воображение, и вы найдете массу ненавязчивых способов совершенствования вещей).
В трех из пяти случаев упоминание о кривой обучения на самом деле говорит о плохом дизайне.
Определение хорошей кривой обучения состоит из двух частей:
-
Дизайн имеет меньшую ценность, чем затраты, связанные с изучением продукта. Если мы потратим 10 часов времени на обучение и в результате получим 20-процентный рост производительности, который компенсирует нам не только это время, то это хорошая сделка.
-
Дизайн соответствует ожиданиям потребителя/пользователя от кривой обучения. Мы можем в течение 2-х недель находиться в процессе обучения, чтобы выучить новый язык (поверим пункту 1), однако всеми силами попытаемся избежать траты того же времени, чтобы получить $50 из ближайшего банкомата.
-
Сознательно или нет, разработчики решают, как долго пользователи могут проходить кривую обучения. Поскольку большую часть времени люди пользуются веб-сайтами, программами и прочими вещами, созданными другими людьми, стоит согласиться с их нежеланием тратить много сил на понимание того, как пользоваться конкретно вашей разработкой. Скорее вам придется ориентироваться на те знания, которые ими уже оплачены.
Завышенные ожидания
Ожидания коварны. Жалуясь на весь мир, мы просто говорим о несоответствии окружающей реальности нашим ожиданиям. Если кто-то говорит этоотстой, он имеет ввиду это не соответствует моим ожиданиям.
Поскольку каждый человек уникален (некоторые более уникальны, чем остальные), хорошие разработчики тратят силы на понимание человеческих ожиданий, и стараются им соответствовать или их превзойти.
Это умозрительный процесс, есть соответствующие методы, но речь сейчас не об этом. Человеческие ожидания постоянно меняются, и чем больше группа людей, для которых вы разрабатываете, тем вероятнее некоторые их ожидания будут противоречить друг-другу. Из чего вытекает наш следующий закон:
Закон № 2: Неважно, что вы делаете, кто-то где-то решит,
что ваша программа – отстой.
Это не является оправданием для плохой программы. Это лишь напоминание о том, что каждая частица программного обеспечения в истории вселенной (включая продукты Apple) где-то имеет своего противника.
Как правило, чем больше группа людей, для которых вы работаете, тем шире матрица ожиданий, с которой вам как дизайнеру/разработчику приходится иметь дело.
Вот поэтому многие лидеры рынков (музыки, продуктов питания, одежды) исповедуют безопасную, традиционную политику в отношение того, как выглядит и функционирует их продукция – они пытаются найти золотую середину в матрице ожиданий тысяч (или миллионов) человек.
Создатели накладывают свои ожидания на ожидания других людей. Они представляют себе их мировосприятие и пытаются спрогнозировать их реакцию на те решения, которыми создатели хотят удовлетворить потребности пользователей (есть определенные методы тестирования/оптимизации этих прогнозов, но речь, опять же, не об этом).
Если разработчик эгоцентричен, либо работает исключительно для удовлетворения собственных высокохудожественных потребностей, он может счесть все ожидания этого мира неуместными (например «я пишу код/проектирую/рисую исключительно для себя!»). Но если он пытается помочь окружающим или создает что-то для других, он просто обязан тщательно изучить их ожидания.
Поскольку вы не являетесь художниками, чем больше времени вы потратите на определение группы (групп) людей, для которых вы работаете, тем легче вам будет разработать хорошее программы. Вам с самого начала будет понятно, чьи пожелания не стоит учитывать.
Знать, для кого вы не работаете, столь же полезно в разработке продукта, как и знать, для кого вы работаете. Даже если вы думаете, что проектируете для всех, существуют более важные группы пользователей, и перед началом работы вам стоит их определить.
(Кстати: Мы можем влиять на ожидания от чего-то до того, как этим начали пользоваться. Реклама и брэндинг - два способа формирования ожиданий, возможно нереальных, до того, как люди непосредственно столкнутся с разработкой. Здесь кроется опасность: реклама может принести больше удовольствия, чем использование рекламируемого продукта.
Как получаются плохие вещи
В качестве упражнения, я расскажу, как делать плохие вещи. Представьте себе, однажды вас попросили создать что-то настолько плохое, от чего люди плакали бы дни напролет (хотя бы раз, здорово, не правда ли?). Что бы вы сделали? Вот ответ:
-
Общая некомпетентность: Я бы нанял самых плохих сотрудников, платил им мало, предоставил им ужасное оборудование и плохие условия труда, при этом постоянно на них кричал.
-
Неясная цель: Я бы никогда не уточнял задачи, не совершенствовал несуществующие бизнес-план и план производства, а также хаотично менял бы точку зрения на важные вещи несколько раз в день. Раз в неделю, утром, я бы вел себя достаточно благоразумно, дабы завоевать доверие людей, чтобы разрушить его вечером.
-
Стихийное проектирование: Я бы выждал до последнего, прежде чем обдумать реакцию моего потребителя, тем самым обрекая создаваемый мною продукт на минимум ресурсов, максимум неудобства и малую вероятность качественного функционирования.
-
Плохое исполнение: Я бы требовал от сотрудников создавать продукты, которые бы часто и неожиданно выходили из строя, угрожая всеобщей безопасности.
-
Унижение заказчиков: Нашим единственным командным лозунгом стал бы «Они должны страдать еще и еще». Мы бы отточили все виды нашего оружия за просмотром сцены из Испанской Инквизиции Монти Пайтона , чтобы принести максимум страданий каждому нашему заказчику.
Шутки в сторону, у всех проектов есть проблемы. Все команды, лидеры, программисты несовершенны. Никто из нас не является всемогущим (вопреки нашим амбициям), мы не застрахованы от ошибок и упущений. Даже если у вас есть хорошие сотрудники, существенные ресурсы и внятный план, ежедневно управлять всем этим довольно сложно.
Всегда существуют обстоятельства вне вашего контроля, как то политика власть имущих, недопонимания, неизбежные сложности, огорчительные откаты назад, хитрые конкуренты и бюрократические препоны.
Добродетель хрупка, и даже если вы со всем справляетесь, мелкие упущения могут все испортить. Создавать хорошие вещи гораздо сложнее, нежели просто обладать хорошими идеями или навыками.
Но есть более серьезная проблема. Еще до начала работы у каждого имеется основное, причем собственное, понятие о важности работы. Для четкого понимания провальности программы, нам следует принять во внимание два различных подхода к тому, как создается продукт.
Строительство против Проектирования
Хорошие архитекторы (люди, возводящие красивые здания) знают разницу между строительством и проектированием. Процесс проектирования исследует различные взгляды на работу, бизнес, инжиниринг, эстетику, клиентов, окружение и объединяет их план либо проект плана.
Проектирование начинается с крупных штрихов – эскизов и прообразов для обсуждения с заказчиком, которые дают ответы на весьма важные рабочие вопросы: Для чего это? Для кого это? Как это работает?
Как нам оценить результативность всего этого? Строительство – это процесс создания вещей с помощью технологий. Продукты изготавливаются, располагаются в определенном порядке с учетом надежности, производительности, сохранности и безопасности.
Малые единицы объединяются в более крупные составляющие. Человек с проектным мышлением начнет с определенного знакомого образа, и после того, как этот образ примет некую форму, технологии помогут воплотить его в жизнь.
Человек со строительным мышлением начнет с использования технологий для того, чтобы далее определить желаемый образ.
Компьютерная программа, которая состоит из битов, превосходящих атомы в гибкости, сочетает в себе понятия проектирования и строительства, наделяя разработчика огромным производственным потенциалом.
Однако есть риск, что этот потенциал приведет к доминированию прямоты строительного процесса («Я создаю что-то!») над самообладанием и мудростью, необходимыми для разработки хорошего продукта («Я тщательно обдумываю, как и кем это будет использовано, прежде чем приступить к созиданию»).
Ни что не предотвратит постоянного лавирования программиста между проектированием и строительством. Но также в большинстве случаев ни что не заставит его этим заниматься. Без проектирования процесс строительства может идти в любом направлении, повинуясь лишь воле разработчика.
Результатом всегда будет несоответствие - тяжелое неэстетичное ПО, напоминающее холодный военный бункер, в то время как заказчику нужен был уютный загородный домик для теплых воскресных встреч.
Прекрасный код, компьютерные науки и прочие увлечения
Яркой иллюстрацией философского различия между любовью к строительству и любовью к хорошим вещам может послужить уверенность в том, что код должен быть прекрасен.
Лично я - фанат прекрасных вещей, и в мире их становится все больше, в том числе и строчек великолепного кода. Но загвоздка в том, что код представляет собой артефакт строительной программы. Когда он хорошо написан (великолепно или сносно), он компилируется.
А люди видят только результат. И именно скомпилированный код изменяет этот мир. Красота кода значима лишь для тех, кто с ним работает. Увлечение эстетикой кода, а не эстетикой самого продукта, сродни увлечению композитора красотой нотного стана, нежели качеством музыки в живом исполнении оркестра.
Таким образом, для многих любовь к строительству (к самому процессу) доминирует над удовольствием от того, как это строительство влияет на жизнь окружающих. Оба чувства хороши, но межу ними есть существенное различие, особенно в контексте создания хороших вещей.
Необходим баланс между двумя увлечениями, в этом случае и разработчик и заказчик будут счастливы. Компьютерные науки преподаются с точки зрения строительства.
Даже теория и философия этих наук направлены на строительство, но они не ориентированы на высокий дизайн или на то, как разрабатывать хорошие в описанном мною смысле программы.
Аспекты дизайна затрагиваются, но на внутреннем уровне объектных моделей, структуры данных и сетей, в то время как непосредственное общение людей с технологиями (так называемое взаимодействие человека и машины, дизайн пользовательского интерфейса) остается без внимания.
Ситуация с этим улучшается, по крайней мере в некоторых школах существует соответствующий факультативный курс, однако это лишь ложка меда в бочке отстоя. Диплом в области компьютерных наук не гарантирует, что программы, созданные вами, не будут отстоем.
На самом деле вероятность отстоя даже увеличивается, поскольку вы приобретаете массу мощных созидательных навыков при минимуме понимания того, какое множество факторов влияет на создание чего-то хорошего.
Диплом узкого профиля резко сужает ваше представление о том, чего вы еще не знаете.
Как получаются хорошие вещи
Во время творческого процесса вы упражняетесь в деле вселенских масштабов – создании чего-то нового, доселе не виданного. Делать что-то для других – дар. Немногие на земле обладают привилегией зарабатывать на создании вещей.
Если вы их создаете для себя - вы и разработчик, и заказчик. Но если вы творите для других, вы не получаете дар, вы сами дарите. Большинство людей не умеют дарить подарки, даже себе, поскольку мы не всегда знаем, как сделать счастливыми себя, не то, что других.
У каждого из нас за всю жизнь наверняка скопилась куча ненужных подарков от людей, которые были безразличны, невнимательны, лицемерны, скупы, вульгарны, не имели ни вкуса, ни талантов, либо просто не знали нас достаточно хорошо, чтобы подарить нам что-то приятное.
Плохие компьютерные программы – это плохой подарок. Все причины плохих подарков в равной степени относятся к плохим программам. Все хорошее в этом мире создается людьми со щедрым складом ума.
Они всегда думают о тех, для кого творят. Они искренне стараются сделать что-то, что удовлетворит потребности других. Они стремятся потратить время и силы на совершенствование своих мыслей и навыков с тем, чтобы в конечном итоге создать и подарить этому миру что-то хорошее.
Они рассматривают свою работу как высшую степень благородства, олицетворяющую их собственные идеалы качества и искусства. Хорошие программисты, дизайнеры, архитекторы и просто творцы в любой области - прежде всего, люди думающие.
Они настолько одержимы созиданием, что готовы изучить любую дисциплину, прочесть любую книгу, выслушать любого человека и развить любой навык, чтобы совершенствовать свое умение создавать стоящие вещи.
Для них не существует четких границ науки, зоны ответственности, собственной должности, когда речь идет об идее, способствующей им в создании чего-то хорошего.
Что с этим всем делать
Программисты и специалисты в области дизайна и юзабилити, тестеры и бизнесмены сразу же посетуют на недостаток возможностей и необходимость большей вовлеченности. Иногда это так, иногда – нет.
Закон № 1 говорит о нужных навыках в нужное время, но никак не об одном навыке навсегда. Иметь под рукой специалистов по дизайну (юзабилити важно!) чему угодно полезно, но если не прислушиваться ни к их мнению, ни к мнению кого-либо вообще, у вас наверняка выйдет плохая программа.
Вместо этого, как обычно, вся тяжесть ложится на плечи руководителей. И каждый, кому не хватает возможностей и власти, должен задуматься скорее о широкой роли руководителя, нежели о должности эксперта узкого профиля.
Лидеры и управляющие сами решают, какие навыки важны, и когда и как их использовать. Программисты, работающие автономно, сами себе руководители. В командах и организациях может существовать несколько лидеров, принимающих коллективные решения о том, что существенно, а что – нет.
В конечном итоге именно они подбирают нужных людей и направляют их энергию в нужное русло. Разумеется, можно еще многое рассказать о создании хороших вещей, но, пожалуй, это все, что я смог вместить на страницах моего эссе, кроме того, что уже было сказано мною ранее.
Взгляд на хорошие вещи
Хорошие вещи легко не заметить. Они не взывают к вашему вниманию и не преследуют вас так, как реклама заурядных продуктов.
Вам следует развивать талант нахождения хорошего, и обращать внимание на тех, кто этим талантом уже обладает. Но мы, будучи потребителями (в особенности американцы), настолько погребены в вещах, созданных для нас кем-то, что отгородились от всего мира стеной высокомерия.
Мы забыли, что за каждой песней, автомобилем, фильмом или веб-сайтом стоит, по меньшей мере, один человек, который трудился для нас месяцами и годами. Если мы сочли что-то плохим, еще не означает, что усилия, потраченные на это, не стоят уважения.
Зачастую даже посредственные продукты имеют собственные истории творчества и успеха, из которых можно почерпнуть массу полезного. Чтобы понять хорошие или даже великие вещи, нам нужно отключить собственные потребительские инстинкты и мыслить созидательно.
Каждый раз, когда я вижу что-то хорошее, или даже что-то плохое, попробовав это, я задаю себе следующие вопросы:
-
Как они это сделали?
-
Как много времени им понадобилось? Какие
технологии они использовали? Как много людей
участвовало в создании? -
Как они разрабатывали это, чтобы добиться нужного результата?
-
Какое обучение они прошли?
-
Какая часть самой разработки видна мне, когда я использую ее?
-
Почему эта штука такая классная? Почему я продолжаю
смотреть на нее, пользоваться ей, спасть с ней, втирать ее в кожу? -
Как эта штука столько сделала для меня без каких-либо
усилий с моей стороны? -
Каков был их замысел? Им понравился результат? Каково их мнение?
-
Как бы я сделал что-то похожее?
-
Каких других создателей я знаю, и как бы они
отреагировали на эту вещь? -
Как весь мир относится к этому? Почему мнение
всего мира об этой вещи отличается от моего?
Понадобится огромный труд, дисциплинированность и опыт, чтобы создать что-то хорошее. Профи в любой области, как правило, работают лучше и больше остальных, они более склонны прислушиваться к новым идеям и мнению окружающих.
Исследуя то, как создаются хорошие вещи, вы наверняка взглянете на собственную работу в более широком свете. У вас появятся новые идеи и новые вопросы о собственных привычках, предубеждениях и отношениях, которые вряд ли до этого приходили вам в голову. Автор - Скотт Беркун.
Поделитесь с друзьями или поставьте закладку на эту страницу,
если планируете зайти на нее позже .....
(Почему компьютерные программы глючат )
Бесплатные программы и другие полезности для компа даром
|
blog comments powered by Disqus