Software Craftsmanship And Practice: Mike Hall Interviews Tim Ottinger

UGtastic Archive
Full Transcript Available
Jump to a moment
🚀 Discover the journey of Tim Ottinger from Agile website to flash cards, the role of inner critics in coding, and the importance of leadership in Agile teams. 🧠💻 #Agile #SoftwareCraftsmanship #Leadership #InnerCritics #TimOttinger
The Interviewer

Mike Hall

Interviewer, UGtastic

The Guest

Tim Ottinger

software craftsmanship and practice

The Conversation


Mike Hall Interviewer, UGtastic
Hi I'm Mike with UGtastic. I'm sitting here, we're just outside of Software Craftsmanship in McHenry County. I interrupted Tim Ottinger to come out and do a quick interview. Tim has written the Agile and a Flash cards, or he co-authored the Agile and a Flash cards that Agile teams can use to make sure that they're on the path of Agile enlightenment. Also he contributed to the Clean Coder book, which all of us are familiar with. Thank you much for sitting down with me. The first question I want to lead off with is you wrote this list of all these core concepts to Agile. It's a pretty thick stack. Was there anything that when you started off with kind of maybe changed as you were maybe something in time realized wasn't quite the way it was?
Tim Ottinger software craftsmanship and practice
Because that's the thing with Agile is you learn.
Mike Hall Interviewer, UGtastic
Right.
Tim Ottinger software craftsmanship and practice
Not so much, actually we actually had a we incubated for about a year and a half Jeff Langer and I did on the website and then when it actually came time to build a book we really just thought we're going to take articles off of the website and turn them into cards but we really couldn't do that because we realized that we were addressing too techy of an audience so we ended up breaking it down to you know four sections and talk about you know the project leaders and the managers and the planners and they get everybody in there I think the cards have actually stood up pretty well our problem was that we limited it to 52 okay you have to do it a few times in a year if you're gonna go through it yeah that's right you can do one a week and some teams have but now there's just so much more that I wish I could put in there there's so much that's behind those you know it's a very lossy compression right when you take you know whatever's in your life these are making diesel axioms now that's a four by six card so the chapter two from clean code actually is condensed to I think like a four or five point card somewhere in the back of the deck yeah so you could have saved a lot of money on the book and made it a pamphlet but so it sounded like it wasn't originally gonna be flash cards it sounded like he was gonna be a book originally well it's kind of kind of a weird origin so I was working for object mentor this is several years ago in Des Moines at geo learning and one of the gentlemen there I know he's a good programmer. His name is George. Hi, George. He was, he asked me, he had missed a morning session, and he asked me if I could catch him up.
Mike Hall Interviewer, UGtastic
Right.
Tim Ottinger software craftsmanship and practice
And so as an act of complete chutzpah, I said, meet me in the training room with three index cards and a Sharpie, and we'll catch you up.
Mike Hall Interviewer, UGtastic
Okay.
Tim Ottinger software craftsmanship and practice
I had no idea how I was going to do it. But we wandered in, and I know George is smart. I know he knows what he's doing. He just hadn't done TDD. So I wrote down Bob Martin's three rules, and I did the red-green refactor, and I did the first properties. And he understood well enough that in the next session he could join with the group and contribute equally. And I realized people are way smarter than we think, and we teach things over four hours. It could have been 15 minutes, and then practice. And especially with experienced people, they might not have maybe followed specific rules, but so much of this is a distillation of practices that are already out there. And when you kind of people are, and you can point to say, oh, it's this thing. People might be like, oh, okay, I can relate that to X, Y, and Z that I did over the last five years. Just give me the cheat sheet.
Mike Hall Interviewer, UGtastic
Yeah.
Tim Ottinger software craftsmanship and practice
So then Jeff and I thought we would write a book, and it would be a companion deck to the book.
Mike Hall Interviewer, UGtastic
Okay.
Tim Ottinger software craftsmanship and practice
But nobody understood that. Until we got to Pragmatic Programmers, and they said, oh, yeah, that's a good idea. You know, we don't think we're interested in the book. Oh, we just want the cards. We just want the deck.
Mike Hall Interviewer, UGtastic
Yeah.
Tim Ottinger software craftsmanship and practice
So we spent a chunk of a year working on the deck. So there isn't anything that's really wrong in there, but I think nothing could go far enough and nothing could go deep enough to really get to the important stuff. So since then, I've been boning up more like on Brain Science, David Rock and Carol Dweck and Csikszentmihalyi and Haidt and all these different guys. I really kind of wish that I could have earlier gone through and done all of this about how to coach and how to learn. And that could have been like a whole section. So not even just how to be an Agile team, but how to lead an Agile team. Yeah, and how to think about leading.
Mike Hall Interviewer, UGtastic
Okay.
Tim Ottinger software craftsmanship and practice
Yeah, that's, don't really think about thinking, think about leading too much. I mean, a lot of us are developers who are kind of like focused on just how I can contribute, but taking that step back. I mean, is that even like going to the next level of your career, Or is that something that even applies to people who are working on a team and aren't in a leadership position? I think that it applies to individuals. I think it was maybe Keith Ray or maybe Jeffries or maybe Rainsberger were talking about having an inner critic. That when they're practicing writing code, half of their brain is split and is critiquing and observing how they go about solving their code problems and how they're thinking through the problems. So they're actually kind of like two people, which that's hard to do. But by mindfully practicing your code part, you can suddenly realize better ways that you can step things out and things you didn't realize that you need to learn. It's kind of like, so ultimate small community, two pair programmers. One person, while they're typing, they're thinking very pragmatically and very detailed and very, you know.
Mike Hall Interviewer, UGtastic
How do I solve this problem?
Tim Ottinger software craftsmanship and practice
Yeah, they're just going to get that thing to happen. And then the other person who's watching them, yeah, they're watching for syntax errors or what have you.
Mike Hall Interviewer, UGtastic
But they're also thinking, is this the right direction? Is this a good answer? Where are we going? Does this make sense? Yeah, where are we going to end up by going this way?
Tim Ottinger software craftsmanship and practice
And I kind of want to do that inside my head. But I'm finding that there are just too many cognitive biases. You really can't entirely do it. But you can develop a sense of watching yourself work, which I think is important for everybody. Well, that's kind of like with Korean's katas and even Zed Shaw's learn programming the hard way. You do these things by rote, and you do rote enough that you stop thinking about the problem, and you start thinking about how you're approaching it.
Mike Hall Interviewer, UGtastic
My fingers, like doing guitar practice, can I get my fingers in that position?
Tim Ottinger software craftsmanship and practice
It's not, I could just do the same note 100 times, but I just want to get that position, and it's the same thing with the code. I don't want to solve this problem. I just want to solve a problem well.
Mike Hall Interviewer, UGtastic
Right.
Tim Ottinger software craftsmanship and practice
All right, so it's the shuhari pattern. We have a card for that. Oh, yeah, that's right. Yeah, it's one of the cards. One thing, though, I just want to tie this into user communities, though. You kind of described a pair as the ultimate small community because it's two people that have to collaborate and agree on a direction and share knowledge of that code in the problem. But in the more macro groups, the user groups and the conferences, you travel all over the world. Have you gotten a chance to go and experience other groups or other conferences and see a conference in Australia as it compares to a conference in Copenhagen? Not quite so much as that. Now, I did just get back from New Zealand, and I attended the Canterbury Software Summit. And you'll find it's a lot like our conferences here. You know, the scale is a little different. The South Island there, they're really now starting to become Agile, and they're really using, like, distributed governance and all kinds of crazy, you know, we would consider far out.
Mike Hall Interviewer, UGtastic
Right.
Tim Ottinger software craftsmanship and practice
But they're small, and they are very tight into their community, and they have their own consultants. So it's actually a very tight-knit group, and people know each other, and they're all in a similar experience of growing toward agility and growing into new technologies.
Mike Hall Interviewer, UGtastic
what what is distributed governance that's a that's kind of an interesting question there's a nice talk by Scott from ad scale instead of having a hierarchy of bosses your company is formed into rings of influence so maybe you're a programmer but also you have a knack or an interest in the work of maybe writing proposals and collecting new business so you may be sitting in both of those rings okay and so there's a ring that decides how to pay the bills and what the salaries are and there's a ring that the size are very separate right those guys over there handle economy those guys over there handle HR paperwork so it's actually being managed ruled and run by little communities and people are members of different communities and of course the task is a reason for the team so if you're into bill paying and money management you can be a part of that like little community within the company it's really amazing how well they're doing how open and transparent and how sharing they are with everything it's really a great place yeah now I don't see that so much here yeah yeah it's a little bit more hierarchical a little more rigid yeah well anyway I want to say thank you very much for taking the time to sit down