Digital humanities


Author: Devon Broglie (deb65@pitt.edu) Maintained by: David J. Birnbaum (djbpitt@gmail.com) [Creative Commons BY-NC-SA 3.0 Unported License] Last modified: 2015-09-03T00:18:18+0000


Project development with agile

Contents


Introduction

This page is designed to be an introduction to our project development methodology. You may also find it useful as a reference throughout the semester.

We are adapting a popular software development method known as agile. The core concept of agile is to work in small cycles to produce small pieces of the overall product, rather than working in a linear fashion. We will be making a number of modifications to fit our course structure, and if you would like to learn more about agile, feel free to reach out to your project mentor or one of the instructors for more information.

Your project mentor will act as a scrum master. The scrum master is responsible for running the weekly project meeting and maintaining the project story board (see below). Should you require any outside resources or have any issues that require assistance to resolve, the scrum master is your first point of contact.

The member of your team who proposed the project originally will act as the product owner. The project owner is responsible for maintaining the integrity of the project. Should there come a point in which the the democratic process of decision making is unfruitful and the group is deadlocked, the product owner is obliged to take action. This does not mean that the product owner has any authoratative control; all project members have equal responsibility and all suggestions will be entertained.

G Manager\n(Professor) Manager (Professor) Project team Project team Manager\n(Professor)->Project team Scrum master\n(Project mentor) Scrum master (Project mentor) Project team->Scrum master\n(Project mentor) Product owner Product owner Project team->Product owner Other team members Other team members Project team->Other team members

Weekly meetings will replace the agile idea of scrum. Scrum is an agile concept that refers to a type of brief meeting that typically occurs daily. Because daily meetings are incompatible with our course structure, we are modifying scrum to fit our needs, substituting weekly meetings for daily ones. The procedure for these meetings is discussed in detail below.

Weekly meetings

These meetings will revolve around the following three questions:

  1. What did you do last week?

    Each project member will report the status of the tasks they were assigned the previous week. If any of their tasks were impeded, the impediment will be discussed and resolved at this time.

  2. What will you do next week?

    The project mentor and project members will discuss what to focus on for the following week. Tasks will be pointed at this time. Pointing is a means of giving a numerical value to the complexity of a task. The specifics, as well as examples of point values, are detailed in the pointing section below. Each task will be assigned to a team member and will be given a due date for the following week.

  3. What do you need to complete your work?

    If there is anything relevant to the project that has not been addressed in the classroom, the scrum master will take steps to provide the necessary resources. Anything under this realm will be covered at this point in the meeting.

Trello

The basics

Trello is a free, online tool for creating story boards. If you have not already done so, please go now to http://trello.com and create an account. Your project mentor will add you to our class organization and to your project board. Once you have registered, log in. Your screen will look similar to the screen below.

As a member of the organization, you will be able to view the other boards within our class. To view a board, simply click on the board name from your current screen. You can also open a board by clickin the Boards menu in the top left corner.

You will be able to see a list of boards you have recently visited, your boards outside of the organization, and boards you are assigned to within the organization. Select a board by clicking on it. A new page will load with the board and will look like the following.

A board consists of lists. If you have many lists, you will need to scroll horizontally to access them. Each list contains cards. In the image above, the Backburner list currently has no cards. To view the details of a card, simply click on the card. A layer will open over the board with the card information.

The card name will describe a task. The task is followed by a number in parentheses, e.g., Add structural markup (2). This number corresponds to the number of points the task is assigned. Underneath the title, the initials of the members assigned to the card are listed. Next to the members is a label. This label corresponds to one of our goals in the Goals list. There is also a due date assigned for the completion of the task. The bottom of the card contains a summary of the activity associated with the card. The activity tracks any changes made to the card.

How will we use Trello?

Each project will have its own board. The board is a way of organizing your project development. Every task in which you complete towards your project will be represented by a card on the board. As you progress, the cards will move from list to list.

Goals

We will maintain a list of goals that represent the major divisions of project development. Each goal is labeled with a color.

If you click on one of the cards in the goals list, you will see that it has a task list. Every card elsewhere on the board will correspond to a task listed on one of the goal cards. The task lists will be updated as the project evolves. The scrum master will be responsible for creating the cards. Once created, the card will travel throughout the other lists on the board.

Backburner

All cards will start on the backburner. Your scrum master will create cards for each task on the goal task lists, keeping the backburner supplied as the project develops. At the weekly project meetings, the group will discuss how and where they would like to proceed and commit to tasks from the backburner. They will move the cards from the backburner to the weekly backlog. At this time, the tasks will be pointed (as explained below), assigned to individual members, and given a due date for the following week. Tasks should be small enough to be commpleted within a week.

Weekly backlog

The backlog holds all of the cards that are assigned for the following week. Once the assigned team member begins working on a task, the member will move the card to the In progress list.

Impeded

If at any point during the week the member cannot complete a task due to an impediment, the member will move the card to the impeded list and add a comment to the card detailing the impediment. The scrum master will then work to remedy the impediment. At the next project meeting, the task will be reassessed and given an updated due date.

In progress

When a project member starts a task, the project member should move the card from the weekly backlog to the In progress list. Once the task is completed, the member will move the card to the Completed list.

Completed

Once a task is completed, the card will be moved here. At the weekly project meeting, the completed tasks from the previous week will be reviewed. The task lists for the goals will be updated at this time, and the newly completed tasks will be checked off.

Pointing

As previously mentioned, each task (represented by a card on your project board) will be assigned a point value. This point value will be displayed in parentheses next to the card title. Points are pulled from the fibonacci sequence and include the values 1, 2, 3, 5, 8, and 13. When the project mentor moves a card from the backburner to the weekly backlog, members will determine the point value for a task. Project teams will be able to compare their progress by comparing how many points they have completed each week. In order to make fair comparisons, we must ensure that equal tasks are assigned consistent points. The following are examples to use as a baseline.

1 point baseline

2 point baseline

3 point baseline

5 point baseline

8 point baseline

13 point baseline