Reflections on Group Work

When I was growing up I wanted to be either a magician or an inventor. With computers I get to do both. I’m excited to announce that I’m working on a new open source project called PlayWithMagic with two very capable software engineers Patrick Karjala and Mark Nelson.

We’re creating a web app that allows magicians to share and remix their routines. Users can create their own sets “automagically.”

Mark’s hosting our site on his Rasberry Pi server.

“Good programs aren’t written or built, they’re grown.” – Mike Muuss

How did you divide up the work?

This week we got together 4 times to discuss our initial ideas. We split up the mock up work and reconvened in a few days. Once we had mocked up the pages we researched our service by meeting with professional magician, Lee Asher, on Skype. http://www.youtube.com/watch?v=LGNAfBQwz4M Mark worked on the README for the project. Patrick worked on the homepage, the user login on the navigation bar, and I created pages to display the user’s profile, a page to show the routine, and the pages to create a new user and a new routine.

This slideshow requires JavaScript.

How did you coordinate development?

Before we met each of us came up with a list of questions and updates. When we met we set an agenda. The conversations were smooth and we were able to agree on what features to pursue.

We talked about the goal endlessly.

Github allowed us to keep up with each other’s progress. This helped to ensure that issues were taken care of. We used the issue tracker to determine what we wanted to focus on next. We talked for a while about the application. Then we mentioned some of the things that you have to consider at the beginning of any web project. There have to be log ins and user profiles. And we planned around our idea. Like a bottom up approach. I wrote up a bunch of user case scenarios. And Mark and Patrick drew up data models and program flows.

This slideshow requires JavaScript.

Once I knew what I was responsible for, I added them to github as issues and assigned them to myself.  I did all of my mockup coding over the course of 6 hours, from 7:41pm to 2:30am. Then I pushed all my changes to our repo on github and watched something on Netflix before I went to sleep. Looking at this gif and it looks funny. But the funny thing is, I can care so much about something that I can lose myself for 6 hours refining the code to make it beautiful and refined.

Was the group experience a positive one?

The group work was profoundly positive. We get along as a group and we all get our work done quickly. We communicate well and let each other explain our ideas completely before going forward. When we met at Patrick’s workplace for one of our meetings. He taught me and Mark how to use LESS.

This slideshow requires JavaScript.

What should your group change in order to work more effectively during the remainder of the semester?

We’re hitting all the goals. Issues are divided evenly. And the project is moving so fast that we are literally at the edge of our understanding. We’re adding form validation and database support as soon as we learn how it’s applied in the Play Application framework. We are right on track to get this application finished on time.

Author: David Neely

Professional Software Developer. Technology and Web Coordinator at the University of Hawaii's Manoa Career Center.