Full Stack Development: Building Modern Mobile and Web Applications; Understanding Design Decision Motivations in Software Development

Author:
Paine, Stuart, School of Engineering and Applied Science, University of Virginia
Advisors:
Forelle, MC, EN-Engineering and Society, University of Virginia
Morrison, Briana, EN-Comp Science, University of Virginia
Vrugtman, Rosanne, EN-Comp Science, University of Virginia
Abstract:

The themes of my technical project and STS research are very closely intertwined within the general realm of software engineering in similar scopes under the greater umbrella of the overarching software development process. My technical project encompasses working on a development team to help create a cross-platform mobile application to aid in facilitating an industry event summit. As merely a cog in the machine of many developers across teams focused on different aspects of the software, I implemented backend functionalities as desired by project stakeholders within my line of focus while also offering insight along other avenues. In the same light, my STS research analyzes the motivations behind and the greater importance of developer design decisions within the software development process. In the grand scheme of things, my technical project is focused on carrying out the software development process from start to finish in a specific instance, whereas my research takes a step back and focuses on motivations, decisions, and their resulting consequences within the greater development process in a general sense.
The hands-on, physical work done for my technical project was completed through an internship over the course of the previous summer while the academic component of that process involved simply documenting the experience in retrospect as follows. FATHOMWERX, a governmental entity that works to bring together public and private stakeholders for the Department of Defense, needed a software platform to facilitate a meaningful user experience for attendees of an upcoming event summit. This need was addressed through the development of a cross-platform mobile application that served as an event agenda and networking platform for the specific conference itself. Once the problem was communicated and passed off to Naval Information Warfare Center (NIWC) Atlantic, their mobile applications team decided that a mobile app would best suit the needs of the user. FATHOMWERX and the NIWC development team began working closely together to establish and continually evolve requirements and specifications—the event planners articulated what they wanted while the developers returned with evaluations of what was possible and/or realistic. After a few months and many design iterations and adaptations, the mobile application was successfully deployed and utilized by event participants to enhance their attendance experience. The basis of the application could easily be adapted to serve future events, as well as other purposes entirely.
My research paper begins with background information regarding the current and ever-evolving landscape of popular computing systems with a focus on smartphones and their respective operating systems. Smartphones have become ubiquitous on a global scale within modern society and have not only changed the way users are accessing software platforms, but have also in turn changed how software developers must design their software. This leads into my assertion that developer design decisions, including release platforms and beyond, are motivated by a variety of factors under unique circumstances in each instance that inevitably cause inequity in justly serving the needs of all end users and other stakeholders. Different use cases call for different platforms, with Android, iOS, and responsive web applications as the three main platforms each with their own set of features and characteristics. A review of related literature provides further information on various software release platforms and how each may serve some cases better than others. This idea is continued with an analysis of outside secondary sources to further the assertion that design decisions are utterly important through evidence consisting of various categories of common motivational factors at play in the software development process. Analysis of those sources is done with the help of actor network theory (ANT) to help interpret evidence in a context meaningful to the study of STS.
Working on the development of the cross-platform mobile application during my internship, as well as other past experiences working singularly or among other software development teams, provided vital experience(s) and insight into the software development process and lifecycle. Throughout the research process I have felt not as an outsider looking in, but rather as one organically and innately within the scope of study itself. This helped tremendously in understanding the motivations of design decisions and their effects because I was able to vividly imagine and embody them given the experiences of those past circumstances. I also found it easier to synthesize information that those without development experience might not draw connections to as easily and also draw my own conclusions from sources that may not seem as directly relevant. All in all, I believe the technical project and STS research complement each other very naturally.

Degree:
BS (Bachelor of Science)
Keywords:
software, design, decisions, motivations, software development, actor network theory, sts, cross-platform, frontend, backend, development process, development team, agile scrum, end-user, understanding needs, mobile app development, web development, software applications, full stack, mobile devices
Notes:

School of Engineering and Applied Science
Bachelor of Science in Computer Science
Technical Advisor: Briana Morrison
Technical Writing Advisor: Rosanne Vrugtman
STS Advisor: MC Forelle

Language:
English
Issued Date:
2023/05/09