Context switching | Glossary

Definition:

Context switch in computing language is a process of storing the state of a process or of a thread, so that it can be restored and execution of the process is resumed from the same point later.

Multi-tasking requires context switching which does not give productivity gains. There is an increase in the level of frustration for people involved in working on these tasks developers and delivery manager waiting for the tasks to be completed. The greater the level of context switching, the greater the loss in productivity.

Cost of switching context is a form of waste, this waste can be minimised by minimising the number of times a developer switches context.

Further Reading:

Book: The Art of Doing Twice the Work in Half the Time by Jeff Sutherland
Book: The Principles of Product Development Flow: Second Generation Lean Product Development by Donald Reinertsen

Conditions of Satisfaction | Glossary

Definition:

For whole release as well as feature or story there are conditions of satisfaction which helps to define the story acceptance. Development team can’t successfully deliver the business wants unless conditions of satisfaction for a story are agreed up front.

The Customer team should “speak with one voice”, if team is getting different requirement from different stakeholders, team needs to push back  and put off the story until there is a firm list of business satisfaction conditions. The best way go understand customer’s requirements is to talk with the customer face to face. These conditions are based on key assumptions and decisions made by customer for a story coming with a high-level acceptance criteria for each story.

Discussing conditions of satisfaction helps identify risk and increases the team’s confidence in writing and correctly estimating all of the task that are needed to complete the story

Further Reading:

Book: AGILE TESTING A Practical Guide for Testers and Agile Teams
Book: Effective Software Project Management by Robert K. Wysocki