Fog Creek

Getting Started with FogBugz – Webinar


This video covers creating users, projects, cases and sub-cases as well as searching for cases and filtering cases, the activity feed, notifications and finally, creating areas and milestones.


Hi, everyone. This is Will Everett. I want to thank you for taking some time to learn a little bit about FogBugz.

FogBugz is a project management and helpdesk tool designed to ensure that all tasks related to your software project are completed and that nothing is left undone. I think the best way to learn about FogBugz is by setting up a sample project so that you can get an idea of how you can use it.

In the course of setting up the sample project that I mentioned, we are going to go over creating new users, creating a new project, creating cases and sub-cases. We are going to go through the life cycle of a case including case notifications. I’ll show you how to search and filter for cases and how to save those searches so you can reuse them. We’ll go over project areas, project milestones, and we should have some time at the end to go over some questions.

In trying to come up with an idea for a project, I thought what we need is an app to make car sharing easy. You don’t use your car all the time, so why not let someone pay you for the privilege of borrowing your car. Today, we are going to go over setting up a FogBugz project for a car sharing app, Whysk, and we’re also going to call this new FogBugz project Whysk. All right, I’m going to go ahead and get started.

Before I can get started on my project, I wanted to add a team member to use FogBugz. We can add as many team members as we need to a project or as few, just depends on what your needs are. These team members are going to help me with FogBugz called Whysk. I’m going to add a new user. I’m going to go up here, we see this little gear icon, I’ll go to users. I already have one person on my team, but I’m going to add another one. Her name is Margie Fox and she’s going to be on this project. I also need to add her to the FogBugz account just because she’s going to probably be helping with other projects as well.

It says, yep that’s her. She’s a new user that I have. Now what I want to do is actually create the project now that I’ve added the team members on the project, I will go ahead and create this new project. Those team members that I added earlier can be added to other projects as well if they need the help. Go back up to the gear, projects, I’ll create this new project and I’ll call it Whysk.

The next page is the project configuration page. I don’t think I want to make any changes here just yet. You can, though, if you already have an outline on how you want to organize your project, but as for me, I’m just getting started, I’m not sure how I want this to look just yet. I just want to get started capturing information about the project, feature requests, things like that. I’ll go ahead and just get started now.

Alright, I’ll click on cases. In FogBugz a case is the basic unit of work. It’s the smallest unit of work, it could correspond to a ticket or a task or issue that you want to do. As you can see, I created Grace Hopper and an example case was created for her a while back. Margie will have a sample case created for her as well. If I click on a new case, I can assign work to myself, but I can also assign it Grace or Margie if I know what I wanted to do already. If I assign a case to Margie or Grace, they’ll get an email notification of the assignment and I’ll show you a little bit later about other notifications that they can get.

I want to with a few cases and start them on the team, because in my mind I do know how I want to get started with the project. There are a bunch of tasks that are involved with this project that I want to record and start farming out to people. For this project, we’re going to start with some high-level, big-picture cases. I’m going to click on add case here and I’ll start adding some of the work that I need to have done. I want this app to have a nice and shiny new UI, so we say create new UI, new billing system. I need a payment processor, location services so I can find a car that I may want to borrow or lend if I had setup on lend cars. I think that’s it for now. Click on this X because I don’t want to enter any more cases at this time.

I’d like to change these cases to be features instead of bugs. That’s what that little icon here refers to. I’ll leave them all highlighted and I’ll click at it. Now I can change the category to be a feature because I would like this to be a feature of the product. It’s not a bug or anything, I haven’t started building it yet, so no bugs as far as I know. I did want to do one more thing. All these reside in a project called sample project, but I actually know what project they should live in or they should reside in, so I’ll click at it again. I want to move them to the Whysk project because I do have that, where I store them. I’ll click cases and I see them now, they’re in this Whysk project. I moved them out of one project to the other.

