An Intro to Agile and Scrum for New Developers

Created by Emily Porta for Hackeryou

slides: goo.gl/VU9o8A

What's Agile?

A philosophy of iterative (not all at once) software delivery, focusing on small, estimated and prioritized features executed in iterations that allow for change.

Everything happens at once: testing, coding, delivery, design, etc.

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
agilemanifesto.org

Agile versus Waterfall

Waterfall = plan-driven, Agile = adaptive

agile versus waterfall

What is Scrum?

An agile methodology, aka some specifics on how to do agile day to day.

Key features of Scrum:

  • Roles: team, scrum master, product owner
  • Artifacts: product backlog, sprint backlog, increments
  • Ceremonies: standup, sprint planning, sprint review, retrospective

Artifacts

Product Backlog

A prioritized list of items needed to "complete" a project. Constantly changing, updated, refined. Managed by the PO.

Sprint Backlog

The items from the Product Backlog that have been brought into the current sprint, and the plan for delivering and realizing the Sprint Goal. The team can adapt said backlog throughout the sprint.

Product Increment

The result of completing the sprint, in a "done" state, ready for release.

Pivotal Tracker (for example)

pivotal board

Roles

Product Owner

The PO is the voice of the customer. Their primary role in Scrum is to create and prioritize the product backlog (list of things we need to do).

Team

It's the team's job to execute and attempt to deliver a potentially shippable group of features each sprint (a "product increment"). They're cross-functional and a group of equals.

Scrum Master

Keeps everything going: removes impediments to work, source of knowledge for scrum process, servant leader. Leads all ceremonies.

Ceremonies

Standup aka Daily Scrum

  • Every day, very short, stand in a circle, about the work, not business, no details
  • What you did yesterday, what you're doing today, any barriers to work
  • Scrum Master records any "deep dives" required afterwards

Ceremonies (cont.)

Sprint Review aka Demo Day

  • Once a sprint, at the end. Inspect and adapt for the product
  • PO, SM, and team gather together. The team shows what they have done, the PO can use the features, make comments, and assesses the completed work against the sprint goal.
  • It is a conversation - no powerpoint slides, no one-way communication/presentation. The PO etc. should be able to interact with the features.

Ceremonies (cont.)

Retrospective

Inspect and adapt the process. Lots of common formats around a central theme of what worked, what didn't, what should we do to change the latter.

there are so many formats!

Ceremonies (cont.)

retrospective type sail boat

Ceremonies (cont.)

Sprint Planning

In two parts. Usually first day of the sprint. Should be very short if you keep up with backlog refinement.

  • Part one: the what. Review high priority backlog items with PO. Discuss goals and business value. End with a "sprint goal" you all agree on.
  • Part two: the how. The team with the SM's help breaks down the highest priority backlog items, creates the sprint forecast and communicates that to PO. End with a well defined sprint backlog.

Forecast != contract

Only the team decides how much work they can take on, only the PO decides what is highest priority

scrum anime

The Developer's Role

So, as a Hackeryou grad how will this impact you?

Three main ways:

  1. You're a developer or designer and member of an agile team
  2. You work somewhere that's agile but not Scrum - many concepts cross over!
  3. You're somewhere that's not agile - maybe introduce the idea?

Day to day

As a member of a Scrum team, you'll be expected to work to understand the value of the ceremonies, to participate, to communicate, and to take on work whenever you can do it. (i.e. generally work is not pre-assigned to any one person).

You will be a part of the "how" discussion with your team, help estimate work, you will have to follow the Definition of Done, help break down stories, etc.

How to be a Scrum Master's best friend: communicate! Give updates, ask questions, contribute to team discussions.

Resources!

Ken Schawber's Scrum talk
Essential Scrum
The Scrum Guide
pm.stackexchange.com/
Agile Guide
Mountain Goat Software by Mike Cohn

Thank you!

Questions?