Stand-Up Meeting

Also: Daily Scrum, Scrum

A short, daily all-hands meeting in which members of an Agile team address three key questions:
What did you get done since the last stand-up?

What will you do before the next stand-up?

What impediments stand in your way?

The meeting is held at the same time and in the same place every day, with team members standing in a small circle. The point of standing up is to discourage the kinds of tangents and discursions that make for meeting hell, and the meeting is usually time boxed to no more than 15 minutes. The stand-up focuses on peer-to peer coordination through information exchange, and the meeting serves to raise the visibility of each person’s work and to ensure work integration. Only members of the development team participate, as many people as can comfortably stand in a small circle.

Etymology

The concept of the Daily Stand Up meeting originated with Extreme Programming. It was adapted to Scrum, where it is known as the Daily Scrum or Scrum.

Posted in s | Leave a comment

Story

See User Story.

Posted in s | Leave a comment

Story Splitting

The process of breaking user stories down into (a) smaller, more easily implemented user stories or (b) tasks. Likewise, epics may be decomposed into user stories, and tasks may be decomposed into more fine-grained tasks.

Story splitting is usually performed during backlog refinement and sprint planning. It is an important precursor to story sizing (estimation). Story splitting may also occur throughout the development process.

In the typical product backlog, user stories grow more fine grained as they near implementation and are larger and less detailed the further down the queue they reside.

Further Learning

Quick Reference Guide for Splitting User Stories – Agile Learning Labs – blog post, PDF
SPIDR: An Alternative Method for Splitting User Stories – Ascendle – blog post
How To Split A User Story? – Vibhor Chandel – Video (19 minutes)
Five Story-Splitting Mistakes and How to Stop Making Them – Mountain Goat Software – blog post

Posted in s | Leave a comment

System

According to Wikipedia:

A system is a group of interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its environment, is described by its boundaries, structure, and purpose and expressed in its functioning.

Your digestive tract is a system. The components include: mouth, stomach, and intestines. The components work together as a system to digest food and drink. The travel industry with buses, trains, planes, UBERs, Taxis, and hotels works together as a system to allow us to travel for business or pleasure. These systems rely on a group of interacting elements that act according to a set of rules to create a unified whole.

https://www.youtube.com/watch?v=54imm5ohdFE – by biomatrix simplicity underlying complexity

Further Learning

Wiktionary
What are Systems? – Youtube.com
What is a System? – by Systems & Us

Posted in s | Leave a comment

Systems Thinking

Understanding system thinking is understanding a system, everyone, and everything that helps create, grow, and maintain that system. The system can include people, organizational design, physical and technical environments, other parts of the whole system.

Craig Larman and Bas Vodde begin to describe systems thinking in their book “Large-Scale Scrum: More with LeSS”:

“The first step of systems thinking is simply recognizing that there is a whole system, with elements that influence one another within a whole. These influences can have delays, create reinforcing cycles, and have unintended or hidden consequences, with a cascade of new influences.”

Suppose we are not looking at the whole system. Instead, we focus only on local optimation, which would be considered only part of the entire system (e.g., solving a business need/problem on the product interface (UI), regarded as local optimization). Local optimization might help us understand a business need from a UI customer interaction; however, it fails to understand how the UI will interact with the middleware, application layer, database layer, etc. This, to build products and services from a customer’s need, we need to know the entire system.

In August Bradley’s YouTube video under “Further Learning” section below, he discusses 6 steps to systems thinking:

  1. Identify and define the inputs, outputs, and movements of the system, setup
  2. Distinguish linear from circular, what functions in the system are linear, and what processes are circular
  3. Look for patterns
  4. Find the feedback loops, self-magnifying or self-diminishing patterns over time, step
  5. Understand the balancing processes that will help to maintain equilibrium within the system, step
  6. Study your system’s interaction with other systems.

These steps above will help you better understand how to identify, define, and maintain complex systems and how your system may exist within a much larger global system.

– by James Swanson (5 min)

Background Of The Term

System thinking was shared in a book by Craig Larman and Bas Vodde “Large-Scaled Scrum: More with LeSS” (Pearson Education, Inc. 2017)
A Case for systems thinking and system dynamics by Craig William Caulfield, Stanislaw P. Maj ECU Publication Pre. 20011

Further Learning

A System WIKIPEDIA
System dynamics WIKIPEDIA
Systems Thinking Intro – by August Bradley (10 min)
Systems Thinking – by Systems Innovation (5 min)

Posted in s | Leave a comment

Task

In Scrum and Extreme Programming, a unit of work, estimated in hours. During the iteration planning meeting, user stories are decomposed into tasks. In his book, Agile Software Development with Scrum, Ken Schwaber writes, “Tasks should have enough detail so that each task takes roughly four to sixteen hours to finish.”

In practice, many Agile practitioners vary from this formula, by preferring more granular tasks, or more abstract sizing units than hours(e.g., story points). Some do not decompose stories into tasks at all, preferring to add user stories directly to their task board.

Etymology

Unknown.

Resources

Agile Software Development with Scrum by Ken Schwaber and Mike Beedle

Iteration Planning on www.extremeprogramming.org.

Posted in t | Leave a comment

Task Board

Also Scrum Board

A type of information radiator that presents, at minimum, “to do” “doing” and “done” columns for organizing a team’s work . Some teams include their backlog as a column on the task board, while others limit it to work to be performed during the current iteration. Ideally, the task board is a physical thing, consisting of notecards or sticky notes affixed to a wall, although distributed teams may use an online task board application.

In Scrum, the Scrum Board is populated with tasks for the current sprint, while other Agile teams may populate it with User Stories.

Etymology

The term Task Board derives from Scrum.

Posted in t | Leave a comment

Task Complete Definition

See Definition of Done.

Posted in t | Leave a comment

Technical Debt

Technical debt is an obligation that an organization incurs when it chooses a design or construction approach which is expedient, but increases complexity and is more costly in the long term. That is, some aspects of quality are deferred for the sake of faster delivery.

The metaphor of technical debt is compared to monetary debt. If it is not repaid, it accumulates ‘interest’, making it harder to implement changes later on. Another way to view it is that when technical debt is not addressed it results in increased software rot in the case of software.

The term originated in software development, but may be applied to other fields. This entry describes the term as applied to software.

Technical debt includes, for example, postponement of:

  • Refactoring code to reflect improved understanding of the software design and architecture
  • Refactoring code that is confusing and difficult to modify
  • Writing automated tests
  • Fixing bugs

When technical debt accumulates there are various harmful effects to the business, such as:

  • It becomes increasingly difficult to implement new functionality
  • Stakeholders are upset when new features take longer and longer to deliver
  • Developer morale decreases
  • Delivery timelines become less predictable

Note that technical debt is not inherently good or bad. It depends on how it is used, what the tradeoffs are, and what the intent is. The following five-minute video with Ward Cunningham who originated the term is clarifying.

Background of the Term

The metaphor was described by Ward Cunningham in the article The WyCash Portfolio Management System

Further Learning

Technical Debt – ProductPlan – blog post
Technical debt – Wikipedia – wiki post

Posted in t | Leave a comment

Timebox, Timeboxing

See Iteration and Iterative Development.

Posted in t | Leave a comment