A couple of times last week, for most of the day the class was split up into small groups of three to complete an assignment. Primarily, these exercises were intended to introduce collaborating via git, but I was also introduced to the challenges and value of coding in teams.
Without clear style guidelines, everyone could construct their HTML DOM with different element names and structures, which would complicate styling immensely. Either each person would have to style their pages individually–requiring separate CSS files and redundant or even conflicting rules–or several pages would have to be rewritten to some extent to generate consistency.
Our group decided instead to divide up the work by feature, assigning responsibility for creating a nav bar, building the boilerplate HTML pages, writing the JS function, etc. I created a Trello board and began tracking features in three categories: ‘to do’, ‘in progress’ and ‘complete’. A lot of conversations occurred along the way to make design choices or help troubleshoot, but rarely was anyone duplicating or refactoring someone else’s code to accomplish the objective.
That being said, our project was not without challenges. While we did divide the work by feature, I wanted to make sure everyone in the group was confident with every piece of our app, which meant lots of review and starting-and-stopping. This slowed us down, but the experience was invaluable. We were able to learn from and to teach each other on a fairly constant basis, and heard up to three different approaches to the same problem at every step of the way.
The first pair of group projects were certainly a rough start, but I’m quickly acclimating to the pace of collaboration and already see the value in it. I’m expecting to collaborate dozens of times on small and large projects throughout my time at NSS (and obviously in the professional world at large). I’m excited for the challenge.