Skip to content

Latest commit

 

History

History
205 lines (133 loc) · 7.26 KB

retrospective.md

File metadata and controls

205 lines (133 loc) · 7.26 KB

Retrospective for Group Collaboration Project


Section 1: Practices to Stop Doing

Unhelpful or Counterproductive Practices

  • Initially, we hesitated to experiment with GitHub due to concerns about
    making unfixable changes to the group project repository. However, this fear hindered our learning. By implementing feature branches and conducting
    workshops, we overcame this hesitation and discovered that hands-on
    experimentation was essential for mastering GitHub effectively.

  • Trying to perfect our code from the first commit; we found that working
    with the team through code revision helped us code better.

  • Spending excessive time fine-tuning minor details of the code before
    completing core functionality.

  • Logging the same task as both an issue and a PR instead of linking them
    caused confusion and redundant work. Linking PRs to issues streamlined the
    workflow and made task tracking more efficient.

  • Weak communication from some members on Slack. Encouraging more consistent
    and clear updates from all team members is essential.

  • Expecting everyone to respond to a problem immediately; we learned to wait
    and be patient.

Repetitive or Redundant Tasks to Avoid

  • Manually applying code style corrections in multiple sessions rather than
    using a code formatter.

Section 2: Practices to Continue Doing

Valuable or Effective Practices

  • Pair programming or review sessions were highly effective as they helped us
    collaborate and learn from each other’s approaches.

  • Regular team check-ins to discuss progress and blockers ensured everyone
    stayed aligned and helped resolve issues quickly.

Communication Standards: Established rules for how and where
communication occurs (e.g., Slack, GitHub comments) to reduce confusion
and redundancy.

  • Knowledge Sharing Sessions: Allocating time for team members to present
    learnings, solutions, or research findings to the group.

  • Reviewing each other’s code and providing advice when stuck: Learning how to
    work in a team has been really amazing.

  • Biweekly updates: These have been effective in keeping the team informed and
    aligned.

  • Dividing tasks between members: This ensures balanced workloads and improves
    efficiency.

Activities, Tools, or Methods to Continue

  • Git and GitHub were very helpful, especially for screenshots of code and
    managing the project board.

  • Unittest in VS and extensions in VS helped in work and writing markdown
    files.

  • The hands-on GitHub project, where we created pull requests and resolved
    merge conflicts, was very useful for practical learning.

  • Using GitHub’s issue tracker to assign and manage tasks improved
    accountability and task management within the team.

  • Use labels, milestones, and linked issues/PRs
    on GitHub to better organize tasks and track dependencies.


Section 3: Practices to Start Doing

New Practices, Tools, or Techniques to Introduce

  • Introduce more coding challenges that mimic real-world scenarios, such as
    debugging a complex Python script or handling edge cases in Git workflows.

  • Use collaborative white-boarding sessions to design project architecture or
    workflow diagrams.

  • Include a mid-project retrospective to assess progress and address blockers
    early.

  • Pair Coding with Mentorship: Assign mentors to less experienced team
    members for pairing on complex tasks, promoting skill-sharing and
    collaboration.

  • Advanced Task Management:

  • Create two projects: one advanced and another for beginners. This will cater
    to varying skill levels and ensure everyone is appropriately challenged.

  • Assign the review of specific challenges to designated members to ensure
    distributed responsibility and a thorough review process.

Gaps to Address in Future Projects

  • We didn’t cover advanced Git features.

  • Team members were unfamiliar with tools like GitHub, resulting in delays and
    inefficiencies due to a lack of initial training on project-specific workflows.


Section 4: Lessons Learned

Key Takeaways (Technical and Non-Technical)

Technical Lessons

  • Efficient Version Control: Learning how to use GitHub features like pull
    requests, issues, and CI/CD workflows to streamline project management and
    integration.

  • Debugging Techniques: Gaining skills in identifying and resolving merge
    conflicts and debugging code effectively.

  • Task Management: Using labels, milestones, and linked PRs on GitHub to
    organize tasks and track progress more effectively.

  • Code Quality Improvements: Understanding the value of using linters,
    code formatters, and review processes to maintain high coding standards.

Non-Technical Lessons

  • Learned the importance of teamwork and how to effectively collaborate in a
    team environment.

  • Developed better time management skills by respecting deadlines and the
    schedules of team members.

  • Enhanced communication skills through active discussions and idea-sharing.

  • Collaboration and Communication: Recognizing the importance of regular
    check-ins, clear communication standards (e.g., Slack, GitHub comments), and
    quick feedback loops to ensure alignment.

  • Mentorship and Learning: Pair coding with mentorship helped team members
    grow their skills and build confidence.

  • Adaptability: Adjusting plans when unexpected challenges arise, such as
    integrating unplanned sessions or adapting to team members’ learning curves.

  • Time Management: Balancing focus on critical tasks first rather than
    perfecting minor elements early in the project.

  • Knowledge Sharing: Gaining insights from other team members through
    presentations, solutions, or techniques they applied during the project.


Section 5: Strategy vs. Board

Plan vs. Reality

What Went as Expected

  • Timely completion of preliminary modules.
  • Smooth division of initial tasks aligned with team members’ skills.
  • Effective onboarding process with pre-session materials.
  • Consistent team communication with regular check-ins.
  • Early identification of roles, leading to a structured workflow.
  • Participation in pair programming and knowledge-sharing sessions.
  • Helping each other: Some members got stuck on certain tasks, but others
    assisted by recording videos and organizing meetings to solve problems
    collaboratively.

What Did Not Work as Expected

  • Underestimating time for tool familiarity.
  • Incomplete role assignment, causing confusion.
  • Inefficient communication standards between Slack and GitHub comments.
  • Over-focusing on details, delaying critical progress.

Section 6: Feedback and Suggestions

Overall Organization of the Group Project

  • Rating: 4/5. The content was well-structured, but time management could
    have been better to cover all planned topics.

  • Loved the focus on beginner-level participants but noted a gap between
    participants with varying experience levels.

Suggestions for Improvement

-Regular Motivation Boosters: Share success stories, milestones achieved, or
shout-outs for individual contributions to keep participants motivated and appreciated.

-Provide pre-session materials so participants can prepare in advance and use
session time efficiently.