As a novice cook who relies on following recipes, one of the most frustrating situations is discovering I don’t have an ingredient while in the middle of cooking a dish. I can either stop what I’m doing and run to the store, substitute it with something else, or leave it out all together. At this point, whatever choice I make could impact the timing and/or taste of the dish, which could be a recipe for disaster.
A cross-functional team is like having that fully stocked pantry that provides assurance you’ll be able to cook any dish you want without the fear of having to run to the store for a missing ingredient or settle for an alternative. This type of team composition not only has advantages during development, but it also offers the ability to expand the types of projects a team can take on.
Benefits of a cross-functional team
When working under intense time constraints or on a project with ever-evolving needs, a team comprising people from different practices is hugely advantageous. This kind of cross-functional practice is the norm here at Ad Hoc; our teams can be deployed to work on a project much quicker and easier since they include people with all the required skills a project needs. Because of this, we see several key benefits:
- Team communications are more efficient.
- We’re able to remain agile and flexible, even when receiving frequent updates and change requests.
- The speed with which we’re able to develop and iterate on products isn’t hampered by lags in feedback or support from external teams.
- We have the ability to take on various types of projects, including creating mobile apps, single page web applications, enterprise systems, API development, and technical support.
By contrast, traditional engineering teams are normally siloed and specialize in specific components of a tech stack. Putting together resources for a project may require coordination across several different teams, which could ultimately affect the ability to take on certain types of projects.
The cross-functional team I’m on, known internally as the Green Team, is made up of engineers specializing in DevOps, mobile (iOS and Android), full-stack, and front-end development. We’ve been able to work on different projects ranging from large-scale application support to mobile development and integration. Some of these projects have involved the entire team, while others required only a select few.
A cross-functional team in action
Recently, our team had the opportunity to be a part of the WeLink Cities Challenge, an initiative to bring affordable internet to urban communities that have been overlooked and under-resourced for too long. Our assignment was to create a microsite that would inform readers about the funding and partnership opportunities and would include a form to capture contact information of those interested in learning more.
Overall, the project was fairly simple but involved two key challenges: a short runway and a moving target. We only had about a week of development time before a fully functioning product needed to go live. Additionally, WeLink was working with a design agency that was still making changes to the design. Although these conditions were not ideal for development, the agile nature of a cross-functional team provided confidence that we would deliver the product on time and within budget.
We hit the ground running on a Monday, quickly setting up a repository and hosting site and splitting up the work between engineers who had relevant web development experience. Despite the small scale of the application, we wanted as many resources working on it to offset the time constraint. While this approach may have introduced the concern of having “too many cooks in the kitchen,” a cohesive cross-functional unit promotes communication and collaboration. This allowed us to apply a divide-and-conquer approach without stepping on each other’s toes.
Our ability to offer nimble, swift execution and delivery proved crucial in the WeLink Cities Challenge work; even as the design agency was changing the design and content daily, our team deployed continuous updates to a live environment, providing the customer rapid response times. Attempting to develop towards a moving target is already difficult. Working with a customer who requires constant changes is made possible through extreme agility, adaptability, and speed.
Further, having full control throughout the development process was key to avoiding potential delays like onboarding processes or dependencies to existing code and infrastructure. At that point, the site’s designs hadn’t been finalized. However, we were still able to create the general layout and establish a rapid development pipeline in anticipation of the customer’s constant content and design changes.
Our goal was to have a working MVP by mid week; by the end of day one, we were already more than 50% complete. The next day, WeLink continued to update the design as we moved forward with development. To avoid the risk of change items falling through the cracks, we began to version each design revision to ensure each one was being applied.
The final result
Going into the next day, we were around 90% complete and prepared to reveal a live working site to WeLink that included the most recent changes. They were pleased with the outcome and appreciated how quickly we responded to changes and feedback.
We concluded the week by thoroughly testing the site and adding responsive design for mobile support. Although WeLink continued to make adjustments to the content and design up to the go-live date, we easily accommodated those changes to give them exactly what they wanted. Given the constraints and the hurdles we had to overcome, Ad Hoc received high praise for our rapid development and flexibility throughout the process.
Cross-functional teaming: rewarding and impactful
Working on projects as part of a cross-functional team provides an experience that is both focused and rewarding – an invaluable growth opportunity for those on the team. But it also provides the customer with a quality, reliable product that more effectively and efficiently addresses their needs and specifications than those that multiple, traditional engineering teams could offer.
If you’re interested in being a part of one of Ad Hoc’s expert cross-functional teams, please visit our job board. We have a variety of open positions waiting to be filled by those who are ready to develop solutions that make a difference.