In this blog post, Brian Bozzuto discusses the concept of resiliency in project planning. Resiliency is defined by the capability of a system to recover to a stable, functioning state after failure or adverse events. He believes that resiliency is an interesting concept can be used when planning for a software development project.
He presents common characteristics which help systems to be resilient
* Decoupled and modular
* Rapid Feedback and dynamic reorganization
* Diverse at the Edge, but Simple at the Core
Resilient systems allow to recover from inevitable unexpected occurrences. If you try to make more robust project plans with further analysis, buffers and mitigation plans, you will still be unable to recover once a key assumption is invalidated or a buffer exhausted. His conclusion is that “Resiliency gives us a vocabulary and concepts that we can incorporate into our projects to ensure that not only are they agile, but that they are quite able to rebound back when we can’t adjust fast enough to avoid adverse events.”