CS467 Winter 2024 SWOT Analysis

As we draw closer to the end of the course, it is often important to reflect on the current iteration of the course to see what aspects were strong, identify issues, and suggest improvements in order to increase the success and effectiveness of future iterations of the course. In terms of the goal of this blog, I’ll be performing a Strength, Weakness, Opportunity, and Threats Analysis (otherwise known as SWOT) to best illustrate some highlights and potential areas to improve.

In terms of strengths, the course strives to make it as hands on and streamlined as possible, by first putting students into collaborative groups in which we form the basis of how our team should be conducted and expectations/goals for the assigned project. In addition, facilitating weekly progress reports and giving us examples of prior groups work in similar assignments helps to make the course more cohesive and gives us guide rails to structure our progress and goals. While I have not made use of the office hours as much, having the course check-in surveys and follow-ups from the staff greatly helped to determine how progress is going as well as re-assurance that the staff is watching out for the students to ensure they are progressing appropriately.

In terms of weaknesses, although the course does try to make use of the group members and individual skills that one can possibly bring to the table, there could be groups that may lack some skills in certain areas and thus might have a harder time ramping up in terms of expertise and provide meaningful work before the quarter ends. Having additional tutorials such as the one for CSS could be helpful in order to facilitate better adaptation, especially for useful topics that might’ve been covered only in elective courses, such as Figma prototyping or writing technical documentation for APIs or codebases. In addition, given the short tenure of the quarter, having a significant chunk of time (approx 1.5 – 2 weeks) taken by the project selection process does severely hamper the amount of time allotted to working on the project, which can be problematic for some bigger scope projects.

As this course is for most individuals one of the last courses in the program before they graduate from the computer science program, some opportunities that this course could expand on would be more tie-ins to industry professionals or coffee chats catered to this course, in order to provide additional networking and also insights to the industry beyond partnered industry projects which some groups might be participating in. Other opportunities which could possibly be expanded on would be selecting projects during the break period between quarters, as it will give us an extra week or 2 at the very start of the quarter to start working on the project.

In terms of threats, one lingering issue that plagued our current iteration of an ongoing project was the lack of detailed technical documentation beyond the final report. Given that additional time was needed to figure out what the prior group did, following up with the prior group members, and finding out that even they had some knowledge gaps about some of the work one of the previous groups did made it a very taxing ordeal. Our group therefore had to devote significant time to figure out what parts are relevant or being used currently, what the types of issues are there and the areas which we need to fix, how do said features work, and where to find the information. In such cases, mandating sufficient technical documentation outlining all the features, how to interact with each one, which sections are relevant, and tentative plans or outlines beyond just the final report would definitely help both future student groups and/or maintainers get up to speed quickly and have a clearer understanding of how the current codebase/project works, in both scope, requirements, and functionality. Even simple things such as mandating robust and informative docstrings would greatly aid future users, in which prior groups had lacked for the group before us and so forth.

In conclusion, while this course is definitely a great step in working collaboratively with others on a real project; there are still issues of time limitations and also technical debt which can possibly hinder a groups effectiveness on a project. Mitigating any potential blockers whether it be the ambiguity of the project or time spent waiting for the project assignment can help teams start and ramp up earlier and provide higher quality work in a less constrained time span.


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *