Проектирование и разработка программного обеспечения

Джо Линстрот

Разработка программного обеспечения — это не только код и функциональность. Этот процесс также требует подхода, ориентированного на человека, который опирается на сотрудничество и коммуникацию. Когда Джосленн Пенья, доцент кафедры математики, статистики и компьютерных наук, преподает «Проектирование и разработку программного обеспечения», она уделяет большое внимание тому, чтобы студенты понимали, что эмпатия и инклюзивность так же важны для разработки следующего великого программного обеспечения, как знание Python и JavaScript.

Вы описываете создание программного обеспечения как искусство и ремесло. Что вы имеете в виду?

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

В ходе курса вы делите студентов на команды, каждая из которых предлагает идею для программного проекта, а затем реализует ее. Чем эти долгосрочные проекты отличаются от более простых домашних заданий?

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

ЧИТАТЬ  Жилой дом Дарья / Hooba Design

Что, по вашему мнению, делает новый программный продукт успешным?

Это зависит от проблемы, которую вы пытаетесь решить, и от того, кто является аудиторией. Я также думаю, что это зависит от процесса, например, от того, что произошло между A и B, от концептуализации идеи до того, когда она фактически завершена и выпущена. Были ли тщательные размышления и рассмотрение на протяжении всего жизненного цикла разработки программного обеспечения? Вы активно общались с партнерами сообщества и заинтересованными сторонами и не предполагали потребности пользователя? Это важно.

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

Какие аспекты разработки нового программного обеспечения вызывают у студентов наибольшие трудности?

Большая часть занятий посвящена командной динамике, разрешению конфликтов и общению. Часто основным предметом изучения на этом занятии являются не технологии или программное обеспечение, и даже не их создание и программирование, а человеческий аспект. Вы не можете создать хорошее программное обеспечение, не поговорив с другими людьми. Мы объединяем их в команды, потому что это то, с чем они столкнутся в реальном мире, а управление конфликтами в команде и достижение консенсуса — одни из самых сложных моментов. Что значит провести продуктивное совещание и двигаться вперед по задачам? Я думаю, что студенты часто испытывают трудности с общением и достижением консенсуса относительно идеи проекта и наилучшего подхода.

ЧИТАТЬ  На что обратить внимание при выборе квартиры

Ваша работа в качестве исследователя в области компьютерных наук сосредоточена на понимании того, как решать проблемы проектирования и вычислений через призму пользователя. Есть ли пример, который приходит на ум из вашей карьеры, который кристаллизует эту важность для вас?

Пример, которым я люблю делиться, заключается в том, что в моей фамилии, Пенья, есть тильда над «n». Это специальный символ, и многие компьютерные системы и приложения не распознают мою фамилию с этой тильдой. На самом деле это будет означать ошибку или то, что она не распознана. В одном из моих дипломов ее не было, и мне пришлось связаться с регистратором, чтобы сообщить им, что это часть моей фамилии. Я использую эту связь, чтобы сказать студентам, что это то, что иногда происходит, когда вы что-то создаете и у вас нет предусмотрительности, чтобы подумать, что у других людей есть фамилии с тильдами или другими специальными символами. Что-то такое незначительное, как это, не кажется большой проблемой, но для некоторых людей это так, когда кажется, что вы стираете их личность. Это то, что происходит, когда вы создаете программное обеспечение, не общаясь с людьми, не сотрудничая и не убеждаясь, что вы намеренно стремитесь к инклюзивности.

Джо Линстрот — директор по связям со СМИ в Macalester.

Source

Оцените статью
( Пока оценок нет )
Строительство. Ремонт. Садоводство