Let’s go back and look at these cases. The scope of some of these cases is very broad. We can be more specific about the work to be done in the cases by dividing the work in the cases into sub-cases. Let’s look at the create new UI case. Select it, add a sub-case. I want these to be features as well. Now, what are some of the things that this new UI should have? How about need new UI design, need a simple login, and I want multiple fields in the profile page. That’s the user profile page. Check off here. I think I’m done with that for now. I’ll hit this X.

Those are the three sub-cases that I created rather. I’ll go down and check them. As you can see, they are listed in a hierarchy here. That’s how I want them to appear, as case and then sub-cases underneath. Now that we have some cases to work on, let’s quickly go over the lifecycle of a case. We’re going to use this need new UI design case. It’s assigned to me and we can see that by going into it. I want to have my colleague, Grace, handle it, so I’ll assign it to her. Whether you’re in the case, you can click assign and choose the person, Grace, or we go back out to where they’re all listed, I can actually select new UI design, assign, and I will assign it to Grace. I’ll actually give her a little feedback about what I want to be done with it. Please ensure the new UI is slick. Now this is going to be assigned to Grace. She will get an email notification of this and she’ll get another notification as well.

Let’s go ahead and look at this from the point of view of Grace. I’ll actually go into FogBugz, I’ve signed in here as Grace. There’s my gravatar up there and I’ve got an email notification about this case that assigned to me, but I’ve also gotten this notification here under this little bell icon. I see that something’s been assigned to me. I can look at all my notifications here and I can see my activity as Grace. Let’s see, a case was assigned to me. I can look at activity by others, so Will assigned to me. Activity by myself and as Grace, I haven’t done anything just yet. I’ll go back. As I said, this case was assigned to me, I will mark this as done and that’s done, so no more notifications.

I’m actually going to go into the case now. This has been assigned to me, I know I have to work on it. I’m going to make some edits to this case. This is going to keep track of the work that’s been on the case. I’ve made several changes, here’s an SQL query that is relevant to this update. Save that. Make another change. I think this is the last one, here’s a snippet of code that I can reuse later. Let’s say I have made all the changes I’m going to make, maybe there’s one more change, and I think once I add that change to this new UI, it will be complete. As far as I’m concerned, this means that this request has been resolved, this case has been resolved, so I’ll click on resolve. It’s implemented, it’s going to back to Will. Here are all the changes.

The standard workflow in FogBugz is that a case, when it’s resolved, is sent back to the person who opened the case or created it in the first place. It’s going to go back to Will Everett. You change this if you need it to flow a different way, but I’ll leave it the default for now. What resolve means is that the work that was requested, as far as the person who got the request, has been done, but it’s going to go back to the person who opened the case to confirm that. This work has been done. It looks like there’s a refresh I can do here and it was sent back to Will Everett, me. Now, I’m basically logged in as myself, Will Everett. The work is done, at least Grace has told me the work is done. I review the work, I can say yes/no. If it’s done, then nothing else has to happen. I can just close this out. I can send a message to Grace, good work. That means nothing else is going to happen to this case. I can close this out, I’m going to cancel.

If I think that the work has not been completed, I can reactivate it, send it back to Grace or anyone else, please look at this again. I’ll reactivate it and send it back to Grace. I’m going to hit cancel. As far as I’m concerned, this work has been completed, I’m happy with it. I’ll send Grace a note. This ‘notify more users’ field can be used to send someone a one-time notification of a change. Let’s say that Grace is the person who had worked on it and I wanted her to know that I was thankful for the change. Let’s say that her colleague, Margie, need to know about a one time change, just because it may affect her work. Thanks Grace, @Margie this impacts your module FYI. I’m going to close this out. That means that this is complete and since it’s a closed case, it’s no longer going to show up initially in this list view.

