The Stack Overflow Podcast

Is Scrum making you a worse engineer?

Episode Summary

This week, we dive into the debate over Scrum methodology. Sure, it helps you finish your sprint faster. But is it leaving your engineers burnt out, and your product substandard?

Episode Notes

What began as a question on our Software Engineering Stack Exchange graduated into a blog post for further discussion. 

Paul points out that modern tooling has internalized so much of agile methodology that developers tend to work this way without having to explicitly create a culture or process around Scrum. 

And as Sara points out, if it turns out you're being driven to optimize for finished work over quality work, the problem may not be Scrum, but the pressures of your particular manager or company. 

Our lifeboat of the week goes to an old school Excel question with over half a million views. Thanks to Michelle for earning a badge while answering this query: How do I append the same text to every cell in a column in Excel?  

Episode Transcription

Ben Popper You are about to enter a zone of calm and contemplation on the art of programming. 

Paul Ford You're going to move the yellow card [Ben laughs] from one column to the next column.

[INTRO MUSIC]

BP Nothing's more important than a great customer experience, but sometimes services get disrupted. xMatters helps teams resolve issues fast before they impact customers. Learn why millions trust xMatters to keep their digital services up and running at xmatters.com/stack. 

PF Heeeeeyy Sara Chipps, Ben Popper.

Sara Chipps Heeey!

PF Are we doing the Stack Overflow podcast?

SC I think so!

BP I think we're doing it. I think it's happening. I've been listening to a bunch of other podcasts and a couple of them do this thing. Tell me if you think we should do this. At the beginning of every podcast, there's like a quick little thing that sort of says, like ''this is what this podcast is about.'' For example, like ''you're about to listen to a podcast about software engineering with two people who know what they're talking about and one guy who doesn't.'' Like, you know, ''get ready to talk code'' or whatever. Do you think that's nice because if you're listening for the first time, you sort of have this table setter and you know what you're getting into? Or you think that's annoying because you're always listening here the same thing every time?

SC Oh, I kinda liked that, but only if we did it in a way that doesn't make it sound like a meditation podcast. [Ben & Paul chuckle]

BP Yeah, no, we can make it. We can make it a little bit more ruckus than that. I mean, it usually, it's a nice, it has a little music in the background, so like that keeps the energy going. 

PF Now I just want to do meditation Stack podcast. Like just, just like, um, [Paul in a soft meditating voice] ''you're going to file a ticket, now let's go to Jira''

SC ''Visualize the ticket moving to complete.''

BP Wait, didn't Cassidy do this joke? It was like ASMR for developers. And you she just like read. 

PF Yeah. I mean, look, we're all, we're all ripping off Cassidy here. [Sara laughs]

BP Sorry, sorry, sorry. Sorry. I shouldn't have brought that up. Paul. There was an article you wanted to chat about? Tell me, tell me a little about it. 

01:57

PF Well, Ben, I'm so glad you asked. It's an article that happens to be on stackoverflow.blog. 

SC Oooooh!

BP Oh yeah. I love that! I love that blog.

PF [Paul laughs] I love a good dot blog URL. Look it, it asks the question in the headline. Does scrum ruin great engineers or are you doing it wrong? First of all, can anyone? And I actually mean this. Sincerely. Can anyone define scrum and what scrum means? 

BP Yeah, it's a, it's a starting position in rugby where all the people lock shoulders and then bang their heads together to try to get like a small football shaped object. Yeah. That's a scrum. 

SC That's a great analogy for what scrum really is. [Ben & Paul laugh]

BP Sara, what's a scrum?

PF So wait, wait, we actually have to tell people, we're talking about the agile development methodology, right? [yes!] There's a kind of agile called agile with Scrum, at which point, my mind becomes a blank. 

SC Yeaahh. That's the thing, you know, there's been a lot of years of so many people being very dogmatic about Scrum and Scrum as a way to approach agile. And I think what I've learned is that it's not a religion, it's not a formula, a version of it works for every team. And one good thing about strong teams is that they've figured out what parts work for them and what don't. [yeah] The whole goal here though, is repeatable estimatable and predictable work because that's a really, really hard thing.

BP So Scrum is like, you could do it ongoing. It's not time constraint. That's the difference.

SC Yeah. It's a way to approach a agile development [got it, got it] and with the goal, and I always say the goal of these things is to have predictable, estimatable and understandable work. And that is something that is very difficult in software development because estimation is impossible or near impossible. So working as a team to estimate as a team is also very hard and these principles make it a bit easier.

03:52

