I wrote in the pastabout my pitch to get a new team from Ukraine. Time have passed and it was actually decided to break that team up and I got 2 new devs. In addition to them, over the last 3 months 3 devs joined the Israeli team, what made our team a total of 10 devs - 2 server, 8 fed, 5 in Israel, 5 in Ukraine.
Such a significant change called for a a fresh look on how we should do stuff and I decided it would be a good idea to have an offsite week where we can all meet, bond and discuss the future. The goals we defined were (by order of importance):
Get to a point where the team can discuss the way it wants to do stuff
Get excited about the product
We finalized the plans and decided on a week which will last 4 days and will consist of:
Day 1 - Joint coding experience (more on that later this post)
Day 2 - Product review, vision, etc. - led by Tomer the PM
Day 3 - Outdoors activity
Day 4 - Discuss the process - how we should work form now on
Today the 5 Ukrainian devs have arrived for the first day of the offsite.
We started with breakfast and some introductions (5 of them have never met in person..) and quickly started with the Code Retreat.
Before I describe what it was, I'll explain how I got to this idea.
Well, first, as mentioned before, one of the main goals was bonding, and that can be achieved among devs in 2 ways - coding together and drinking together.
While the drinking part is done at all waking hours and especially on the day we'll be outdoors, question remains is how the coding should happen.
I saw 3 options:
Work on tasks
Working on Tasks has a clear Pro which is we're getting some work done. Problem with this approach is that given we have a very limited time for coding (1-1.5 days) getting something significant done is hard, it always has loose end, it requires a lot of preparations (Product, UX) and in general may feel like we didn't achieve anything major.
Hackathon is awesome and can fit the limited time frame. Issue here is we'd need an idea (which is an area the team members are not very strong in), we'll require a lot of time to set up and although fun, there's a very small chance we can get something actual off it.
So I was looking for something else. Though about doing some POCs on relevant new technologies (TypeScript, React server side, React Native) but then I stumbled upon Code Retreat which instantly felt like a match made from heaven to our situation.
Code Retreat, to those unfamiliar with it, is a day long exercise in which the team pairs up to implement a trivial algorithm in non trivial ways. The day consists of 5-6 such sessions, 1 hour each, including a short retro after each session. The said outcomes of this day is the ability to experiment with methodologies, discuss them and try to work on the design ability. The pros for me were obvious - pair programming is very bonding, and the fact that each member gets to pair with 5 different team members during the day is just awesome. The fact that the team is stress free, experimenting with methodologies and discussing them is a step in the right direction of the team being able to discuss and impact the way things are being done. There's no actual output from this day, but I could live with that.
Anyway, I asked Ittai Zaidman, who's one of the heads of the server guild at Wix for help with facilitating the activity as he has some experience with it and luckily he agreed,
I glad that he did, because it turns out that his knowledge and experience contributed a great deal to the success of this day.
On the Closing Circle, after all the sessions, Ittai asked us 3 questions:
What did you learn today?
What surprised you today?
What will you try to do differently?
We went around and gave different answers but what was mentioned the most, and what my key takeaways from this day are:
People enjoyed working in pairs
People are interested in doing TDD more
Noted and will be done.
I'm excited that this day went so well, even beyond expectations (with a little mishap with lunch, saved by the mighty Tom..). Looking forward to day 2!