Goodbye ICS 414 and Thanks for the Memories

11 Dec 2024

Our ICS 414 project provided a valuable opportunity to collaborate as a team to deliver a project for a client. Through this process, we identified several key areas for improvement and learned important lessons about project management, team collaboration, and technical development.

Role Definition and Access Permissions

One of the main areas for improvement was assigning access permissions to the different users. We should have spent more time during the initial meeting defining the roles and determining the access each role should have within the system. By clearly defining roles, we would have streamlined future processes.

Data Handling and Structure

Another critical area was data handling and structure. Early on, we should have focused on splicing the data from the original chart layout provided by the client. This would have allowed us to structure and save the data for each user in a more robust way. We should have also established a clear process for making the data editable for certain user roles, enabling more control and flexibility. Creating an internal input sheet early in the process would have facilitated seamless data entry. Since visualizations depend on the input sheet’s naming conventions, it was essential to establish proper naming early to prevent later rework.

Team Participation and Task Allocation

Team participation and task allocation presented a significant challenge. We were short two group members who did not participate, which made it difficult as we had to redistribute their tasks among the remaining members. This increase in workload on active members led to delays in task completion. Effective task allocation and contingency planning for unresponsive members would have mitigated this issue.

Team Communication and Collaboration

Team communication and collaboration also needed improvement. We did not communicate frequently enough as a group and did not hold enough in-person meetings. This lack of communication led to misunderstandings, misalignment on project goals, and slowed progress. More consistent communication and regular team check-ins would have enhanced coordination and kept everyone on track.

Goal Setting and Task Prioritization

Another issue was goal setting and task prioritization. We did not set clear goals or milestones for each stage of the project. Without clearly defined goals, team members attempted to work on everything at once, resulting in disorganized progress. Additionally, team members often pushed code only a day before deadlines, which prevented other members from making progress on dependent pages. Setting clear milestones and encouraging regular code submissions would have facilitated smoother progress.

Understanding the Client’s System

Understanding the client’s system was also a challenge. The initial sheet provided by the client was difficult to understand, causing delays as we tried to decipher its structure. Implementing role-based access control later in the project was inefficient. Gaining a clearer understanding of the client’s needs early on or using rudimentary drawings to map out system components would have helped set a stronger foundation for development.

Conclusion

While the ICS 414 project posed several challenges, it also offered invaluable lessons. We learned the importance of clear communication, early role definition, data handling, and effective team collaboration. Addressing these areas in future projects will help establish a more efficient development process, stronger teamwork, and better project outcomes.