Author: Devon Broglie (deb65@pitt.edu) Maintained by: David J. Birnbaum (djbpitt@gmail.com) Last modified: 2021-12-27T22:03:42+0000
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.
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.
These meetings will revolve around the following three questions:
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
Get smarttask