-
Contributors
The Agile Dictionary is sponsored by Agile Learning Labs, and maintained by an amazing group of volunteers.
d is for...
Decomposition
The process of breaking user stories down into smaller user stories and tasks.
See Story Splitting which is now much more commonly used.
Background Of The Term
The term derives from the philosophy of mathematics and from systems science where it is used to describe a form of analysis used to identify the functional parts of a system. Decomposition is also common to software architecture parlance.
Posted in d
Leave a comment
Definition of Done
Also: Task Complete Definition, Punch List
A Team’s universally agreed-upon criteria for what makes a unit of work “potentially shippable.” This is a checklist of steps that complete each unit of work (e.g., task or user story). It may include items like “documentation created,” “code review completed,” “all tests created and passing,” etc. The Definition of Done usually takes the form of an information radiator, being posted prominently in the team’s workspace.
A well-crafted Definition of Done may prevent the accumulation of technical debt that naturally arises when team members define “done” loosely and colloquially.
In Agile Learning Labs’ Blog post “How To Create The Definition Of Done” there is detail about the steps to creating a Definition of Done and how to keep the team on track.
Background of term
In Extreme Programming, the Definition of Done is called Task Complete Definition, a Punch List, or a Binary Milestone.
Further Learning
Agile Learning Labs blog post – Definition of Done
Demo
Also: Sprint Review, Iteration Review
Previously, this dictionary entry for Demo was a main one, and the entries for Sprint Review and Iteration Review pointed to here.
However, because of the current common use of the scrum framework and its terminology we have decided to make this entry a stub and to point to Sprint Review instead.
Posted in d
2 Comments
DevOps
Referring to the development of software systems, DevOps has been broadly defined as “a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality”[1].
DevOps includes practices such as continuous integration, continuous automated testing, and automated deployment to ensure speed, quality, stability, and reliability.
DevOps is a cultural shift within many organizations. The historical separation between software development and IT operations is removed by having all participants contribute to the entire software development lifecycle. They are aligned around shared goals of fast delivery, high quality, and customer expectations.
Background of the term:
DevOps is a portmanteau of the two words development and operations that refer to software development and IT operations.
Further Learning:
What is DevOps?
https://devops.com/what-is-devops/
[1] DevOps: A Software Architect’s Perspective, 1st ed. by Bass, Weber, and Zhu.
Posted in d
Leave a comment