Post

Capstone Project Review

Capstone Project SWOT Analysis

On the cusp of completing the capstone project, I reflect on this unique course’s strengths, weaknesses, opportunities and threats.

Strengths

The strength of the capstone course is how it balances constraints with autonomy. The objectives for most projects are clearly outlined, serving as guardrails that prevent the project from straying away from its original purpose as features are developed. At the same time, students are given wide lattitude to achieve the objectives in whatever way they see fit. That means we have the freedom to choose our tech stack, as long as we can justify why it is the right tool for the job. Because our app’s architecture places most of the data processing logic on the frontend, my team decided to use TypeScript. No one on the team had any experience with TypeScript, but we knew JavaScript and other statically-typed languages, so we learned the language and developed our app concurrently; this learning-by-doing paradigm worked incredibly well for me.

Weaknesses

While my experience with the capstone course has been positive, this course has room for improvement. The main weakness I see in the curriculum is the weekly progress report. While requiring regular updates that ensure teams are hitting their milestones is perfectly sensible, the format of the deliverable, a video presentation, makes constructing the progress reports quite time consuming. On more than one occasion, I spent more time writing, recording, and editing the progress report video than on code review – and my team’s code reviews are thorough.
Another weakness that comes to mind is the explorations. This is not a criticism of the explorations themselves; they provide useful, distilled information on diverse topics: Agile, just-in-time design, managing online presence, prototyping, etc. The only reason I point to them as a weakness is the fact that they don’t seem to fit into this project-based class. The 10 hours of work that we’re expected to dedicate to this class weekly will, in my experience, be used to do code reviews and development. Given the time-intensive nature of the capstone project, the explorations are probably just an afterthought for most students.

Opportunities

The capstone course can be improved by extending the project timeline and increasing the scope of the project. Considering the 10-week time constraint inherent in the quarter system and the fact that post-bacc student need scheduling flexibility, I think one way to accomodate an increase in project complexity is to provide an option for students to work on the same project throughout Software Engineering 1, 2, and the capstone course itself. I saw that the School of Electrical Engineering and Computer Science is already running a Vertically Integrated Project (VIP) program, which offers student a chance to work on long term project and engage in experiential learning. If that pilot program shows promising results, then it has a good chance to make the capstone project experience even better.

Threats

I am fortunate that my project partner, CJ, is a capable, collaborative teammate. I couldn’t have asked for a better partner. We did not know each other before this class; we did not request each other in the initial survey; I didn’t rank the mail merge project as my first priority – it was by pure chance that we landed in the same project. I didn’t have much influence over the outcome. I imagine that in a class with so many student enrolled, it’s a statistical inevitability that someone ended up teammates who are unresponsive or wanting in some other manner.
When tackling a 10-week long project, one bad teammate can be a bigger hindrance than any amount of technical challenges; that’s the biggest threat to the learning experience presented in this class. An old proverb says “If you want to go fast, go alone. If you want to go far, go together”, but a team that is no more than a loose collection of individuals will do neither – nothing will be done quickly, and no ambitious goals will be accomplished. I am happy to see that the teaching staff takes absence and underperformance very seriously, evident by the policies outlined in the syllabus. Still, there will be instances where the level of group dysfunction doesn’t quite rise past the threshold that triggers a formal inquiry, but is nevertheless severe enough that it hampers learning. It would be a shame if some students, through no fault of their own, couldn’t end the program on a high note.

This post is licensed under CC BY 4.0 by the author.