How to Build Agile Teams to Deliver Impactful Products
October 31, 2019
Building great engineering teams is my passion. I started my career as a software engineer and have experienced the difference between working on a team with a clear focus and built on a defined set of principles, compared to a team thoughtlessly assembled.
As the Director of Engineering at Connected, my role takes me further away from the day-to-day building of products and into the role of a team builder. However, my goal is no different now than it was before: building better products that delight users and impact our clients’ bottom line.
Achieving this goal always leads me back to the Agile Manifesto. The 12 key principles of agile serve as a great foundation for an all-engineering team or a multidisciplinary product team—like the ones we build here. It is a framework that ensures that the people, processes, and delivery goals all ladder up to genuine product impact. That being said, manifestos are great theories, but often fall apart in the real world if your actions don’t ladder up. In this article, I outline the principles for building agile teams, as well as the actions behind them that I use at Connected to deliver truly transformational software products.
The Agile Manifesto brought to life
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Our dual-track methodology, which underpins all of our work, helps define how we think about valuable software. We don’t build software for the sake of building, we ensure that we keep one eye always on the end user so that what we build is valuable, true to our goal of delighting them and impacting bottom line.
Included in our process are regular team and client check-ins, these help ensure the building process remains aligned with the strategy and market data. On top of this, we work with our target user group to test the software and keep their experience as our front-of-mind consideration.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
Staffing our teams with multi-disciplinary capabilities means the products we build are never static. We aren’t just looking to build to the brief we’re given, we’re insight hunters. If we uncover a new insight that makes our product more impactful, or invalidate part of the brief, we always incorporate that learning into our building process so that we can give our client the best chance of success.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
At Connected, our projects follow a weekly sprint cadence to ensure that we are delivering work to our clients every week. This process gives the engineers on the project the opportunity to ensure that their work continuously ladders up to the overarching strategy.
This principle of building agile teams also allows us to de-risk bugs and glitches that occur when too much is delivered at one time. By producing little and often, rather than big and in one go, the client gets a feel for the final product well before its full release.
4. Business people and developers must work together daily throughout the project.
Business goals and development goals need to be aligned if product teams are going to drive impact to the bottom line. Our agile teams are always staffed with a client-facing product manager/strategist who not only works closely with a commercial counterpart on the client side, but also stays plugged into market and user trends to keep the product relevant and impactful.
When working on a delivery project we embed our engineers in the client’s team to ensure that we aren’t operating as a “smoke-and-mirrors” operation. They will always be accompanied on the project by a product strategist/manager and/or designer/design researcher to keep their product in line with user needs and desires. This gives us the opportunity to highlight the value of what we have built on a consistent, rolling basis.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Great managers are the ones that create an environment of empowerment and support, an environment that breeds motivated individuals. The teaching and learning culture that permeates every part of life at Connected is put into practice outside of projects, to make sure that no matter which Connector is staffed to a project, the wider environment leaves them motivated.
For engineers this means Coding Katas, Test Club, cross-project code reviews, microlearns, and project check ins and reviews with the rest of the company. By giving our people constant learning and teaching “moments”, we attract and retain talent with the internal drive to become experts in their craft. As a leader here, this gives me the luxury of having a full roster of talented motivated individuals ready for whatever project we decide to take on.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
In an era of Slack (which we love) and emails (which we try to keep to a minimum), face-to-face communication is still the most effective tool for conveying information and moving projects forward. Because of this, all of our engineers are either based out of our head office in Toronto or operate directly from our clients’ offices.
The former of these solutions means we have engineers who can work together, learn from one another, and keep pushing each. The latter gives us an insight into the work culture and expertise of our client to give us a clearer indication of how to build a better product that is tailored to each client’s world. This approach led to us being named #7 best startup in Canada by Linkedin.
7. Working software is the primary measure of progress.
Because our teams are designed to always think in terms of what we can build, product impact is always our key metric for success. Once we have assembled a multidisciplinary team for a delivery project, we arrange that the team participates in a weekly demo to the rest.
With so many product experts housed under the Connected umbrella, these demos often turn into an ideation and risk mitigation workshop where the next features, previous bugs, and overall experience of the product are debated. For the client this means that their Connected team of less than 10, swells to over 150 trained innovators.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
For me, building teams has always meant respecting people’s lives beyond their work. Understanding that your people aren’t just a resource, but individuals with commitments, responsibilities, and dreams of their own. As a result, when we staff a project we do so in a way that should be able to be delivered excellently and on time if the team works at a steady and sustainable pace from 9-5.
Of course projects may require longer hours from time to time or product builders might find themselves working longer hours to deliver an even higher quality than expected, but burnout is an important factor to defend against. The best agile teams aren’t frantic and stressed, they’re assured, focused, and working on the most valuable priorities—it’s our key team goal at Connected.
9. Continuous attention to technical excellence and good design enhances agility.
When I’m building a team to embody the agile manifesto, I don’t ask them to sweat the small stuff. Good design and technical excellence comes from a fundamental understanding that the little details matter, so they’re thought of throughout rather than being stressed over at the end.
It might seem like a simple semantic difference, but our engineers’ and designers’ constant focus on good design means that we can better adapt to new changes and emerging requirements. Much like our adherence to the rule of sustainable development, our focus on excellence is instilled from the off.
10. Simplicity—the art of maximizing the amount of work not done—is essential.
Agile teams need to design and build for the reality their products will live in. Our world is increasingly complex and busy, so products need to be simple to use and not add a cognitive load. I personally believe that how products are built directly correlates with how they turn out. In layman’s terms, if a product team can focus on identifying and building the most impactful parts of the product first with clear, simple steps and success criteria, the experience of the product will be clear and simple as well.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
Our cross-functional teams alleviate the workload on the individual members of the team. The teams huddle every morning to self-organize and decide the next tasks that each person will take on. It means the team members plan everyday, align on their individual and team work, and keep each other accountable for their commitments. At Connected, teams need minimal structuring because each team member understands the importance and expectations of the role they occupy and the impact they want to make.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
I’ve already outlined a number of ways we structure our work environment to allow people to learn from other team members and the wider Connected community; however, the learning mentality of our people means that we always look for ways to innovate during a project. To make this more effective, we built a Project Team Assessment Tool to gain live feedback and gauge both real-world success and the perception of success.
Building teams around the Agile Manifesto gives engineers a clear vision for achieving success. But for me, as a leader and team builder, the principles give me a criteria to assess my teams’ success. At Connected, our work thrives when we are free to take risks and be open with one another and our clients. Every project team is tasked with delivering something new and they have a hub of brains within our company to lean on to guide their thinking. It’s a formula we have seen time and time again deliver the most essential value we can offer: building better products that delight users and impact our clients’ bottom line.
Thu Dec 1
Global Day of Coderetreat Toronto 2022
Earlier this month, we hosted Global Day of Coderetreat (GDCR) at our Toronto office. After a three-year hiatus, we wanted to re-awaken some of the community enthusiasm when we hosted the event for the first time back in 2019. This year we planned for a larger event which turned out to be a really good thing as we nearly doubled our attendance. And in case you were wodering, this is how we did it.
Tue Nov 29
Art of Controlled Burn in Engineering Management
The idea of a Controlled Burn is simple; create a small fire that you fully control. The assumption is that were you to do nothing, a much larger disaster would occur. In agile, no team likes disruptions; rather, everyone prefers to work like well-oiled machines. This begs the question - can we apply a strategy that looks very similar to firefighters and utilizes controlled disruptions rather than waiting for a full-blown disaster to occur?