Agile Training

Agile is an iterative approach to project management and software development. This management technique focuses on incremental and consumable updates to products in order for teams to function deliberately and specifically. In general, Agile values these key points:

  1. Individuals and interactions over processes and tools

  2. Working software over comprehensive documentation

  3. Customer collaboration over contract negotiation

  4. Responding to change over following a plan

Scrum

Scrum is a lightweight framework for teams to follow. This framework helps enable teams to develop, deliver, and sustain complex products such as software or research ideas. The five values of scrum are courage, focus, commitment, respect, and openness. These values define key points of scrum and scrum teams will practice these values in their development.

The difference between Scrum and Agile can be confusing. Remember, Agile is a project management philosophy that utilizes core principles for guidance. Scrum, however, is a specific Agile methodology that is practiced during project development.

Scrum has key components including sprints, roles, and ceremonies. These components are discussed in depth in future sections.

Sprints

Sprints are the building blocks of development under Scrum. They are short, time specific periods where a team works to accomplish specific work and goals. In general, there are four key ceremonies that make up sprints: sprint planning, daily standups, sprint reviews, and retrospectives.

Sprints in The Data Mine

Within The Data Mine, two-week sprints are generally most appropriate. Sprints can be aligned with bi-weekly progress reports, so teams are sharing updates with TAs and The Data Mine staff while they work within the sprint schedule. Teams will structure these two-week sprints so that team meetings align with the 4 sprint ceremonies.

Scrum Team Roles

Considering the personnel and their strengths on every sprint team is crucial for team success. Designated individual roles will help teams stay organized and will establish clear, individual responsibilities. The three roles on a scrum team are product owner, scrum master, and development team.

The product owner is connected directly to the product’s business application. This person provides detailed explanation of product applications and tells the development team what is important to deliver. They set clear directions for the team, balance stakeholder expectations, and understand customer needs.

The development team is comprised of the team members that will do the work. These team members take ownership of tasks made by the product owner and establish these tasks as a part of their sprint. Great development teams have a broad background of experiences and use their strengths to swiftly complete tasks. Their main responsibilities include delivering work throughout the sprint and ensuring transparency in their development.

The final role within a scrum team is the scrum master. This role ensures that scrum is running smoothly and effectively. They are the bridge between product owners and the development team by coordinating valuable product updates with product owners and ensuring work gets completed by the development team. Scrum masters ensure transparency between all team members, create defined sprint schedules, teach sprint values, and most importantly, serve the scrum team to allow for smooth development.

Scrum Team Roles in The Data Mine

The Data Mine has a natural definition of who takes on what roles within a scrum team.

Corporate partner mentors take on the role of product owner because of their direct connection to the business.

Purdue students make up the development team and perform the work necessary to complete the project.

TAs work as scrum masters and are the bridge between CP mentors and Purdue students. They establish Agile management and teach scrum to the team.

Sprint Planning

Deciding what tasks need to be done is a crucial first step towards a successful sprint. To start, product owners and scrum masters take the responsibility for the delivery and upkeep of the product backlog. The product backlog is a prioritized list of tasks for the development team to accomplish. The product backlog clearly lays out stakeholder and customer expectations such that the development team can satisfy these needs. Because this system creates a transparent set of tasks to be completed, the development team can take ownership of specific tasks for each sprint. During the sprint planning ceremony, development team members create a plan of action based on the product backlog and move tasks from the product backlog to the sprint backlog. The sprint backlog is the same as the product backlog, but rather than it being a list of tasks for the entire project, it is a prioritized list for only the upcoming sprint.

Once tasks are decided on for the upcoming sprint, the next step of sprint planning will be to plan how these tasks will get done. The scrum team will examine how each of the selected tasks fit together and create a plan of completion. When using a management software, notes and specific sub-tasks can be noted directly on the task, allowing everyone on the team to see written thoughts.

Lastly, the team needs to decide who will take ownership of each of the tasks. Choosing tasks based on each other’s strengths is important. The development team will discuss who is best fit to take on certain tasks and will label who takes ownership of each task in the sprint backlog.

Sprint Planning in The Data Mine

Sprint planning should take place at the start of every sprint. Realistically, planning meetings will occur at the first team meeting following the end of sprint. TAs are responsible for creating and maintaining the product backlog by working with their team’s corporate partner mentor to ensure they project is moving with correct pace and direction.

During the sprint planning meeting, an open discussion is held between the corporate partner mentors, TAs, and development team. Each development team member will take ownership of tasks from the product backlog to complete the coming sprint. Each event that is chosen will then be moved to sprint backlog.

Pairing members of the development team together to take co-ownership of tasks helps productivity and allows for team mentorships to form.

Daily Standups

During the duration of the sprint, teams will hold a daily ceremonie called daily standups. These short meetings should last no longer than 15 minutes and are simply a check in point each day for the team. Each person on the team will speak for a couple minutes, answering these questions:

  1. What did I do yesterday?

  2. What will I do today?

  3. Do I have any blockers?

Daily standups keep each team member accountable for their progress and allows for discussion of any blockers as well.

Daily Standups in The Data Mine

It is not feasible to have daily standups in The Data Mine model because teams are constrained by an academic schedule. However, it is possible to hold similar events on a weekly basis. Once a week, teams should start their meetings with a “weekly” standup following the same format of a daily standup.

Keep these meetings lighthearted and fun. The more stress placed on team members for these quick check-ins makes standups less valuable.

Sprint Reviews

The second to last ceremony of a sprint is called a sprint review. These meetings are meant to discuss, demonstrate, and celebrate the team’s work from the sprint. Development team members will discuss, present, and showcase their work and seek approval for completion of their tasks from the product owner.

It is during the sprint review that product owners or other development team members can give demonstrations and receive feedback on their work with the main goal being to decide if tasks are completed or should be rolled over into the next sprint.

Sprint Reviews in The Data Mine

In The Data Mine, sprint reviews should occur once every sprint during a meeting time with the team’s corporate partner mentor in attendance. Team members will go around and informally demonstrate their work through live demos, documentations, or presentations. This meeting is where the corporate partner mentor can clearly see the work being done by the team and can give feedback to the team. It is crucial for the team to be prepared for these meetings on a sprint-by-sprint basis because it is direct representation of the work being accomplished. Feedback from the corporate partner mentor should be annotated and applied towards the next sprint.

Retrospectives

A sprint retrospective is the final sprint ceremony within a sprint. This event is simply a time to reflect on the sprint and discuss positive and negative parts of the sprint. This ceremony is an open discussion, and the time can be used however the team feels is most helpful. In general, encouraging honesty and talking about areas of improvement will improve the team for the next sprint.

Retrospectives in The Data Mine

Retrospectives in The Data Mine function as a standard retrospective. This ceremony will happen once a sprint and is a time for reflection and evaluation of the sprint. This event can be held with our without a corporate partner mentor and it is the TA’s responsibility to lead this ceremony.

Encourage honesty in the hope of continued improvement.

Sprint Schedule in The Data Mine

Because The Data Mine Corporate Partners experience is on an academic schedule, the typical sprint schedule used in industry must be modified. Here is an example of a sprint schedule in The Data Mine:

Monday/Tuesday Meeting: sprint planning meeting with corporate partner mentor

Thursday/Friday Lab: standup and working meeting

Following Monday/Tuesday Meeting: sprint review meeting with corporate partner mentor

Following Thursday/Friday Lab: standup, sprint retrospective, and working meeting

This schedule can be modified slightly, but it is most important for sprint planning meetings and sprint review meetings to be held with corporate partner mentors.