Another term for technical debt is accidental complexity. This differs from the essential complexity that is inherent in the problem at hand because it refers to the unnecessary complexity that we add into our application. The state of an application refers to all of the information needed in order for the application to run correctly. When the state is accidentally modified due to unexpected side effects or when state is hidden and handled in an unexpected way, this is a huge source for accidental complexity.
This talk will look at patterns for decreasing the state needed for an application and for handling the remaining state in such a way that it decreases the complexity of the application.