We’re coming towards the end of this year’s Down Tools Week. This week, our team has worked on a solution for a charity to tackle a specific problem.
Leading up to the week
Because the project is for an external organisation, our first challenge was to get hold of the stake holders and pin down the exact thing we need to be making.
We brought in the CEO of the charity and talk to us about the problem. We also had the opportunity to contact her by email to ask any questions.
Given that we only have a week, we also set the expectations that it would not be a complete product by the end, but a proof of concept that can potentially be used to get sponsorship in the future.
In the end we were able to come up with a rough architecture of the solution and decided that building a mobile app was the most suitable.
During the week
This is the bit where we fight hard against time. We have 1 week to build out this mobile app. Some technical challenges:
At a communication level, it’s one gigantic team of 16 people, so effective communication played a key part in making this week efficient.
The way we approached this was that we’ve split our team into 4 ‘stations’, where each station targets a specific set of problems. At the beginning of each day, we have a stand up to report on the progress of each station. Throughout the week, we also have people transferring between stations, so that we have some implicit knowledge sharing between stations.
We’re also being very objective driven with setting ourselves a daily goal and evaluating whether we’ve hit the goal by the end of each day.
One biggest technical challenge we faced on day 1 was that nobody in the team had any experience in mobile development. We just picked something that was closest to our daily work — Xamarin. It’s still C#, the code style is very similar to WinForm/WPF (making the judgement without delving deep into it), and we were still able to reference projects/most NuGet packages as before.
At a lower level, we were also having to build our understanding from the ground up on how OneDrive API worked, how to access a phone camera worked and several other things.
We currently have a running proof of concept demo of our mobile app and have one more day to polish it to make it look nicer as I’m writing this.
At the end of this week, every team will need to make a presentation to the rest of the company. It’s almost time so wish ourselves all the best!
We’ve spent a lot of time pair/mob programming, which has worked very well because knowledge is implicitly shared, especially when learning new technologies.
For a big team like this, communication played a key role. For once, we had 2 stations that were working on the same task unknowingly, but was quickly recovered by 1 of the teams asking around in the room. Note to self, this probably won’t work well on a larger scale.
Motivation definitely played an important part to our high performance. I’d say it’s a mixture of voluntarily having signed up to the project, helping out charity and the sheer amount of food injected into the room.