Agile Development Primer

Scrum Pillars Transparency Inspection Apaption

The Elements of Scrum by Chris Sims
Inspect & Adapt (vs. Plan & Execute)

  • Agile projects are planning driven vs. plan driven
  • Agile is about learning… without mistakes and shortcomings, we’d never uncover new opportunities to improve.

“The goal of a software project is never to make a thing, but to build a system that solves a problem.”

Sprint Parts:

Sprint Parts

  • Sprint Planning
  • Scrum
  • Story Time
  • Sprint Review
  • Sprint Retrospective

Scrum Roles:

Product Owner

  • controls the priority order of items in the team’s backlog
  • creates acceptance criteria for stories
  • works closely with the stakeholders to determine what needs to be built
  • the keeper of the product vision …the vision encompasses who the product is being built for, why they need it, and how they will use it
  • decision to terminate the sprint early
  • most demanding role on a scrum team

(Working) Scrum Master:

  • scrum master’s deliverable is the self-organizing team
  • scrum master is not””we repeat, not””the team’s boss… leadership through influence, not authority or “position power.”
  • scrum expert
  • advisor coach
  • impediment bulldozer
  • facilitator

Team Members

  • self organizes to deliver user stories
  • does all of the development work
  • have total authority over how the work gets done
  • estimating how much work each feature will take to implement
  • 5-9 in size
  • isn’t about getting your job done, it’s about getting the job done
  • avoid local optimization that is actually a global de-optimization
  • avoids “not my job”

“Talent wins games, but teamwork and intelligence wins championships.” ~ Michael Jordan

“Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.”

A typical team needs roughly six sprints to become proficient with agile process.

The team’s velocity, the average number of story points that they complete each sprint.

“Yesterday’s Weather”: same number of story points than they actually delivered “yesterday,” i.e., in the previous sprint.

Time Estimation

Scrum Time Estimation

  • any task that seems larger than half a day probably should be broken into a smaller task
  • In contrast to the list of stories, which is fixed, the list of tasks will be ever-changing over the course of the sprint. The team will discover new tasks that need to be completed in order to deliver the committed stories and add them to the sprint backlog. Sometimes the team will realize that an existing task is no longer relevant, and they will remove it from the sprint backlog.
  • Part of the work of grooming the backlog is to evolve the acceptance criteria… provide some measure of predictability of schedule.
  • story point is a relative unit of measure for the amount of work needed to complete a user story
  • done through Fibonacci [1, 2, 3, 5, 8, 13, 21, 34, 55, 89] because humans are good at relative sizing but bad a absolute sizing (think of building sizes)
  • as things get bigger, our ability to perceive fine differences in size decreases
  • 13 foot sailboat from a 21 foot sailboat

Information radiators…

Annotated Sprint Board

  • So post your charts where they can be in your field of vision all day, every day, soaking deep into your reptilian brain and keeping your whole team literally “on the same page.” …even if this means that each team member must keep their own task board.
  • making your prototype accessible, disposable and non-precious, you encourage participation
  • basic micro-charter includes the following elements: code name mission statement vision statement elevator pitch business value customers metrics
  • Your mission statement should express your project’s purpose
  • Your vision statement describes the future that you are trying to create
  • Your elevator pitch should be no more than a few sentences. Focus on the problem that the project will solve and the benefits that the company or customers will get. You want it to be so clear and concise that it sticks: your listener should be able to repeat the gist of it to a colleague an hour later
    • Project Rutabaga will save time during the customer support process by allowing our support staff to see and interact with the user’s computer desktop during a support call. We believe this will increase customer satisfaction, and reduce support costs by ten million dollars a year.

Story is a feature

As a <type of user> I want <do something> So that <some value is created>

An epic is a sub-project.

Creating Personas

  • Keep your personas goal-oriented. What do they want to get done? Be specific. Give them names, hobbies, whatever it takes to make them real to you. Take notes on real users’ characteristics during your requirements-gathering. Combine characteristics of real people into composite portraits.
  • to be all things to all people, is to serve no one well

The Iron Triangle: Speed, Cost, and Scope
Agile Iron Triangle

In General

  • Agile is about reducing the cone of uncertainty by pulling integration forward and shipping a working product earlier and earlier. Is a form of control.
  • Project variables model. In traditional approaches, features, time and cost are fixed and quality is variable. In Agile, time, cost, quality or fixed and features are variable (per timeframe).

Variable Scrum Model