CS177 Self-Reflection

Before this course, I had absolutely no idea what product management was about or involved. In fact, I initially thought that product management roles were mostly engineering, with few additional responsibilities outside of the technical sphere. This quarter has shown me that a product manager has a lot more responsibility than I originally envisioned, and must be able to manage not just engineering, but communication, management, and design. While this came as a surprise to me, it’s been interesting to work in our team in different roles, and understand how each role connects to each other, and seeing how product managers will have to strike a balance between all the roles. 

In this project, I did a lot of developmental work, especially working with my other team members to develop a vision of what our app would look like, and the best way to approach implementation. While I had worked on large technical projects in the past, our app development process was especially interesting, and I would usually focus on one aspect of development, such as frontend or backend. However, with the need to rapidly prototype and deploy our app, I found myself taking on different roles from what I expected initially. 

I learned a lot about managing project expectations. While it was easy to draw long timelines with “best case scenarios” for development initially, many of these timelines did not come into fruition, and were often flawed and failed to take into account the limits of our team’s abilities. Instead, it was often easier to set smaller targets, and to communicate regularly with my team and reevaluate our position in the project regularly. This also helped clarify why so many corporate teams have standups often, in particular, mine had it every day. In that situation as an intern who was working on mostly the same project day by day, this seems almost entirely unnecessary, given how limited my updates were. But within my team here in CS177 handling a much larger scope, it’s become clear to me how important clear, consistent communication is for effective project work. 

If I had more time I would have encouraged my team to spend a larger portion of time focusing on developing a more fleshed out development plan. Much of our project was completed following the normal class schedule, but it still felt rushed at the end, especially with previously unaccounted delays such as COVID. Looking back now, I realize that we weren’t very clear on what the end goals for our project were, and what critical steps we would have to take to reach those goals. Knowing the scope for our project, if we had more time, we could have more carefully planned out our development process, and added some more check-ins to stay on track, and to make sure that we were adequately moving through each prototype and understanding them. This would have led to a much smoother progression through our project, and clearer communication within the team on what tasks and timeline we’d be expected to stand by. 



Avatar

About the author