Automated Replication of Internal Resource Type Permissions; Exploration of the Role of Co-Design in Agile Development
Lu, Emily, School of Engineering and Applied Science, University of Virginia
Vrugtman, Rosanne, EN-Comp Science Dept, University of Virginia
Ferguson, Sean, EN-Engineering and Society, University of Virginia
As software development has found its way into all corners of practically every industry with massive systems and codebases, tasks need to be efficiently distributed and organized amongst the available human resources for a consistent, streamlined workflow to production. Collaboration and communication consistently fluctuate between developers within and outside their team. Maintaining proper levels and methods of communication has been a common struggle in the software development industry as the scale of software has drastically increased. Agile development is currently the most commonly used development cycle template used in software development, consisting of a requirements, design, development, testing, and release phase. In addition to providing a structure for the life cycle of a product, agile also provides guidelines for basic communication expectations within a production team.
As a part of my technical project, I immersed myself within an agile-oriented team in a professional setting and working through a solo project starting from the requirements phase all the way through the production phase. The product that I worked on called for creating and integrating a new automation service into an existing system that my team had already developed, requiring me to manage my own communications and collaborations with other team members or involved parties to understand the structure of their existing product and meet client expectations. Collaboration and communication were ultimately the most important factor to creating a working and complete product as requirements were bound to change and confusion towards the over-arching system emerged.
My STS thesis explored the effectiveness of co-design in agile development across companies of different sizes and cultures. I researched various agile methodologies and examples of how certain companies have adopted the agile development cycle and conducted a survey to gauge different individuals’ opinions on the effectiveness of their agile structure in their working environment. I found that while there are certain basic correlations between company culture/size and organization of agile teams, there is no “rubric” for what sort of agile organization will work for any kind of team, and the success of a project goes beyond organization and skill alone.
While I did achieve a significant amount of work experience and knowledge through my two projects, I did not achieve the level of completion I had hoped to achieve in my technical project due to numerous roadblocks. However, with the difficulties I encountered in the progress of my technical project, I was able to experience many struggles that are both commonly and not commonly experienced in the life of a software engineer. Although working professionals already consistently stress the idea that asking questions is not something to be ashamed of, it is important to understand that taking initiative to reach out and understand what is not understood is crucial to success.
I would like to thank Professor Ferguson and Professor Vrugtman for their guidance in developing my STS thesis and technical project.
BS (Bachelor of Science)
School of Engineering and Applied Science
Bachelor of Science in Computer Science
Technical Advisor: Rosanne Vrugtman
STS Advisor: Sean Ferguson
All rights reserved (no additional license for public reuse)