Author Archives: Daniel Fung-A-Fat

Understanding Code Review

Code reviews are a vital step in the process of putting out not only software but any form of work. This blog post by Kimmo Brunfeldt outlines the need for code reviews on projects as well as some of the best practices for them. The role of a code review is to share knowledge and ownership about the project among the team members as well as discuss development and do overall quality control. A standard flow can be seen as a draft, submission for review and suggested changes (A cycle between these steps often occurs), and then final approval and merging. Keeping this flow with positive feedback and clear and constant communication is key to consistent and good review.

The reasoning for choosing this topic was due to the recent topic of the class into the focus of clean code. This focus on clean code is a part of the process of code review as a key element of the review process as well as something to keep in mind during the writing of code. The ease of being able to not only read the code but how easy it is for someone else to understand it is vital for projects and a key aspect of code review. By having these group review sessions and collaborate with other people, it can help to have others look other the work and point out potential issues in naming or complexity.

The blog also gave some really great tips and ideas for me to use for future projects. Some of the best takeaways to implement were not only simple and obvious in hindsight, but ones that I myself often overlook in discussions and reviews of my work. The biggest thing I found to be key was keep constant code submissions small and concise so that quick review can be done and rapid feedback or implementation can be achieved. Along with this feedback should be given in a public setting or documented so that others can hear it or gain from it. These two statements were some the biggest takeaways that I found from the blog to apply to my own work as they are easy steps to take and implement in overall group work, however by doing these communication will not only increase across the entire project but also learning and overall scrutiny of the code in an easy manner that is not intrusive. Previous ways that I have seen or attempted include large sit downs or meets that often drag on but these seem to be much better alternatives that I look forward to trying.

Works Cited:

Brunfeldt, K. (2025, May 12). A complete guide to code reviews. Swarmiacom RSS. https://www.swarmia.com/blog/a-complete-guide-to-code-reviews/

From the blog CS@Worcester – Dan's Blog by Daniel Fung-A-Fat and used with permission of the author. All other rights reserved by the author.

Understanding Team Management

Proper team management is the crux of a well-oiled workflow and a productive team. This blog post by Alicia Schneider highlights not only what good team management is but also how to achieve that and improve your own management skills. Team management covers not only the coordination of oneself and fellow members of the group, but also facilitating and supporting the members through communication and ensuring a healthy and positive work environment that uplifts and motivates all. Clear roles and tasks through delegation are vital in ensuring that everyone knows their job at the overarching goal, as well as giving credit and praise to those who deserve it for a job well done. There are multiple types of management styles, which include:

Autocratic: Managers make decisions without input from team members

Democratic: Team members share ideas and thoughts in decisions that will affect the team before coming to a consensus

Laissez-faire: The Manager allows the team to self-manage with only minor input

Transformational: Managers’ main goal is to inspire and motivate the team to innovate

Transactional: Reward and penalize team members based on their completion of tasks and following outlined instructions

Collaborative: Managers help the team to work together, while the team focuses on working together and making decisions as a group

Coach: Give guidance, support, and advice to team members to improve and develop skills

Servant: Predominantly focused on fostering the growth of the team members

I chose this topic because it aligns with the current lecture material, such as Scrum and Agile workflows. Team management is key for these. No matter one’s role, there is always self-management and teams working in such close collaboration that everyone is managing each other. While the role of leadership may be delegated to a predefined position in these structures, management still relies on communication between people, such as between developers in the Scrum workflow. After reading the blog post, my overall notion of team management has expanded in terms of how to develop my management ideas. I had originally just seen it as delegating tasks and facilitating discussion, but it is actually much deeper after reading. While I myself may not agree with all of the management styles, I find that there are things that can be pulled from them to become a more effective leader and supportive team member, such as fostering the growth of team members from the “Servant” style, which is a great idea to also implement with the “Coach” style of giving guidance and support. By blending the management styles like this, I believe that it will help to produce not only a more productive team but also a more positive environment with great morale. I look forward to implementing these ideas in my future teams I work in and may lead.

Work Cited:

Schneider, A. (2024, August 21). How to manage a team: 6 powerful tips for team management. Monday. October 22, 2025, https://monday.com/blog/teamwork/team-management/

From the blog CS@Worcester – Dan's Blog by Daniel Fung-A-Fat and used with permission of the author. All other rights reserved by the author.

Understanding Project Management

The blog post by David Hartshorne begins with covering the basics of what project management is. Project management covers the overall facets of how to meet and achieve the deadlines of a project such as setting goals, meetings, and communicating and collaborating the the stakeholders/customers. This is all done in order to insure that tasks are completed in an efficient and timely manner to avoid mistakes or possible challenges from popping up. The blog then moves into have many different types of companies from software to construction as examples that use project management. The main types of projects are,

Predictive: Follow a linear timeline between phases

Adaptive: Short periods of work with frequent check-ins and feedback

Hybrid: A blend of the two

There are also five main phases to the process of a project which are,

Initiating: Laying the foundation of the project including understanding the project scope, main overview and budget

Planning: Define members roles, goals, time tables, and needed resources

Executing: The start of the project, institute changes and suggestions as needed

Monitoring: Check-ins and consistent communication, keep and eye on the goals and overall task at hand

Closing: Deliver the project, Conduct overview on the project on what went good and bad and where to improve

I chose this blog post due to its depth on the topic of what project management is. The blog focuses on the overall scope of the project and all of the possible avenues that need to be considered from tools to aid the process, team members and their roles, phases, tips, and the main areas of management. I also was attracted to this topic due to its application to industry as having a key understanding of project management is needed when either running a project or being the best team member that you can be. Having read the blog, there has been a fundamental shift in how I view projects and my role in them and my other team members. The need to constant communication has only been further reinforced as the backbone of a solid project. Clear defining of roles and goals is also needed to ensure that everyone knows what they need to do. With goals, something that also stuck with me is to keep the prioritization of the goals that need to be completed all within a realistic scope. This stuck out to me as I often feel like and find that scope creep can quickly seep into projects and teams and take hold. I have also begun looking into and pursing how to apply the suggested team-based tools like roadmaps and time management software to help keep me on task and use on future projects such as some of the suggested software like “Waterfall” and “Agile”. This blog was an excellent source on information on the management process and I encourage everyone to read it for themselves.

Works Cited

Hartshorne, David. “A Guide to Project Management.” Monday.com Blog, 20 Dec. 2020, monday.com/blog/project-management/guide-to-project-management/

From the blog CS@Worcester – Dan's Blog by Daniel Fung-A-Fat and used with permission of the author. All other rights reserved by the author.

CS-348: Introduction Post

Welcome to my blog documenting CS 348.

From the blog CS@Worcester – Dan's Blog by Daniel Fung-A-Fat and used with permission of the author. All other rights reserved by the author.