/ The Project
For my university's Software Engineering module, I had the opportunity to lead an 8-person team through a full Scrum project building a 3D Boggle-style word game using Java and JavaFX over 280 hours of combined work. We were provided with a design specification for this project, outlining expected features that need to be included.
We used Git to manage version control between members, having seperate branches for individual team members. As part of the Coursework, we were also required to create various design documents to supplement the finished game.
/ Acting as Team Leader
Day to day my responsibilities included sprint planning and working alongside my teammates, abstracting a product backlog brief into more managable tasks the team could estimate against, and keeping people with different skill levels moving in the same direction sprint after sprint. I also built and maintained a time tracker spreadsheet to assess developer contributions and inform future decisions. As project leader, I was in charge of handling a variety of tasks:
- Sprint Planning - Week long sprints, with meetings being held at the end of each week to look back on what was accomplished
- Task Allocation - Identifying each members strengths and weaknesses alongside ensuring each member is working their fair share.
- Progress Tracking - Measured hours worked per person per week, making future task allocation and sprint planning easier.
- Communication - Regular meetings to discuss development stages, with one meeting at the start of the sprint to allocate tasks and a retrospective meeting at the end of the week.
/ Development
On the technical side I built the word scoring mechanism, allowing players to enter valid dictionary words found on the cube which are then scored and added to their total, along with the seed randomisation feature used to generate a new letter layout at the start of each game. I also handled feedback from user acceptance testing and translated it into changes for the team to work on.
/ Challenges Faced and Key Takeaways
One of the bigger challenges we faces was having a team member who was unable to contribute for much of the project, with limited attendance or communication. Rather than let this stall our progress, we redirected user stories across the rest of the team and kept moving, meaning everyone else only had to pick up a bit more to keep the project on track.
These are the skills that arent taught in a lecture hall. Allocating developers based on their strengths, adapting to unforseen changes and communicating as a team to stay on task. Hands-on experience is the best way to develop the interpersonal aspect that is so often ignored when studying computer science. It's given me a much better sense of what actually holds a team together in the long run and I am grateful that I had the chance to work as a group with a great team of people.