Principal Agile coach Allison Pollard was kind enough to take a break from her busy Keep Austin Agile schedule to discuss how to create an Agile tech practices craftsmanship culture, management’s role during a tech turnaround, and the developer secret handshake.
Watch the full video below…full transcript also included.
Why do you feel like Agile tech practices is a craft?
I feel like tech is a craft because we’re having to be disciplined in our approach and continuously apply the techniques we have been learning, and reflect on how they’re working for us and continue to refine. How are we getting better at writing code? How are we getting better at our interactions with one another? How are we getting better as human beings and the way that we’re approaching our work and trying to get more fulfillment from what we are doing.
Is there an ethical or a moral way to write code or develop your tech practice?
I have heard Uncle Bob talk about IT as a profession and how we’re really lacking some of the ethical approach. I definitely feel like as a professional we should be thinking about the outcomes of what we’re producing. Is this going to have a negative impact on society? Is this solely to drive more profit for companies? Let’s think about what we are really creating, and what kind of legacy we want to leave through the work that we are doing.
What is the one thing organizations can do right now to create a craftsmanship culture?
I think a lot of it starts by having the conversation–How are we approaching our work today? Do we take pride in what we are doing? Or do we come in and act like it’s a 9-5, just come in and do the same thing day-in and day-out? Or are we looking at how do we get better, how do we improve? How do we have a better work environment and create a better product for our customers?
So the myth about devs hiding out in a cave not seeing sunlight…
I think it is a myth, some might still want it to be true. Once you are in technology, you start to learn the handshake. It’s your tribe; it’s your people. Even the most introverted of us still like to get together to share war stories and connect. I think that’s why software ultimately has become more of a team activity and that we are all in it together.
What is the best way a manager can support their team through a tech turnaround?
I think listening to the team. Listening to the developers, what are the hardships in the code? What challenges are we having in our development environments? Finding a way to say yes. I know that’s really difficult because it typically means we are going to spend more time upfront, having to do more refactoring, or having to learn a new practice or new technique. It’s going to slow us down initially. [Learning] how can a manager provide the air cover to make it OK for that team to do the things that they need to do to make it right.
Do you think that Agile or particular frameworks within Agile help with that?
Scrum is the most popular Agile framework right now. It certainly provides the transparency between the team and the product owner. What is our definition of done, what is it that we are delivering, and we are trying to have that potentially releasable software every sprint. Then teams are starting to look at more at the extreme programing practices, or some of the modern Agile engineering practices, and figuring out how can we incorporate that into our Scrum framework. That’s where we are seeing that discipline come through.
Is there a modern practice you’re seeing right now that is becoming really effective or popular?
I keep hearing about mob programing and I have had teams dabble in it. It ended up being more of a podding exercise. It wasn’t pair programing. We would actually have two developers and a tester work together collaboratively and focusing on the same item. So smaller than the Scrum team, but larger than a pair.
What is your favorite Agile mantra and why?
I don’t know if it is Agile necessarily, but I have been thinking the last couple of weeks about how learning is the bottleneck in software development. I look at how many decisions we make based on, “we don’t have time to learn that right now” in these larger organizations. We don’t have time for the team to learn a different part of the code space, or a different part of the domain, or learn these additional practices. And I think it is really detrimental in the long term because people are very resourceful, they are very creative, highly innovative. We can learn if we have the drive and we see the purpose behind it, so let us go forth and focus on the best, most important, things.