 Hi, welcome to Visual Studio Toolbox. I'm Donovan Brown, your host, and today we're talking to Sandra about Combonboards. Welcome to the show. Thanks for having me. So what do you do here at Microsoft? Well, I'm the program manager on the Combon team in Visual Studio team services and team foundation server. Okay, so what is a Combonboard and why would a team want to use one? Okay, so we'll start with the word Combon, right? That was introduced by Toyota back when they were trying to gain efficiencies in their production of cars, and so basically what the Combon board today does is it's an electronic board for teams to visually manage their work as it goes through the process, whatever that may be. Okay, so, but it was use in manufacturing for vehicles, what are we doing with them in software? I think sometime after Toyota really made it popular, a lot of other industries started realizing that the processes and the bottlenecks and inefficiencies that other industries face could be applied to the same type of tool or process or something. So we're using this board to be able to visualize the flow of our work as it starts from inception to being completed, right? Right, exactly. So I'm a certified Scram Master Big Scrum fan, and I actually use Combonboards as part of managing my teams, and one of the things I liked about them the most was something called a whip limit, right? Which is like work in progress. Can you talk to us a little bit about what work in progress is and why we would use it? Sure, so a lot of Combon is about making sure that the cycle time is low, so the inception of that work item into the development phase and then getting to the actual delivery to the customer, right? And work in progress limits really help you because they essentially set a way for teams to focus on the items that are actively in development instead of picking up something new. So a team will set a work in progress limit for their Combonboard, and if that team goes over the limit as in they're picking up new work before finishing else, something else, the board would let you know and say, hey, why don't you go finish that item, get it to delivery before you pick up something else? Got it, yeah, I used to have some really clever Scrum teams who would take on all this work, and they would burn it all down to one hour, and then they would go grab something else and burn that down to one hour, and by the end of the sprint, it looked like... Eventually you would stay back. Yeah, it looked like we burned a lot of hours, but nothing actually got done, and a whip limit would have forced them to, before you go and grab that other task, finish the task that are in there right now, right? Our board is able to do that. Yeah, absolutely. So why don't you show us what our Combonboard can do? Okay, sure, we'll just jump into the demo right here. So the first thing I wanna point out is the board lives under the work hub here, and I'll just go straight into full screen mode, and the first thing you'll see is the new column, or actually I'm gonna rename this into my backlog since that's really what it is, and the backlog column is there for the product owner. The product owner can go ahead and reorder and reprioritize this, and the team, what the team's gonna do is focus really on the work that's actively being worked on, right? And what they'll do is pick up the next item off the top and drag it into development when they're ready. And so that's very much a pull model, which is different from other past models which have been very much pushed. And so as soon as you drag something into development, you'll notice something about the development column that's a little bit different. It's been split into two sub columns that are doing and done. And the nice thing about the doing and done columns are that when something is in the done column, it lets the other rest of the team know visually that hey, I can pick up that work item and take it into verification, right? So that's an indication that I can pull it forward into the next column. Does the stuff in the done side affect my whip limit? The stuff in the done side will affect your whip limit, and the way that team members know that something is done is by actually looking at the definition of done, right? And that's something that a team can agree to and set a standard for. And so you'll know that for this work item, the work item's moved into this column done because it has a pull request and it's met all the criteria on the depth checklist. Okay. And then I can move it into the verification column once it's done. Okay, so why are some of them different colors? The colors are part of the styling rules, right? And we have a pretty strong, powerful functionality here in the settings cog over here that allows you to add styles to these different cards. And you'll notice I have three of them available here today. The one that you were pointing at, I believe, was the red card on the board. And that's actually for a P1 bug, right? That means it's high priority and so I really wanna get to it quickly. And what I've basically done is named it P1 bugs, added a color that'll really jump at you, right? So red. And then set it so that the rule criteria is if this is a priority one bug, then make sure that it shows up as red, right? And it's available here. I see. And then why are there two different, like there seems like there's two different lanes across there. Yeah, absolutely. The two different rows are called swim lanes and swim lanes allow you to group work across the same process, but separate features or maybe even higher priority items, right? And so in this example, we have it set an expedited column, right? And the expedited column basically tells the team, hey guys, this is something important, it's a P1 bug, make sure we pick it up. I see, so there's a lot of cards on here, potentially they could get lost in the shuffle, but by having these other lanes allows me to pull the important ones up so that they're focused on by my team. Yeah, and I can actually quickly show you that. So when we go into the settings cog here, you'll see one for swim lanes and we have our existing swim lanes already. I'm actually gonna add a second one for Microsoft Teams. My team just recently did a integration with Teams as you might have heard. Awesome. So we'll just add a swim lane here and I'm actually gonna go ahead and also add a column. I wanna go ahead and add a ready column. So you're free to customize like almost all the different aspects of this board to fit your team's current needs. Absolutely, yep. You can add permissions here and set it to team administrators, but yeah, it's really meant for the team to empower the team. Gotcha. So I'm gonna go ahead and add that ready column. I added the Microsoft Teams swim lane. We'll save and close and you'll see the board has now added a lane and then that column. And the reason I added the ready column is so that now instead of having this giant backlog where the teams, team members have to say, okay, is this backlog item meant for the Microsoft Teams value stream or is it should it be expedited? I can start dragging items with the teams tag here and prioritizing it in the ready column so that teams, my team members down the line can pick it up as it's prioritized. So this is almost like a lane where this is the stuff we've committed to delivering and this is the whole backlog of everything we're ever going to deliver. Yeah, and it's committed to delivering by the value stream, right, or by the feature. Okay, great. So what else can you show us about the board? I noticed it looks like there's like some SignalR icon or something up there. So what happens if I'm remote and I'm using this board? Do I get to see these changes in real time? Yeah, yeah, absolutely. So the SignalR that, what is it? Radio tower icon is meant to let us know that live updates are on. Okay. And this is a fairly recent feature so our live updates are on and I can actually show you a side-by-side. Here is the Kanban board available in Microsoft Teams on the, what is it? Left or right hand side. And I'll pull this guy over, see, pull this guy over here and let's say I'm a remote member of the team, I'm attending stand-up via Skype, I can just go ahead and say, hey, you know, I picked up this card, I'm now doing it and you will see that card move over as well. Gotcha, and I see it actually automatically got assigned to you too because you're the person who took it over there. Yeah, exactly. I picked it up and I put it in active. Gotcha. Interesting. So what else, how else does this tie in? So we're talking about the Kanban board and we can see that it's integrated inside of Microsoft Teams, but because it's a part of Team Services, I assume it has linkages and traceability through other parts of it. Does it link to like branches or pull request or how does that start? Yeah, yeah, yeah, absolutely. So let me just go back full screen here and there's quite a few abilities actually. So you might have noticed that there's a couple of these like yellow breakdown components. So we'll go there first. I have the ability to add a child task and decompose my user story. It can be used as a really quick checklist. So maybe task one, task two. So that's one option, right? And then the next option is you can add a test or even create a new branch right off of the card that you're working on. Gotcha. Right. So here we've got some tests. So just one, test two, and you have the ability to then go ahead and run those tests. And this is linked to the test case hub in the test hub in VSTS. Got it. That's correct. Yeah, so being a DevOps guy, I'm kind of thinking what role this plays in a DevOps pipeline. And clearly this is up in the agile planning where we're actually deciding what it is we're gonna create. And then this is where we're defining the value that we wanna then flow through. So does this also integrate with our builds or a release in any way? Do I see these cards move automatically if a build is successful or a release deploys? Let me see, can I say it yet? I mean, we're in the process. We're working on some of that stuff. We're working on some of that stuff. It's definitely top of mind for us. So you'll see those things light up pretty soon, yeah. So where would someone go if they wanted to submit features for what they think your COM Bomb Board should be? Does that have any user voice? Yeah, absolutely. I'm definitely very active on user voice. And of course, if there's any issues or anything like that, they can reach out directly to me or there's the connect as well. Gotcha. So I'm just kind of curious, how does our COM Bomb Board stack up against other COM Bomb Boards out in the industry? I mean, how do we compare ourselves to some of our competition who I assume we're not the only one with COM Bomb Boards? How do we go about evaluating ours against others and how do you feel that we stack up against some of the other COM Bomb Boards? You know, I'm a little biased but I do think that the COM Bomb Board is one of our marquee experiences in Visual Studio Team Services. We've done several competes against, you know, the likes of Raleigh and even Jira to make sure that we're really, the feature parity is absolutely there. I think another thing that's nice is we've got a lot of customization and flexibility on our COM Bomb Boards, whereas others are very prescriptive. Okay. And so I think that's been like the highlight of the boards for sure. We're all about organizational alignment, absolutely, but then the teams have the autonomy to make sure that the board works for their process instead of just a standard for the entire project. So when you're looking at a COM Bomb Board, when I'm working with a lot of software development teams, there's so many different levels of the organization that are involved in turning an idea into a working piece of software. What level of your organization is using the COM Bomb Board? Is this something that your C-level exec is looking at? Is this something that your dev team is looking at? Like, who uses this? Is it actually able to be used by different areas of your organization? Yeah, you know, I think the COM Bomb Boards are the best for the teams themselves. If we take it up one step higher, we do have features and epics available as well if your organization is a little bit smaller in scale. So you can start creating COM Bomb Boards to manage your features and I'll actually flip over to that as well. So you'll see these are the user stories and bugs that the team is tracking, right? Then someone like myself or my manager, Aaron, I'm sure, you know, we might track features, right? And these are shippable increments that are really going out every three weeks for a sprint. So if I flip over to the Features Board, you'll see that I have a similar COM Bomb Board with different columns tracking the features that are then gonna go out to customers. And so, yeah, we do have the hierarchy available as well. All right, so these are the features who are the parents of the items we saw on the other board, gotcha. And I asked about things automatically moving. I'm just curious. So if I move all of the children user stories of a particular feature, does that feature then move across the board automatically or do I have to come over here and move it? No, however, there is an extension that we built through Microsoft DevLabs that does do that as far as like splitting. If once like an iteration is finished, you can go ahead and split the feature and move everything over to the next sprint. If it's not done or move everything to the done column. Right, so in our marketplace, we have tons of different extensions. And being a DevOps guy, I focus a lot on that inner part, right, the CI and the CD. And I know there's tons of extensions out there that I can install that enhance my build and enhance my release, but you're telling me that there's some of those extensions that also enhance our Kanban experience as well? Yes, absolutely, yeah. So there's actually an extension point available on the cards themselves. There's extension points available on the board. So one that I've seen that's pretty neat is the ability to print the cards and then have it on a physical board with QR codes, right, and you can actually gauge the movement across your electronic board as well as your physical board. So that's an interesting one. We also just released an open in Excel. And so you'll see that context menu item available there. So you can open a card in Excel. I know the main scenario for this really is to open a lot of results in a query and bulk edit them in Excel as well. Gotcha. So there's definitely like a variety of work related extensions available in the marketplace. Very, very cool. So tell me some other things about how, so you said like different organizations. At the story level, that's your developers. Maybe your PMs or your scrum masters or product owners, they might be using it here. But I also see that there's an Epic level as well. Does the hierarchy go to that level as well? Yeah, absolutely. So the Epics, and you'll see that breakdown too. So here you can tell that this Epic has one feature and that feature has been complete, right? Okay. And so these Epics generally last a lot longer. They're more longer lived artifacts, right? So they're not gonna have the same sort of constant flow as you might expect down at the user story level. But yeah, the more C level or the more strategic initiatives can be tracked at the Epic level. So I noticed that when I'm working on a really large application, there's multiple teams involved. And sometimes even multiple team backlogs that roll up. When you go down to the user story level, can each team have their own view of that combine board? Or is once you get to the user story level, everyone shares the same view of that combine board? Each team would have their own combine board. Yeah, yeah, yeah. And they could customize it independently of the other teams on the organization. Yeah, they can customize it independently of the other teams. And then the nice thing is just through the linking, we have this ability to filter. And so of course there's like your basic core filters like assigned to, you can do at me and find the things that are just assigned to yourself or you can filter by iteration or work item type. But the one that I really like is the parent work item, which allows you to filter by the feature that the user story is associated with. Gotcha. And so when you're doing a stand up, you could say like, hey, here's this feature that we really need to get out the door, like what's going on and you can drill down here. So maybe this feature, right? Or you can go down to migrate legacy code and you can see the work as it's going across just for that specific feature. Yeah, it kind of gets rid of all the noise and lets you focus on one particular item. I also see a search icon that looks like on the far right hand side. Yeah, that's just a really quick search. You can do quick searches and a filter of the board. You actually have one available in your backlog as well. Let's say you're the product owner, you're trying to prioritize something, you lost a card somewhere down in your backlog and you wanna get it back up there. So we have one there available as well too. Now, traditionally Kanban is associated with agile kind of methodologies. And inside of Team Services and TFS, we not only support agile and scrum, but also CMMI. Is that Kanban board also available for the CMMI template or is this only in? Yes, absolutely. It's available out of the box across all three templates and we're gonna support the workflows there as well. Awesome, so is there anything else that you wanna show us about this particular thing or have you touched on a lot of it? I think we've touched on quite a bit. I do wanna mention the tag colors are another thing that I've customized on this view. So blocked is not out of box red or anything like that. I've added that tag color and then teams is darker green and performance is a lighter green. The other thing I'd wanna mention is keyboard shortcuts. So if you just shift question mark, you have global keyboard shortcuts, but also shortcuts for the Kanban board. And that's really great because you can imagine like setting focus onto a single card and being able to move it up and down your board without really touching it around. Perfect, so I see the fractions up here and these are the actual whip limits for these particular columns. Are those soft or hard? What I mean by that is if I'm over my whip limit and I try to drag something, can it like bounce back to let me know that I'm over or does it let me go over my whip limit? No, we won't bounce you back, but we will give you- I might have to write that extension myself. Yeah, maybe. We will give you a nice little red indicator, right? So let's say I drop it into development, you've gone over your whip limit. So not only does the column title turn red, but you'll also see that you're a six out of five now and that you've been read. Gotcha, gotcha, gotcha. Well, this has been an amazing tour of our Kanban board. So I wanna thank you so much for coming. I'm glad. Thank you so much for having me. Oh, no, my pleasure. So thanks for joining us here on Visual Studio Toolbox. We'll see you next time. Thanks. Thanks.