Tom de Marco coined the term ‘Jelled Teams’ to define those teams that just feel good. Members are energized and motivated. They work hard and in a very disciplined way. They collaborate effectively, ending each day tired, but happy for what has been accomplished. Have you ever developed software being part of such teams? Would there be anything more enjoyable?
What makes these teams great? What are their values? As leaders in our organization, what can we do to create them? I will describe our recipe using Alistair Cockburn’s Heart of Agile’s format. In this case, as I am focusing on the collaborate section of his, I am calling it ‘The Heart of Agile Teams at 10Pines’.
I believe great teams are born out of their people, the heart, who work in a great environment, with a clear vision, self-organized and well communicated. The heart, made with these ingredients, looks like this:
People: at the heart, there are people. There cannot be great teams without motivated and capable developers.
Great environment: these people need an innovative environment they can thrive within, feeling safe and energized.
Vision: teams focus on what needs to be accomplished. Having a shared vision enables our teams to be aligned and collaborate better.
Self-organization: starting from this shared vision, we organize ourselves to devise a plan and work together fulfilling it. Empowerment works best, both for the products we create and ourselves, as it is the best intrinsic motivator.
Communication: last but not least, we need to communicate efficiently. Our Methodology maximizes the bandwidth working in an open-space, shortening feedback cycles and using all available digital tools.
Early on, while thinking about our heart, I had an epiphany: I realized that our teams work just like 10Pines. There is no friction between the company itself and each of the teams that self-organize to work on projects. They share the same values, do the same things and organize the same way.
So let’s talk about each of these ‘ingredients’ and what we do to enable and enforce each of them.
At the heart, there are people. Teams, like companies, are their people. It wouldn’t be possible to develop software with unmotivated people you couldn't rely on. Therefore, we put great effort into the hiring process. For example, we don’t search for experienced Java developers for an important project. This would be too ephemeral. Instead, we search for developers that are interested in developing their professional careers at 10Pines.
Based on these objectives, we have designed our own hiring process. We want to see how they code, how they solve a problem, the process they use (we prefer Test Driven Development), the abstractions they choose, and the way they test their code. We don’t pay attention to programming language details, but we are very thorough in discussing the way they design and test it. Getting to know the human side is both really important and really difficult in such a short period of time. For that, we maximize the time face to face with the candidate, having a group interview where everyone participates. We think it’s important to get to know someone you’ll be spending so many hours with!
After candidates become a pine, as we call ourselves, we need to set a path for their growth. This is crucial for us, knowledgeable workers that care about self-fulfillment as much as for 10Pines which needs competent crafters that stay for the long haul. Would it be possible to do this if there was no way to grow inside 10Pines? We have put great effort to create our own career path, which we call the ‘pine’s path’, and that takes us from being padawans to knights and then masters, after several years of programming practice. Our path has something peculiar compared to other companies I’ve been part of in the past: We are a self-managed company. Our participation and responsibilities impact directly on our career paths.
I believe the better we feel the better we work. And we feel good when there is a great environment, when we trust the company we work in, when we feel safe and we have the freedom to do our work the best way we can.
How can we achieve such an environment? What do we, leaders, need to do to accomplish this? When 10Pines was starting, we did a group activity that had the objective of answering the following question: what does your perfect job need to have? We came to the conclusion that we value the human aspect (the way we treat each other), empowerment (being able to participate), having interesting and challenging projects where we learn and grow professionally, getting paid accordingly and, last but not least, work comfortably.
These core values drive the way we work, our day to day decisions. We have a horizontal structure where we are empowered. We have open numbers. We do company standups weekly, and we use that space to give kudos. We choose the most interesting projects where we can get paid fairly. And we take care of our well-being, having a great office space with everything we need to feel comfortable.
Each year, in our yearly strategic retirement, we measure how we are doing for each of these attribute using the radar retrospective. An activity which has continuously risen a lot of honest and valuable discussions.
People empowered, working in a great environment and having a shared vision is what gives rise to collective intelligence. We all need to understand the goals because this allows us to take better decisions.
For each new development project, we start with a phase that we call Product Discovery where all team members participate. This stage is where we build a shared vision for the project, we get aligned and set up a basis of collaboration.
At 10Pines, we share a vision built and reviewed by every pine each year in our yearly strategic retirement. There, we imagine the company’s future and ourselves in it. A place and time to talk and dream.
We manage the company and therefore we have lots of things to decide, organize and work on. We self-organize teams for all new projects and we self-organize within each team as well. The synergy reached by self-organized teams leads to better results and makes us feel better. It intrinsically motivates and energizes us. It contributes to the creation of a great environment. This is what Mary tells us in ‘Empower the Team’, Jim in ‘Team versus Tasks’ and Jurgen with the ‘Darkness Principle’.
Teams at 10Pines are very disciplined. They are rigorous in their technical practices because every member enforces them. There is also strong leadership which is not given by a position, but for the knowledge and experience.
“Few of us are in the high tech business. Most of us are in the human communications business.” said Tom De Marco. I agree with him. The better teams communicate, the better they will work. Each team is different, so each of them needs to have its own communication strategy that broadens the bandwidth and makes it as efficient as possible.
At 10Pines, we work closely with business members. We use an iterative and incremental process that shortens feedback cycles. We work in open spaces to improve osmotic communication and we use all available tools (google, hangouts, slack).
We understand the importance of communication and therefore we actively work to make it as effective as possible.
Great teams start by their people, energized and empowered to give their best. In order to achieve an environment that provides security and encourages collaboration. It also has to be an innovative place where people can grow professionally. Teams need to have a shared vision to promote empathy and to activate collective intelligence, with self organized members who work towards this vision. The synergy achieved as an outcome of the combination of multiple talents ensures the best results and motivates every member intrinsically. Additionally, teams need a process that shortens feedback cycles and broadens communication bandwidth.
10Pines is a great team, with its people empowered and motivated at the heart, a great environment that all of us together co-create day by day, with a shared vision and a communication strategy that maximizes it.
* If you speak spanish, I invite you to read the full version of the chapter in the book here.