PF I also want to point out a lot of these and these are technologies. It's like a tech, it's a human technology about how to organize humans and how they communicate. And, but that is what agile is like it's a, if you follow these rules and you, you do this this way, you'll have better, more agile outcomes in your software development. A lot of the tools that we use every day have grown up around that approach. And I think in some ways they're starting to supersede it. And so like there aren't a lot of standups at work. There just aren't there are some there's some check-ins in the morning, but the formal processes seem to be drifting away from a lot of, you know, relatively progressive, fast moving engineering teams because the tools no longer get in the way. And so like by which, I mean, you don't need to talk all the time. You didn't need to talk every morning if you're ambiently accountable to each other with clear responsibilities and on Slack, right? Like you're not doing, you're not doing a meeting cause you're kind of always in a meeting now, whether that's good or bad, what it means is that with continuous integration and continuous delivery. Like people are just kind of always like they know what their task is, they're moving towards it when it's done, they ship it and they move to the next one. And the same is true of like the collaboration tools built into GitHub or in a more formal way. Like some of the Jira stuff like the enable the agile with Scrum approach, or there's a certain point where it's just kind of baked into the tools. And I think people just go like ''beh, I'm getting my stuff done''. And the managers go, ''it looks good to me!''

BP Right. Well, that's what's interesting about agile is that over the years it feels like it's become just sort of a shorthand for get the work done well and quickly. And then there's a million subs, you know, subspecies of agile, but it isn't necessarily like well-defined in terms of like how you work and how that would be different from how anybody would choose to work in a modern, you know, like, you know, software team with modern tools. 

PF Well, nobody's gonna, nobody's gonna pay a coach to come and be like, just use Slack a little more efficiently. [Ben laughs]

BP What are the going rates for an agile coach these days?

SC A lot. It's a very expensive thing to get.

05:53

BP But Paul, they start out here, what are the typical Scrum pitfalls? And it says, number one, stand ups are just for managers. And then unintended dynamics develop. 

SC Actually I don't, I don't disagree. Like, like Paul said, the tools has evolved. The standup tends to get in the way, and there are better ways to communicate. Like the goal of a standup is to communicate where we are as a team, what is in our way and anything that we need help with. And there are now enough tools that we can do that asynchronously, I think. Right. Uh, so I think stand up the it's a little controversial in the way that it's not super useful.

bP That's a vestige of an older era. 

PF You know, what's tricky is that it's very hard. I'm finding this more and more as a leader, it's hard to find non-hierarchical conversation channels, right. And that's what a lot of this is about this, this article, it's like the, you know, it becomes the manager delegating instead of sort of things coming from the ground up towards a better product from the whole team, which was the point, right? It wasn't instead of like waterfall spilling out of somebody's brain, agile is about collaborative engineers working together and then things spill out of that world to like pair programming and so it's really focused on collaboration. I'm finding that there are fewer and fewer places where I can speak in a way that isn't hierarchical or isn't a command right. As my company grows. And so a good example is like, there is one place where I can always talk just kind of as myself. And that is, we have a channel in Slack called Caregivers. It's like, everyone is kind of an equal in parenting [yeah!] and, and everyone is welcome to the channel, you know, regardless. And if it's, if people want to kind of just watch our kids, but they don't have kids themselves, that's also fine. Like, it's just, that is a nice neutral zone, but otherwise, you know, your, your words have a lot of impact. And that's again, like one of the nice things about the Slack is a little bit, it's pretty good at making things less hierarchical. The, um, and also like just code commits, like the GitHub process. Like once that poll request shows up, you know, depending on your structure, anybody could come in and do the ''looks good to me.'' And a lot of times the testing is doing the integration and so on. And so it feels like more and more we're building these environments in which the quality is evaluated almost automatically. And then if, as long as there are shared goals, the manager is kind of just more of a peer. 

08:01

BP That's so interesting. Do you think, we've talked about this before, like do you think in part that's because people are more and more seeing the value of like the open source world and adopting some of those techniques for how people work in house?

SC I think that like the agile development being accepted across the board has created the similar needs in every organization, uh, that people are working to solve with tools.

PF I think also it's really simple. Like rather than even giving it a gloss of, you know, here are humans and opensource. I think that when you go into an environment and you say: ''actually we can do that in about three weeks.'' And the other people say: ''that will take us six months.'' The three weeks people, first, there's a period where they're like, no, no, no, no, three weeks. You could never, you can never do it. Never do it. I'm not even going to bother with you. And then you see the people down the hall or the competitor across the street, do it in three weeks and you like, Oh, okay. I guess I'm trying a new, new approach. Right. I really do. It's just like it's it's marketplace dynamics drive these more, faster and responsive things. And if something can get better quality code out faster, it really it just turns out to be a lot harder than getting people to form a circle and talk to each other.

