2. Define a body of work (project managers)
Once you finish getting set up, you're ready to begin the second phase of community project management: define a body of work. In this stage, you create discrete chunks of work that community members can do in relatively short periods of time.
An analogy with service projects
You can approach your community project in the same way you might approach a moving service project. Suppose your family is moving to a different town, and you’ve enlisted ward members to help in the process. You can’t expect the helpers to walk into your house and know exactly how and what needs to be packed. Rather, you must create small jobs for them to do.
If you want people to take apart a table, you must have all dishes and tablecloths off the table. If you want people to load boxes into a truck, you’ve got to have those boxes packed. The move goes much smoother when jobs for helpers are clear and prepared ahead of time. That's what this step is all about: packaging the work into discrete "boxes" that volunteers can easily move once they arrive on scene.
Granted, if you're building a software application, it may not be so easy to pack the work into neat little boxes. But unless you do, you won't be able to engage volunteers when they join your project. They will essentially be standing around with their hands at their sides, ready and willing to help but not knowing what to do. Defining a body of work may be the single most challenging aspect of your project.
Break work up into JIRA tasks
Start by identifying all the work that needs to be done. Break this work up into individual tasks that can be completed in a relatively short amount of time, such as several hours. Enter each of these tasks as an item in JIRA.
If you're just asking for random feedback from beta testers, it may not make sense to break down a list of tasks and enter them into JIRA. However, even testing can be done in a more structured, directed way. Perhaps you want your users to test out different modules, scenarios, and features in your application. You might hope they naturally test each of these elements on their own. But unless you make the expectations clear, community testers may explore only a few parts of the application and not return to it because they don't know what else to test. Defining the testing tasks in various JIRA items can help you to direct the testing effort.
To create an item in JIRA:
- Go to tech.lds.org/jira and navigate to your project.
- In the upper-right corner, click Create Issue.
- In the Project field, select the correct project.
- In the Issue Type field, select the type of item you're creating. The fields are standard but can be used in a variety of ways.
- In the form that appears, complete fields that you would like to use. For example, you might focus on the following fields:
- Story Points (a way to measure task difficulty)
You can complete other fields, such as Fix Version/s and Assignee, later. For now, it's important to simply box up the work. Gather as many individually discrete tasks as possible.
Though you may be tempted to leave descriptions incomplete, your descriptions need to be informative enough for a volunteer to read and understand what he or she should do. If the task if vague, chances are the volunteer will not have the information needed to successfully complete the task.
Define versions in JIRA
With dozens of topics in JIRA, you can now define versions in JIRA and begin assigning the tasks to different versions. A version is simply a period of work with a start and end date. In agile environments, versions are called "sprints."
It's important to break up your work into versions for two reasons: first, versions provide a sequence to the tasks. If tasks 1, 2, and 3 need to be completed before tasks 7, 8, and 9, then the first tasks should be planned for a earlier version. Second, breaking up your work into versions makes large projects more manageable. If you have 500 JIRA items to tackle, breaking the work into versions with 20 items per version spread out over half a year makes the work less intimidating.
To set up versions in JIRA:
- Go to tech.lds.org/jira and log in.
- Click Projects on the main menu and navigate to your project (if necessary).
- Click Agile.
- On the right, click Add and set up several versions with appropriate release dates.
Define Story Points for each version
Now that you've set up versions, you need to decide how much work you can accomplish in each version. JIRA provides the concept of "story points" to help you avoid over-allocating too much work for each version. Each task can have a different number of story points, such as 10 or 20. Story points act as a weight to guide you when allocating tasks to each version.
To define the story points for each version:
- Navigate to your project in JIRA and click Agile on the main menu.
- Above the list of versions, click Statistics.
- In the Story Points row, click Edit.
- In the Max field, type your maximum number of story points allowed for that version. This will depend on how you decide to weight your tasks. If each task has an average of 10 story points, and you can complete only 10 tasks per version, you would type 100 in the Max field.
Add Story Points to each JIRA item
In a previous step, you entered your project's task into JIRA, but you probably didn't add story points to each task. Do that in this step.
To add story points to a task:
- Navigate to your project in JIRA.
- In the sidebar, click Issues.
- To view tasks, click one of the link filters, such as Major under Unresolved: By Priority.
- Click an item to edit it.
- Click Edit.
- In the Story Points field, type an arbitrary number that indicates the weight or complexity of the JIRA item.
- Click Update.
Assign JIRA items to versions
Now that you have JIRA items, versions, and story points for each version, your next task is to assign JIRA items to each version. This helps you divide up and sequence your project work. Remember that you can only accomplish the amount of work each week that your story point allocation allows for.
To assign a JIRA item to a version:
- Navigate to your project in JIRA.
- Click Agile on the top menu.
- (Optional) In the upper-right area of the screen, click Views and select List. This makes it easier to see more items on the screen at once.
- On the right, click Unscheduled.
- Drag unscheduled items into the appropriate versions in the right sidebar.
As you drag items into versions, you will see a story points threshold bar appear when you've reached the maximum number of story points for those items. Make sure that you don't go beyond that story point threshold for each version. Otherwise you may be assigning too much work for what you can feasibly accomplish during that time period.
Much of these tasks are project management 101, but the important takeaway is that you set up all the work for the project before you start recruiting a ton of volunteers. As soon as volunteers join your project, you want to get them working on tasks right away. Unless you have those tasks prepared ahead of time, the volunteer will likely end up as an observer on the project, unengaged and without any work to do. On the other hand, if you have a defined body of work to do, the volunteers can get started right away.