A team is in "Survival" mode if they do not have time to learn and slowly practice new skills. Such a team is usually over committed and is too busy chasing fires instead of having enough time to hone and practice the skills that prevent the root cause of the fires in the first place.
For example, a team may be too busy fixing all the bugs that keep popping up, that they do not have time to learn and slowly practice design, refactoring and automated testing of the code to prevent future occurrences.
Another example: A team is too busy deploying things manually and preparing for a release instead of spending the time to create a release and build chain.
Survival mode is usually patterned as a downward spiral. The less time you have to fix the root causes, the more time you will need to fix the fires that are caused, and then you have even less time to fix the root causes.
To get out of survival mode the team needs to:
- Remove over commitments
- Change current estimates to include quality in the estimates (usually an increase estimates on current work by 100%-500% is needed)
By taking these actions you can create a positive loop in which you fix root causes and then have less fires to fix so you have more time to fix more root causes etc.