Sharing Our Passion for Technology
& Continuous Learning
In software development, it’s easy to get bogged down in a solution that involves the ideal design, architecture, data model, and tooling. But beneath all of that, there’s something far more fundamental driving success: communication. This was apparent in one of our clients who was looking to increase the predictability of their feature delivery and have more confidence in their roadmap. We wanted to equip them with the best communication practices we’ve implemented on our own teams.
Full‑Stack Teams Thrive on Communication
We introduced a full-stack team instead of siloed front-end and back-end teams. Ambiguity arises when these two teams aren’t actively communicating day to day. At our team ceremonies, such as planning, retro, and standups, we invite the whole team. We were tasked with fully developing a new feature that relied on an endpoint and data from an external team in a different time zone. When we started the planning phase, we identified how critical it was to get the backend up and running to surface any data issues because their response time would be at least one day after, in addition to the solution. For example, we faced an issue where some data was being omitted from the user interface. In standup, we raised to whoever was working on the backend logic on our team that we didn’t have a way to differentiate some of the data we were displaying. In subsequent standups, the teammates handling the front‑end work were kept up to date on the progress of the fix. Additionally, the retro provided a plan on how we’d escalate the bug and ensure seamless cross-team collaboration.
Bringing Best Practices to Life Through Communication
Each of the following best practices we implemented was focused on communication. Best of all, these practices are designed to live on, empowering future teams to continue the trend we started.
- Pairing allowed higher code quality and increased knowledge sharing. In particular, we worked with one of the map domain experts at the company to reduce silos and spread critical knowledge across the team.
- Monthly Training Sessions improve developers by deepening their craft, sharpen their problem-solving skills, and giving them more tools to improve. Some of the sessions focused on Apollo codegen, updating the Apollo local cache, memoizing expensive functions, and AI tooling.
- Creating Testing Standards helps align developers on expectations surrounding their code and that of other developers. These standards were a document created to ensure business logic was tested thoroughly, which greatly improved code reviews.
- Planning Sessions ensured the future work was properly prioritized and discussed any obstacles that may be in our way. It showed us if there were known unknowns and what we can do to mitigate them.
- Participating in Retrospectives fostered an agile environment for the team, especially when we encountered bugs. It also allowed team members to provide feedback and input on how to improve in the next sprint.
- Our Predictability demonstrated to stakeholders and directors when features would be done by. We didn’t commit to dates we couldn’t meet.
- Incorporating a Fun work environment helped the team bond every sprint. We elected to play lots of remote friendly games such as Skribbl.io, GeoGuessr, and Codenames.
Success Opens Doors
Our communication‑driven approach didn’t just improve day‑to‑day development. It built trust with our client. Although it took time to develop that relationship, it was apparent that we consistently outperformed other teams that didn’t take the same approach that we did on a sprint basis. Ultimately, we were invited to help shape one of the company’s largest initiatives planned for the current year.
We were asked to:
- Help determine requirements
- We scoped out the severity of what was at stake and determined the level of effort needed to fully develop the feature
- Bring stakeholders together
- We met on a weekly basis and included everyone with a current or a future role in the process to be transparent on what’s needed and from whom
- Facilitate discussions
- We kept a changelog of the decisions made. In case we needed to reference back, we had it in writing, at the time, what was agreed upon
- Diagram solutions
- We used tools such as Miro to demonstrate different solutions and collaborate with other teams and stakeholders
- Plan the initiative’s roadmap
- We broke the roadmap into different phases, which helped break down the feature at hand
These efforts paid off because each one reduced uncertainty and pulled people into the same direction, which is exactly what the initiative needed. By creating shared understanding, documenting decisions, and turning a massive project into clear, visual, and phased work, we built the alignment and momentum that ultimately led to the results we were aiming for.
The Most Underrated Skill in Software Development
Too often, communication is treated as secondary rather than a core skill, but it’s just as critical as the technical work. It reduces ambiguity, accelerates decision‑making, builds trust, and aligns teams. When communication thrives, everything else, from architecture to delivery, gets better.
