José Mota

Product & Coaching

What does an agile product developer do?

Published on .

Tagged under agile.

Around 4 min read.

A successful agile team is high performant and grows beyond their college degrees and experience. Time and time again I have observed technology professionals in so-called agile teams of different backgrounds, ages and education, utterly failing to realize that it’s not enough to be a good software developer or a meticulous tester. There’s so much more to what we learn in college or in a specific training course. I think that’s part of the reason why I see so many organizations failing to adopt agile practices: people themselves must accept and be willing to grow outside of their comfort zone.

The basic premise of product development

Let’s clarify first what a developer is: he/she is not a programmer or software engineer. Rather, they are a person within a team that actively performs work to deliver a working product, regardless of the background or function they carry. As a developer, you are part of a cross-functional team that gathers all the skills required to deliver working product.

There’s no direct prescription as to whether you have multiple people with all the skills simultaneously, nor individual people that each have their own specialty and cooperate in a way that reaches the same goal. As long as there is a shared set of values and basic rules and working agreements, a team exists.

If you take these remarks carefully, you’ll find yourself asking some questions. For instance:

  • What work is it that the developer does regardless of their function?
  • What is a working product?
  • When and how should team values be defined?
  • How do these definitions impact the way each developer thinks, says and does individually?
  • What is the impact in the way a team thinks, says and does as a group?

A complex product requires impactful (team)work

Work is the collection of activities required to deliver working product. Different kinds of work require different skills to perform different activities. But what activities are these? Are they writing code? Tests? Visual prototypes?

In short, the team must perform everything the product requires to be successful in delivering a working product. What some people fail to realize is that the scope of activity greatly exceeds their initial expectations, reduced misleadingly by their job title. Software engineers might think that their only job is to write code; not even test code. Designers might think that their only job is to draw screens and serve them to engineers. This is an illusion and could not be further from the truth, as it drives individuals, teams and organizations away from growth. Instead, it treats people not as humans that feel, think and make decisions, but rather as cogs of a machine that do only one thing and can be replaced at anytime.

An agile product is emergent. It clearly expects volatility, flexibility and an incredible ground for constant learning and growth. Any team in an agile setting is expected to conform to that fluid setting and adjust their behaviors and attitudes regularly. Pushing tickets from “in progress” to “done” is not enough. Reducing the perimeter of work to picking up tickets is downright demeaning to people’s true potential, and yet this notion persists, by choice.

The impact of this approach can be overwhelming if not embraced properly. Because of the apparent choice of summarizing themselves to their job title, people’s own judgement becomes conditioned and almost unwilling to be human and to adapt to an ever so volatile world. If a person only “performs” work, what happens to thinking, communicating, and growing?

High demand for other skills

Fresh out of college, young people seek opportunities to join the workforce and show what they’re made of. My argument is that the ones I’ve encountered over the years have little to no idea that their hard skills are only half of what is expected of them.

I realize with surprising disappointment that there is little to no investment in the skills that are not technical: customer relationships, teamwork, reporting, public speaking, leadership, decision making, conflict, emotional intelligence, feedback, planning… the list goes on, and yet a very little amount of institutions invest in our young adults in these skills.

The more time a person does not willingly grow these essential abilities, the higher risk they become to the teams and organizations they belong to. The so-called “ninjas” are nothing but specialists that can do a job more efficiently than others, albeit at the cost of lack of empathy, openness and respect for others. I argue that there is no place for ninjas in agile teams because they simply cannot see the world through the eyes of others. I would much rather have 3 average collaborators that are resilient, open to ideas and willing to grow than a superstar who will refuse to cooperate with anyone and jeopardize the goals of my team.

Dare to be whole

Once you realize the serious need to grow other skills than the ones you trained for, you’ll realize how much potential you now have to perform impactful work. Not only will you be able to communicate and cooperate with others, you’ll also be more creative when solving problems, deal with conflict in a positive way, negotiate with your product owner, make decisions with confidence, take better risks, learn from your mistakes, mentor and inspire others, etc. All this is work you perform.

So what is work then?

  • Work is everything you think that could increase product value, yourself or with the team. Brainstorming, ideas, improvements, learning, planning, refining, observation.
  • Work is everything you say that engages with the team, your stakeholders and your customers. Decisions, presentations, retrospectives, conversations, feedback.
  • Work is everything you do that delivers value to the product, by yourself and with the team. Helping others, documentation, pair programming, automation, code, infrastructure, drawings, test cases, analysis.
  • Work is everything you feel that affects your relationship with others. Self-awareness, self-regulation, empathy, ethics, conduct, values, attitudes and behaviors.

The moment you tap into your whole potential and set yourself up for true holistic growth is when you’ll start to notice a difference. Not just as a programmer or a tester or a copywriter, but as a whole person. You’ll become an agile developer.