More on this book
Community
Kindle Notes & Highlights
Parkinson’s Law (1993), which states: Work expands so as to fill the time available for its completion.
Many traditional plans are created with the assumption that all identified activities will be completed. This means that work is typically prioritized and sequenced for the convenience of the development team.
The best way of dealing with uncertainty is to iterate. To reduce uncertainty about what the product should be, work in short iterations, and show (or, ideally, give) working software to users every few weeks.
The amount of time a user story will take to develop can be more easily estimated in ideal days than in elapsed days. Estimating in elapsed days requires us to consider all of the interruptions that might occur while working on the story. If we instead estimate in ideal days, we consider only the amount of time the story will take. In this way, ideal days are an estimate of size, although less strictly so than story points.
we are better at estimating relative size than we are at estimating absolute size
do not compare all stories against a single baseline or universal reference. Instead, you want to estimate each new story against an assortment of those that have already been estimated. This is referred to as triangulation.
we should re-estimate only when we believe a story’s relative size has changed.
Story points are a pure measure of size. Ideal days are not.
Story points have the advantage of helping promote cross-functional team behavior. Additionally, because story points are a more pure measure of size, they do not need to be re-estimated if the team improves in a technology or the domain. Estimating in story points is often faster than estimating ideal days. Finally, unlike ideal days, story points can be compared among team members.
The best way to reduce the cost of change is to implement a feature as late as possible—effectively when there is no more time for change.
Common agile advice is that user interface design should be done entirely within the iteration in which the underlying feature is developed.