Software development

Software development

Agile project management optimizes for velocity and quality, rather than timelines, by adapting to changing business needs. This page offers a rough blueprint for implementing agile, coupled with some key term disambiguation.

Kanban: Focus on delivery rather than planning. Good for daily support.

  • Visualize what you are doing today
  • Limit the amount of work in progress
  • Enhance flow

Scrum: Orients small, cross-functional teams toward common goals. Good for larger, more complex projects.

Sprints: An organizing principle applied to Scrum that breaks work down into regular (i.e. 2-week) intervals with planned check-ins. Includes:

  • Planning (estimation and work inclusion)
  • Resolution (work in progress)
  • Review (lessons learned, process refinement)

Stories: Non-functional business needs, provided with context and persona.

“As an end user, I want to access the human resource database to generate reports, so that I can periodically update the company’s staffing contact list.”

Story template: a prescribed format by which work is introduced to the development process. Includes:

  • Title
  • Stakeholder
  • User Story [written by stakeholder]
  • Further description [optional, written by stakeholder]
  • Relationships [optional, describes dependencies]
  • Acceptance Criteria [written by stakeholder]
  • Acceptance Testing [written by team]
  • Estimated effort
  • Priority
  • Status

Story criteria: guidelines for creating workable requests. Should always be:

  • Independent
  • Negotiable
  • Valuable
  • Estimatable
  • Small
  • Testable

Story lifecycle: describes the normal process that work request follows, from conception to go-live. Includes:

  • Backlog
  • New
  • In progress
  • More info
  • QA
  • Ready
  • Accepted
  • Production
  • Hold

Story points: An abstract number that expresses the difficulty level of a story, considering complexities, risks, and effort. Enables goal setting and productivity measurement based on work product, rather than, for example, time in chair. Secondary benefits include providing visibility into scope of work and emphasizing that estimates are often not exact in nature.

T-Shirt Sizing: a common method for determining story point values. Includes:

  • 1 = X-Small
  • 2 = Small
  • 4 = Medium
  • 8 = Large
  • 16 = X-Large

If a story is X-X-Large, break it down into two or more manageable components. A baseline example of a Small task is useful when estimating, with the understanding that a Medium is roughly twice as complex, roughly twice as time consuming.