{"id":25793,"date":"2024-08-26T21:06:24","date_gmt":"2024-08-26T21:06:24","guid":{"rendered":"https:\/\/www.macalester.edu\/160-news\/?p=25793"},"modified":"2026-03-13T16:58:22","modified_gmt":"2026-03-13T16:58:22","slug":"software-design-and-development","status":"publish","type":"post","link":"https:\/\/www.macalester.edu\/news\/2024\/08\/software-design-and-development\/","title":{"rendered":"Software Design and Development"},"content":{"rendered":"<p><strong>By Joe Linstroth<\/strong><\/p>\n\n\n\n<p>Software development is not just about code and functionality. The process also requires a human-centered approach that relies on collaboration and communication. When Joslenne Pe\u00f1a, assistant professor of mathematics, statistics, and computer science, teaches \u201cSoftware Design and Development,\u201d she takes great care to ensure that students understand that empathy and inclusiveness are just as crucial to developing the next great piece of software as knowing Python and JavaScript.<\/p>\n\n\n\n<p><strong>You describe creating software as both an art and a craft. What do you mean by that? <\/strong><\/p>\n\n\n\n<p>Generally, people don\u2019t tend to think about creating software as an art and a craft, not just in the finished product but also in the process. In the class, we try to emphasize that the design process\u2014the ideation, the brainstorming\u2014is really important. And in each step, you have a lot of agency and autonomy independently but also in collaboration with other people, like the stakeholders for whom you\u2019re actually building the software.<\/p>\n\n\n\n<p><strong>In the course, you divide students into teams that each come up with an idea for a software project and then implement it. How do these longer-term projects differ from more garden-variety homework assignments?<\/strong><\/p>\n\n\n\n<p>What really sets this course apart is that it is a semester-long project where the instructor is really just a facilitator. The other difference is that we don\u2019t tell students what to do or what project to choose, which is why I think it\u2019s really rewarding at the end when they\u2019re finished. We don\u2019t lecture, and there is no homework besides just reading up on software techniques and tools and having discussions about what makes software collaborative and impactful. Students are not used to having a class where it\u2019s a free-for-all, but it\u2019s a great learning experience because in industry, I\u2019m not going to be there and someone\u2019s going to give you a task and they\u2019re not going to tell you what to do. You have to figure it out and ask questions.<\/p>\n\n\n\n<p><strong>What makes a new software product a success in your view?<\/strong><\/p>\n\n\n\n<p>It depends on the problem you\u2019re trying to solve and on who the audience is. I also think it depends on the process, like what happened between A and B, from the conceptualization of an idea to when it\u2019s actually completed and released. Was there careful thought and consideration throughout the entire software engineering life cycle? Did you actively talk to community partners and stakeholders and not assume the user\u2019s needs? That is a big thing.<\/p>\n\n\n\n<p>The second part I\u2019ll throw in there is consideration for things like reducing and preventing harm. A lot of software that gets put out into the world is harmful to people, whether we\u2019re talking about surveillance apps or apps that include some form of AI that hasn\u2019t been ethically considered in some way. If there\u2019s a level of consideration for social justice and ethical issues, that\u2019s important. Hopefully the products that get released will actually be effective, but also show some humanity too.<\/p>\n\n\n\n<p><strong>What aspects of designing new software tend to challenge students the most?<\/strong><\/p>\n\n\n\n<p>A big part of the class is about team dynamics, conflict resolution, and communication. The big learning piece of this class often isn\u2019t really the technology or the software, or even the building and programming of it, it\u2019s the human aspect. You can\u2019t build good software without talking to other people. We put them into teams because that\u2019s what they\u2019re going to experience in the real world, and navigating team conflicts and getting consensus are some of the most challenging parts. What does it mean to have a productive meeting and to move forward on tasks? I think students often struggle with communication and coming to a consensus about a project idea and the best approach.<\/p>\n\n\n\n<p><strong>Your work as a computer science researcher focuses on understanding how to solve design and computing problems through the lens of the user. Is there an example that comes to mind from your career that crystallizes this importance for you?<\/strong><\/p>\n\n\n\n<p>An example I like to share is that my last name, Pe\u00f1a, has a tilde over the \u201cn.\u201d It\u2019s a special character, and many computer systems and apps do not recognize my last name with that tilde. It will actually say there\u2019s an error or that it\u2019s unrecognized. One of my diplomas didn\u2019t have it, and I had to contact the registrar to let them know that it\u2019s a part of my last name. I make that connection to tell students that this is what happens sometimes when you are building something and you don\u2019t have the foresight to think that other people have last names with tildes or other special characters. Something as small as that doesn\u2019t seem like a big deal, but it is to certain people when it feels like you\u2019re erasing their identity. This is what happens when you build software without talking to people and collaborating and making sure you are intentional about inclusivity.<\/p>\n\n\n\n<p><em>Joe Linstroth is director of media relations at Macalester.<\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>Professor Joslenne Pe\u00f1a believes that developing empathy and inclusiveness is just as crucial as learning code.<\/p>","protected":false},"author":881,"featured_media":25839,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3,45],"tags":[52],"class_list":["post-25793","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-academics","category-alumni","tag-mathematics-statistics-and-computer-science","mediatype-articles"],"acf":[],"aioseo_notices":[],"fields":{"article_type":[8],"flickr_photoset_id":"","youtube_id":"","square_thumbnail":false,"press_photos":false,"story_title":"","story_caption":"","rotations":false,"maps":false,"marker_title":"","marker_text":"","geographic_location":false,"feature_embed":"","custom_link_url":"","news_icon_name":"","image_options":false,"main_feature_story":"","custom_image":false,"custom_feature_title":"","custom_feature_caption":"","custom_markup":"","custom_markup_link":"","custom_markup_title":"","custom_markup_caption":"","byline":"","post_thumbnail_style":"default","press_downloads":false},"_links":{"self":[{"href":"https:\/\/www.macalester.edu\/news\/wp-json\/wp\/v2\/posts\/25793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.macalester.edu\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.macalester.edu\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.macalester.edu\/news\/wp-json\/wp\/v2\/users\/881"}],"replies":[{"embeddable":true,"href":"https:\/\/www.macalester.edu\/news\/wp-json\/wp\/v2\/comments?post=25793"}],"version-history":[{"count":3,"href":"https:\/\/www.macalester.edu\/news\/wp-json\/wp\/v2\/posts\/25793\/revisions"}],"predecessor-version":[{"id":29593,"href":"https:\/\/www.macalester.edu\/news\/wp-json\/wp\/v2\/posts\/25793\/revisions\/29593"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.macalester.edu\/news\/wp-json\/wp\/v2\/media\/25839"}],"wp:attachment":[{"href":"https:\/\/www.macalester.edu\/news\/wp-json\/wp\/v2\/media?parent=25793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.macalester.edu\/news\/wp-json\/wp\/v2\/categories?post=25793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.macalester.edu\/news\/wp-json\/wp\/v2\/tags?post=25793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}