BP I want to ask a question of both of you. I don't know how we do it at Stack Overflow, cause I'm not that tightly involved in engineering or how you do it over at Postlight, but it says here this, the second issue with Scrum is that it prioritizes getting things done. And I remember Teresa talking about this when she was on the podcast with us Teresa Dietrich, which is that if you prioritize, for example, checking in a finished ticket and that's how you are giving people, you know, they're sort of like gold star, people might just start incentivizing done over, done well or done in a way that's like going to be useful to the whole team. What do you think about that, that complaint about Scrum?

SC I think that's why we have code reviews. I like, I think that yes, like Scrum does prioritize getting things done, but that's why there are several processes involved here and not just Scrum, right? Like there's both the checking in process and then there's the peer review process and the iteration on your code. So there's a few checkpoints to make sure that the best solutions are being built.

10:12

 

BP It seems like from reading this one that like Paul was saying, there might be market pressures because it's prioritizing done, productive individuals that don't work as a team, complicated tasks get deprioritize, features of a robust code. It seems like the argument against scrum in this case might have to do with you're working in an environment where you're being forced to push things, to complete things in an accelerated timeline, maybe to compete with other companies. And you don't feel like you're getting the best work done or creating the best dynamics as a team.

SC Yeah. It sounds like this person, the environment this person is in is interpreting Scrum in a way that is maybe hazardous to their team or not great. I think there's a lot of different ways to approach it. Though as a manager, my motto is why do your work alone when you could do it with friends and schedule meetings? So don't listen to me. [Ben laughs]

BP Right. But don't do your code reviews together. Cause then you'll fail. You have to do your code review alone.

PF I mean, I'll say, you know, it's so social, right? Like, cause the real goal of a code review to me, isn't isn't to catch like, Oh wow, you've chosen the wrong algorithm. Sometimes that happens, but it's how will this fit into the larger system so that we can build on that, right? Like how, how does this fit into the culture we're building around the technologies and tools we're creating, as opposed to I found your bug. Both are very important, but actually finding the bug is only a tiny part of it. And so you need people who are really connected to that, that aspect. And I mean a good example, like if you do that right, you get to build the Apple SDK and have iOS like, if you really think like what kind of ecosystem are we participating in? And what is the, what's the work we're doing? And you own that collectively. And the reality is like there can be senior architects and product management and so on, that is true community that doesn't happen from one individual that is only in conversation.

11:58

[MUSIC]

BP Alright y'all, it's that time of the episode, I'm going to read us out a lifeboat and then we're going to say our goodbyes. This is a really interesting lifeboat. It was asked 10 years ago. So way back at the beginning. A pen same text to every cell in a column in Excel, it's been viewed 651,000 times. And there's an accepted answer that has 204 upvotes, but then it's got multiple other answers. Cause I guess there's lots of ways you could do this. So shout out to Melissa for getting a lifeboat badge and giving her version of this answer. This was asked 10 years ago by Kiershaw. And now there are, uh, quite a number of different ways to solve this problem. So it's kind of interesting. I, you don't see that very often where the lifeboat is going to the, to the answer that's not at the top. But this question I guess, is relevant to a lot of people and been relevant for a full decade. 

PF Wow. Obama was president. Oooof.

SC There weren't any pandemics. 

BP Wait a decade ago?! It, Oh yeah, that was a decade ago. I was gonna say Bush was president, but man, that was awhile ago. 

PF No, no, no. Oh, that's a great lifeboat, it brought us back. What was the big setting? 10 years ago. So the big song of 2010?

SC What was a big song of 2010?

PF Tik Tok by Kesha. 

BP Oh yeah.

SC Oh wow! Oh wow! That was 10 years ago?

PF Uh huh. And then it gets worse. No, I know Tik Tok is good.

BP Ah man.

PF But then, but then I have bad news. Hey Soul Sister by Train. 

SC Wooow. 

BP These were the days. Nelly was still around. Katie Perry was cracking off. Wow.

PF And one person got on and asked a little question about Excel on Stack Overflow and look at us now.

SC So nice!

PF Look at us now. [Ben laughs]

BP Alright y'all I gotta run to another meeting. So let's say our goodbyes. I am Ben Popper, director of content here at Stack Overflow. You can find me on Twitter @BenPopper and uh, yeah, if you want to share your thoughts on Scrum, head on over the blog and leave some comments on that piece. 

SC And I'm Sara Chipps, director of community here at Stack Overflow. And you can find me at @SaraJo on GitHub.

13:56

PF I'm Paul Ford, Stack friend. And you can find me at @ftrain on Twitter. 

Alright, everybody. Thanks for chatting.

[OUTRO MUSIC]