I recently gave a talk about a somewhat non-traditional approach to using Agile boards in JIRA. This was recorded 2015-09-15 at our offices in St. Louis.
We have transcribed the talk about to text, provided below.
Michael: Well, my name is Michael McNeil, I'm one of the instructors for the JIRA classes that we offer at Oasis Digital. I was going to talk today about some of our creative uses of agile boards in JIRA. Well, let me start back with “what is an agile board?”. An agile board is a feature within JIRA. It was originally called GreenHopper as a plugin. Now it is known as JIRA Agile. And it is a function of visualising the work within the team. A lot of it is built around software development: managing sprints and managing deadlines, and the workload of individuals, and the throughput and the velocity of a team. But the industry, and many companies, have found creative uses for specifically the agile board in general.
Agile boards are driven by filters. And anybody that works with JIRA knows that if something can be divided up, it can be divided up with a filter. There is a lot of complexity that can be included in filters, and if you understand JQL, there is little that you cannot do with this large bucket of issues, which is JIRA. You can kind of parse it up any way you want. And that leads to some creative uses that can span departments, even span divisions within companies. And we have seen that.
So I'm going to give one use example here that relates directly to our business, and that is our training classes.
So at Oasis Digital we offer many types of training classes, and those can be divided up by subject matter, whether it be programming technology, a workshop across a whole number of topics, or specifically project management JIRA training. And these also come in two flavors. Each one a public and a private class. So there are a lot of different variations here, and we use this to make the process as simple as possible.
We don't have sales staff at Oasis Digital, we don't have a lot of administrative staff, so we need this to be efficient. We need this to be quick. We need to be effective at moving a large number of leads that come into the organization and interest in classes all the way through to booked classes and sold seats.
So we do that using the agile board, using a feature that is often under-used in JIRA, of custom Issue Types. So each of our classes, and each type of class, will each have its own Issue Type. Those Issue Types can be routed through individual workflows, they can have their own set of fields associated with them, and then they are all brought together on this board that you see behind me on the screen.
So I want to start with an individual card. And on the card, we have the Issue Type in the upper left. We have the issue ID. We also have the summary of the item, and then we also have some specific fields that are very helpful to us. One is "has this been invoiced?" if a customer wants the class. And “how many instructors are required?”. So that you can see that some of the cards have a “yes”, some of them have a “no”. Some of them are one, two, or sometimes three instructor classes, so it is a quick visualization of an individual class on a per card basis. We also have a ‘p’, which denotes a public class. And these are individuals. And so individuals can inquire, and they might be buying a single seat, or they might be buying a seat for a small group and a public class. You might have two or three students that come along that way.
So across this board, you see a number of examples of large scheduled classes, public and private. And we also have individuals here.
Now one of the key dividers, a process of taking an inquiry all the way to a booked class, is a process that happens over time. So we've set up our columns on this board to represent what happens across time. And the further to the right you are the more mature you are, until you are actually in the booked and scheduled column on the right. Once the class is completed, it gets booted off the board. And then we can focus on what is in front of us and what we still have coming up.
So the first column is where new inquiries come in, and we have built an Angular app that was discussed in a previous talk, that automatically populates these fields based on an inquiry form on our sites. That comes in here and so when you look at the first column, you know that that’s a new inquiry and nothing has happened with that, to date. Immediately we will make contact with the company or the individual.
Then it gets moved to the second column, which is the prospect column. And from there, once somebody has engaged in a discussion about booking a class or buying a ticket, it gets moved into the negotiation phase. Then we are talking about dates, instructor availability, the exact curriculum in the class. We are talking about the actual price of the class and the coordinating, and details.
Once that has occurred, then it moves into the deposit payment phase. A class is not booked until there's a deposit on hand so that we can book travel and have the instructor schedules be set. And then once that actually occurs, it moves into the hard scheduled column.
So looking at this, you will also see some colors associated with these cards. These are important colors for our instructor specifically, because if they can see that if a card is red, that means dates have simply been offered. We've offered some dates. They could then go into the item, and they could see that in this case, we have offered November 2nd as the date for this class.
If the card is yellow, that means that class is being held for the company, and it is a very likely class to occur, and they have specifically said, "We want this date. We want to get through the paperwork process. We want to get you signed up as a vendor. We want to get all the students arranged, and get the room arranged for us to have a class," And so you can look at that item, and the instructors can see that there is a date that is being held, in this case, December 10th.
And once a class is green, that means the date is booked. The instructor can look at the class, and they can see they might be assigned to the class, which I'll talk about in a minute, and in this case, the date is booked for December 16th of this year.
So there is a lot of information all on the same page; an instructor can see the Issue Type, all the classes that are out there, the dates and times, and there is a lot of information flowing. It is very important that they be able to bring this down. Is there a question?
Ppp: Is this real customer data?
Michael: No. All this is made up. There are a couple of names that are similar to real names of people that we know, but other than that, it's just gobbledygook.
But when people pull up this board, people want to see stuff that is relevant to them. So there is a feature within agile boards that you can use, and that is quick filters. And you can see across the top, I have seven or eight quick filters on this project, so if I'm an instructor, and I pull up this board, I can click "My classes," and immediately it just filters it down to my classes.
Close this notification. If I unclick that, say I just want to see what overall load of classes is and I want to filter out all of the individual public students, I can just click classes. And that immediately simplifies the board. Say I want to see classes, but I want to see only the public classes, the ones where people can sign up. So say I'm on the phone with somebody, and they are asking about the various classes available, I can filter down immediately to just public training and just classes, and see that list.
If I clear these out, and say I just want to know how many individuals are currently inquiring about individual seats and classes, I can do that. I can filter by our major two categories of larger classes, JIRA and Angular, and I can also — just for information — I can click and see anything that hasn't been updated in awhile. So I can see anybody that has maybe fallen through the cracks and needs to be contacted, that was maybe looking at working on budget within their organization, etc.
So there is a lot of flexibility here, and there is a lot of customization that is possible. We've set this up to where all of our instructors are able to log in, see this board. They can see the detail on a particular class. There are a lot of fields related to the location, in many cases, the address and some other very important information for their benefit. They can also then see the complete dialogue that has occurred between us and the client as we work towards booking that class.
So there are other creative uses for these boards. This is just a single one that we used in our organization. I've seen in some of the consulting work that I've done — I've seen boards that track the fuel deliveries for power plants. I've seen boards that are focused around the hiring process, one specific one that was just focused on the background checking of new employees. Others that are project management focus, that are tracking larger scale projects within an organization that span departments, might even span multiple JIRA projects., And they are pulling in information and compiling them on a board that makes sense to them and helps them understand their load and their resource availability, etc.
I've also seen just a simplified, feature-based board, where you have a very important feature needed for a specific delivery on a project, and so you have all the things needed to make that feature happen on a board. And that is specifically used by a specific group that is charged with a specific project over a short period of time, and they hammer through it.
I've also seen it used to break up individuals’ work loads, to understand what type of work is sitting out there. We've seen a lot of this functionality start to move into JIRA Portfolio, which is a newer product that has come into the ecosystem, but there is still a lot of flexibility that can be done. And we always try to push for doing as much as you can with the base JIRA project product before you expand into the use of other plugins, etc.
So any questions from the peanut gallery?
Ppp: I'm really old school. I like to live by my RSS reader. Can I generate a feed of events coming out of JIRA? I see a lot of email, and most of the time, I'm wishing: Gosh, I'd love to see that over in the reader somewhere so that I could manage it in a separate kind of queue. Does JIRA offer the ability to do something like that?
Michael: There are ways to generate a feed. There are a couple ways to do it. The most common one is to just take and manage that e-mail feed that is coming out of the system in a way that shows up the way you want it to. There are some plugins, I believe, that support RSS, but it has been awhile since I have messed with it.
Ppp: Yeah. I think I'm one of the last three RSS readers in the world.
Michael: I think I stopped about four years ago.
Ppp: Is this what we used to call kanban board?
Michael: Yes. It is a kanban board. I should have specifically identified that up front. I intended to. There are also scrum boards. I imagine they will come up with a scrumban board here eventually too. So any other questions? Alright. Well, thank you.