Now that we’ve created a few cases, I want to show you how easy it is to find and group similar cases using searching and filtering options. Let’s use a simple search. I know one of the cases has to do with billing, so I’ll go ahead and search for the word billing. I’ll get rid of that search and just list all of my cases. They’re showed in this list view here, they’re not sorted or they’re not broken apart by anything. Let’s do another search. Let’s look for cases assigned to Grace Hopper, I think it’s only going to be one, that’s that sample case that’s assigned to her. Let’s get rid of that search axis. Let’s just look at cases that are in one project, the Whysk project, which is the main project we’re working on.

What I can do, is I can save this. I can say this is a search I may need to look at later. It’s all cases in the Whysk project, all the Whysk cases. You noticed something when we first started, we had two projects in FogBugz inbox and sample project. These are defaults that come preset in FogBugz. Right now we’re looking at just cases in the Whysk project. You can actually also sort them out by different search axes. These are all these cases in the Whysk project. Let’s say I want to sort them by assigned to. Let’s see, cases assigned to Will Everett. There was one that was assigned to Margie, that’s actually made closed now.

Let’s look at cases in a different project because I do want to see… There we go. These are all cases in the sample project. There’s one assigned to me, one assigned to Margie, and one assigned Grace. This is a search that you can save again, all sample project cases by assigned to. Now, if you’re wondering where that saved search is if you go under cases, that save search all the Whysk cases, plus all sample project cases assigned to are saved here. These are filters that you can actually… as you can see, can be saved and can also be shared with people. If you click on manage filters, the Whysk cases filter can be shared. Just go into it and if go under cases, you’ll see that is now a shared filter that other people can use.

Now that we’ve started work on this Whisk app, let’s get organized before we do more work. I’d mentioned areas before. Areas are different sections within your project that correspond to different types of work. For example, this project, the Whysk project, may have an area called UI, QA, Finance, etc. Areas are useful for organizing the cases within a project. Now, let’s add those areas. We’ll go to the gear icon, select projects, and we’ll click add it to the Whysk project, and we’re going to create some areas that make sense for this project.

We’ve done a fair amount of work on the UI, so we’ll have a UI area. There’s some payment things that we have to work on, so we’ll call that finance, and the last one is QA, because there’s some QA work that has to be done to this project. Click on okay to save that. Go back to where all the cases are, or actually the Whysk project cases. What I want to do now is actually select a bunch of areas and move them into the area that makes the most sense for them. Let’s see, the UI profile page, the login, all these have to do with the UI, so I’ll change the area to be UI.

There are billing and payment processor, that has to go into finance area. We actually want to see that this has happened, so I’m going to show the area column. I’m going to get rid of this remaining time column, I don’t need this right now, but the area and I can see that these cases have been moved into these different areas. I actually want to sort it by area. I want a better visual representation of how much work we have to do. Now that we’ve moved these to these different areas, we know how much work has to be done in each of these areas.

The last item I want to review is milestones. In FogBugz, milestones are dates by which something is to happen. Let’s say we have a beta of Whysk that needs to be released by January 6, 2016. We can have a milestone so that the team knows that this case will be part of this effort, this beta release. If you do Agile development, this could be your next sprint. Let’s go to this pull-down menu called schedules. I’ll go to the Whysk project. Click on the edit button here and I actually want to create a milestone. This milestone is going to be called beta release, we’ll call it the Jan 6 beta release and it should be completed by January 6. That will be here before you know it. Click okay, again, and I’ll actually put a bunch of these cases under that milestone and I think it should be all these UI cases.

Click edit, the milestone is January 6 beta release, and I’d like to see that in my view here. Milestone and I’ll widen that, all cases with the milestone. Now I can see all the cases with the milestone. That gives an idea of when a group of cases has to be completed by. If there is a more immediate date that a case has to be completed, you can set the due date for an individual case. Let’s say this actually has to be done by November 1st. There we go November 1st. It has a due date of November 1st, but it is part of this overall milestone of January 6 beta release.

Alright, that’s a very basic review of FogBugz. We went over creating users, creating projects, creating cases and sub-cases. We learned about notifications in the activity feed and we searched for cases that filter and showed you how to reuse those searches. Finally, we went into areas of milestones.