Our Frontend Development chapter at MOIA faced many changes throughout the years after its foundation. In 2019, each Frontend developer would simultaneously be in a stream-aligned team and the Frontend Development team, trying to take care of feature development while dedicating some time to across-team concerns of our Backoffice application.
How did we align back then
Every week on Wednesdays, all Frontend Developers from each stream-aligned team would get together in a room and do Frontend-related stuff. We called this “All Hands”. We would try to tackle technical debt, showcase new technologies and keep up to date with the Frontend world. The “get-together” lasted for the whole day. Since we all worked on the same repository, we could align and decide faster on our web application’s evolution. We also updated our JIRA board for the current and next week and did pair programming regularly. Lastly, we ate lunch together, which helped us bond and get to know our colleagues better.
It turned out that cramming up many meetings does not help with productivity. Our Wednesday schedule would look something like this:
- 10:00–10:45: Component weekly, which consisted of daily stand-up and planning the next steps
- 11:30–12:30: Lunch. No one can code with an empty stomach
- 15:30–16:30: Community of practice which consisted of “discuss and decide” and knowledge sharing
- 17:00–17:15: Day wrap-up.
Even though there was considerable time to code during the day, many of us were interrupted by daily business to resolve a bug or implement a feature.
Furthermore, our product owners were not fond of this approach. A weekly separation was happening, and the stream-aligned team’s output would be affected. In addition, some Frontend developers felt that belonging to two teams would hinder their work, or that they would instead rather focus on delivering cool features.
What we tried next
Our next Frontend working mode would be choosing a pair of Frontend developers to work on platform-related topics. Platform in this context means anything not related to features driven and implemented by our stream-aligned teams but across-team concerns of our web application — from extending our pattern library to tweaking our build and deploy pipeline. The pairing would last a whole week. Of course, the respective developers and their stream-aligned teams would have to separate ways during that time. However, if any emergency would occur, they could get back to their respective teams and resolve the issue(s). We kept our weekly Frontend meetings, mainly walking through the JIRA board.
Just like with the previous working mode, many Frontend developers felt that dedicating an entire week is still too much time, that they would rather use to coordinate with their stream-aligned team.
Yet another iteration
Moving on, we still maintained the rotating pair mode but with a twist. One person became a constant pair while the second person would still rotate. This regular pair would also drive the vision of our web application — from infrastructure to keeping the board up to date.
Where we are now
By having a permanent person steering our Backoffice platform, we soon discovered opportunities to improve and professionalize its development. We decided to ramp up a permanent platform team with new people joining and not pull out developers of their stream-aligned teams any longer. The platform team now serves the stream-aligned teams by providing an outstanding developer experience and by taking care of across-team concerns.
As a chapter and community of practice, we still meet every week to align and learn from each other. Just in a more focused manner and with a clear separation of responsibilities.
Our current process works well, but we will continue to tweak it.