Open Academy Tales

with Henrik Nygren

Collaboration

This week we continued to work on our big feature. We made our eager loading code to work on more situations and made a configuration option for it. Halfway through the week we got bit stuck with the feature because the mentors have been bit slow to answer questions.

This post is about how we, the Rails team at Software Factory, collaborate. So far we’ve been doing most of the stuff together. Because I have worked with most of my team previously, good teamwork came naturally to us.

We’ve been doing a lot of pair programming mostly because our task have been hard to split. Even when people are doing different things we’re constantly aware what each other are doing. What is good about our working methodology is that everyone always knows what other people are working on. What is more, we’re able to help each other with harder parts of the tasks and learning from each other in the progress. We’ve also been able to correct each other’s small mistakes and debating solutions throughly before implementing them. I believe these discussions have been really beneficial and has led to better quality code.

The other side

The highly collaborative workflow comes with some drawbacks. Too often we are missing the benefits of parallelism. Sometimes we can have four people staring at one computer - which is highly inefficient.

As we work together we’re getting a lot of interruptions from each other. That’s why we end up spending a lot of our time on task switching instead of producing code. The constant task switching affects my ability to focus. It has been observed that after an interruption it takes about 15 minutes to go back where you were before the interruption. With interruptions all the time it is impossible to reach best possible concentration.

International collaboration

So far we haven’t worked with the students overseas. While this would propably be difficult to arrange due to difference in our time zones, I believe it would’ve been really cool to work with them. Mentors did talk about setting up weekly meetings so it could improve. But I still doubt any kind of proper collaboration with them is going to happen any time soon.

Mentors

Collaborating with our mentors has been subpar. Seeking for help with our task, we have emailed them multiple times, bombarded them on Campfire but they haven’t had time to answer our questions yet. The weekly meetings - whenever they start happening - will hopefully help with this.

Things to improve

All in all, communication between our local team has worked so far. I think we should try to work more individually - especially if we get tasks that are easier to split for multiple people. We definitely should not scrap team work altogether but try to find a balance between doing team and more individual work. The teamwork with others has a lot to improve but I’m not sure if we can do much about it. Maybe things get better once we get more things to do from mentors.