понедельник, 21 апреля 2014 г.

Урок 1. Слайды 17-21

Третьего дня попробовали недавно открывшийся бельгийский бар Brugge. Много сортов занятного пива, вот такие вот классные бокалы:
Немного тесновато. Но в целом - неплохо, рекомендую.
Выходные были короткие, но интересные.


Поехали:

Слайд 17
Если мы не понимаем, для кого создано ПО и какие задачи он с помощью ПО будет выполнять, мы знаем о ПО очень мало полезного.

Слайд 18
Я считаю что самая большая ошибка образования в ИТ заключается в том, что слишком большое значение придается техническим аспектам этой области. Конечно, студенты должны получить массу технических навыков, для того, чтоб создавать качественное ПО.
Но когда студенты игнорируют цели ПО и людей. с ним связанных, мы прививаем им плохую привычку, которая остается с ними на протяжении всех лет работы.

Слайд 19
Я хочу предложить различные определения. Программа это способ общения ее автора с другими людьми. Да, программа написана на упрощенном языке, так как компьютерам это необходимо для ее запуска. Но не в этом смысл программы. Мы не пытаемся сделать компьютер счастливым. Компьютер это просто машина.
Думайте о исправлении программы как о переписке с кем-то еще. Или о изучении программы как к поиску ответа на вопрос как программа может изменять информацию. Или о использовании программы как о способе получить от нее информацию. Все это - способы коммуникации.
Мы фокусируемся на машине, но забываем о человеческом факторе, о коммуникации между людьми. Но мы не можем писать код, мы не должны улучшать код, если мы не хотим передать информацию кому-либо еще.

Слайд 20
Следующее наше определение - качество. В следующем нашем курсе - защита багов - мы рассматриваем несколько определений качества. Сейчас мы сфокусируемся на наиболее полезном.
Качество это ценность для кого-либо. У этого определения есть два важных аспекта.
Первый - ценность. Сказать, что изменение улучшает качество означает сказать, что изменение добавляет стоимость продукту, или если изменение не будет произведено, то продукт будет стоить меньше.
Второй аспект - ценность для кого-либо. Качество субъективно. То, что будет делать продукт более ценным для вас - может сделать его менее ценным для кого-либо еще. Например, программа может быть очень проста для изучения для вас, и если мы сделаем ее такой же, как другая программа, с которой вы уже знакомы. Это добавит ценности для вас, но кто-то другой не знаком с вашими любимыми программами и для него качество нашей программы уменьшится. Мы могли бы сделать опцию, позволяющую людям выбирать пользовательский интерфейс или дизайн, но это очень сложное изменение.Сейчас люди изучают дизайн программ и делают свой выбор. Это может быть добавить ценности для некоторых людей, но, вероятно, сделает программу сложнее и менее ценной для других.

Слайд 21
Это подводит нас к идее бага. Все, что уменьшает качества продукта - баг. Сейчас мы создали интересную проблему. Баг для кого-то еще может быть фичей для вас.
Это может быть более широким определением бага, чем то, к которому мы привыкли. Многие программисты считают, что только ошибки в коде могут быть багами. Но это все равно, что считать, что программа это код исполняемый на компьютере. Это очень узкое восприятие.
На этом курсе и в коммерческом мире мы вынуждены мыслить более широко - о уменьшении или увеличении ценности продукта. А не только о работоспособности кода.

Комментариев нет:

Отправить комментарий