The SaaS Founder's Guide to Incident Post-Mortems
Every incident is a learning opportunity. Without a post-mortem, you fix the immediate issue and move on, but the root cause remains, and the incident repeats. With a post-mortem, you identify the root cause, implement preventive measures, and reduce the likelihood of recurrence. This article is the founder's guide to writing incident post-mortems that prevent recurrence and build trust.
The direct answer is that a post-mortem is a document written after an incident that describes what happened, why it happened, what was done to fix it, and what will be done to prevent it from happening again. The key principle is blamelessness: post-mortems focus on the system, not the person. For more on incident response, see our article on how to handle your first SaaS deployment incident.
The Post-Mortem Template
## Incident: [Title]
**Date:** [Date]
**Duration:** [Duration]
**Impact:** [Number of users affected, features affected, revenue impact]
**Severity:** [SEV1 (critical), SEV2 (major), SEV3 (minor)]
### Summary
[1-2 sentence summary of what happened]
### Timeline
- [Time]: Issue detected (how?)
- [Time]: Investigation started
- [Time]: Root cause identified
- [Time]: Fix applied
- [Time]: Issue resolved
- [Time]: Post-mortem published
### Root Cause
[Technical description of what caused the incident. Be specific.]
### Resolution
[What was done to fix the immediate issue]
### Impact
[Who was affected, how many users, what features were unavailable, any data loss]
### What Went Well
[What worked during the incident response — e.g., monitoring detected it quickly, rollback worked]
### What Went Wrong
[What did not work — e.g., alert was delayed, rollback was slow, communication was poor]
### Action Items
- [ ] [Action item 1] — [Owner] — [Due date]
- [ ] [Action item 2] — [Owner] — [Due date]
- [ ] [Action item 3] — [Owner] — [Due date]
### Lessons Learned
[What was learned from the incident]The Post-Mortem Process
Step 1: Write the post-mortem within 48 hours
Write the post-mortem while the incident is fresh in your mind. After 48 hours, details fade, and the post-mortem becomes less accurate.
Step 2: Be blameless
Post-mortems focus on the system, not the person. Instead of "John deployed the broken code," write "the deployment process did not catch the broken code." The goal is to improve the system, not to assign blame.
Step 3: Identify the root cause
Use the "5 Whys" technique: ask "why?" five times to drill down to the root cause.
- Why did the app go down? Because the database connection pool was exhausted.
- Why was the pool exhausted? Because a new query was opening connections without closing them.
- Why was the query opening connections without closing them? Because the ORM was misconfigured.
- Why was the ORM misconfigured? Because the configuration was not reviewed before deployment.
- Why was the configuration not reviewed? Because there is no code review process for configuration changes.
Root cause: no code review process for configuration changes. Action item: implement code review for configuration changes.
Step 4: Create action items
Each action item should be specific, assigned, and dated:
- "Add a connection pool monitor" — Founder — October 15
- "Implement code review for configuration changes" — Founder — October 22
- "Add a test for connection pool behavior" — Founder — October 29
Step 5: Publish the post-mortem
Publish the post-mortem on your status page (or blog) for transparency. Customers appreciate honesty, and it builds trust.
For more on status pages, see our article on the SaaS founder's guide to status pages and customer communication.
Step 6: Follow up on action items
Review the action items in your weekly team meeting. Track them until they are complete. An action item without follow-up is just a wish.
Common Pitfalls and Troubleshooting
The first pitfall is not writing a post-mortem. Many founders fix the issue and move on, which means the root cause remains, and the incident repeats. The fix is to write a post-mortem for every incident (even minor ones).
The second pitfall is blaming individuals. If the post-mortem blames a person, the person becomes defensive, and the root cause (a system failure) is not addressed. The fix is to focus on the system, not the person.
The third pitfall is not identifying the root cause. If the post-mortem stops at the surface cause (e.g., "the database was down"), the root cause (e.g., "no connection pool monitor") is not addressed. The fix is to use the 5 Whys technique.
The fourth pitfall is not creating action items. Without action items, the post-mortem is just a document, not a change. The fix is to create specific, assigned, dated action items.
The fifth pitfall is not following up on action items. If action items are not tracked, they are forgotten. The fix is to review action items in weekly meetings until they are complete.
Common Pitfalls and Troubleshooting
When working with the saas founder's guide to incident post-mortems, several common pitfalls can undermine effectiveness. The first is over-automation. Automating everything sounds appealing, but some tasks require human judgment. The fix is to automate repetitive tasks (monitoring, diagnosis, deployment) while keeping humans in the loop for decisions that affect customers, billing, or security. The second is not testing changes before applying them. Whether it is a configuration change, a code change, or an infrastructure change, untested changes can break production. The fix is to always test in staging before applying to production, and to have a rollback plan. The third is not monitoring the automation itself. If your automated system goes down, you are flying blind. The fix is to monitor the automation system (e.g., with a dead man's switch) and to alert if it stops running. The fourth is not documenting the process. If the process is in your head, it does not exist for anyone else. The fix is to document the process in a runbook that anyone can follow. For more on documentation, see our article on how to build a deployment process your future team can inherit. The fifth is not reviewing regularly. Processes that work today might not work tomorrow (as the product grows, the traffic changes, the team changes). The fix is to review the process monthly and to adjust as needed.
Advanced Patterns and Best Practices
Beyond the basics of the saas founder's guide to incident post-mortems, several advanced patterns can improve outcomes. The first is incremental implementation. Rather than implementing everything at once, start with the minimum viable version and iterate. This reduces risk (smaller changes are easier to debug) and delivers value faster. The second is automation. Manual processes are error-prone and do not scale. The fix is to automate repetitive tasks (deployment, testing, monitoring) using CI/CD pipelines and automated tools. For more on CI/CD, see our article on how we built the CI/CD pipeline. The third is documentation. A process that is not documented does not exist for anyone else. The fix is to document processes in runbooks that anyone can follow. For more on documentation, see our article on how to build a deployment process your future team can inherit. The fourth is testing. Untested changes can break production. The fix is to write tests (unit, integration, end-to-end) and to run them in CI/CD before every deployment. For more on testing, see our article on the testing void. The fifth is continuous improvement. Processes that work today might not work tomorrow. The fix is to review processes regularly (monthly) and to adjust based on lessons learned from incidents, feedback, and changing requirements.
When This Approach Is Not the Right Choice
While the saas founder's guide to incident post-mortems is a valuable practice, it is not always the right approach. For very small projects (hobby projects, prototypes), the overhead of implementing best practices might not be worth the effort. The fix is to implement the minimum viable version and to add more as the project grows. For teams with limited resources (solo founders, small teams), prioritizing features over infrastructure might be the right call in the short term. The fix is to implement the highest-impact practices first (security, backups) and to defer the rest until the team grows. For projects with strict compliance requirements (HIPAA, SOC 2), the standard approach might not be sufficient, and you might need to implement additional controls (audit logging, access reviews, penetration testing). The key is to match the approach to your project's stage, resources, and requirements. For more on prioritization, see our article on the production checklist before your SaaS takes its first customer. For more on compliance, see the SaaS founder's guide to compliance.
Additional Considerations and Best Practices
When working with the saas founder's guide to incident post-mortems, there are several additional considerations that can significantly impact your success. The first is the importance of starting simple and iterating. Many teams try to implement everything at once, which leads to complexity, bugs, and delayed launches. The fix is to start with the minimum viable version, verify it works, and then add features incrementally. This approach reduces risk, delivers value faster, and makes debugging easier because changes are smaller. The second consideration is the importance of documentation. A process that is not documented does not exist for anyone else on the team. Document your configuration, your deployment process, your rollback procedure, and your incident response plan. Use runbooks that anyone can follow, not just the person who set up the system. For more on documentation, see our article on how to build a deployment process your future team can inherit.
The third consideration is testing. Untested changes are the leading cause of production incidents. Before deploying any change, test it locally, test it in staging, and run your automated test suite. If you do not have automated tests, start by writing tests for your most critical paths (signup, login, payment). For more on testing, see our article on the testing void. The fourth consideration is monitoring. Without monitoring, you cannot detect issues until customers complain. Set up health checks, structured logging, metrics tracking, and alerts for error rate and response time. For more on monitoring, see our article on monitoring your SaaS without hiring a DevOps engineer.
The fifth consideration is security. Security is not optional when you are handling customer data and payment information. Ensure all secrets are in environment variables (never hardcoded), enforce HTTPS, set security headers, use rate limiting on auth endpoints, and hash passwords with bcrypt or argon2. For more on security, see our article on a practical security checklist for early-stage SaaS. The sixth consideration is backups and recovery. Your database should be backed up daily, backups should be stored off-site, and backup restore should be tested regularly. An untested backup is not a backup. For more on backups, see our article on how to rehearse a database restore before you need one.
The seventh consideration is cost management. Cloud costs can creep up over time, and without monitoring, they can exceed revenue. Track your monthly hosting cost, set a budget, and use fixed pricing (like Deployxa at $9/month for 15 apps) to avoid surprise bills. For more on cost management, see our article on how to estimate deployment costs for a small SaaS. The eighth consideration is team communication. When things go wrong, communication is as important as the fix. Set up a status page, communicate transparently during incidents, and publish post-mortems after. For more on communication, see our article on the SaaS founder's guide to status pages.
These considerations apply regardless of your specific technology stack, team size, or business model. By addressing each one systematically, you reduce the risk of outages, data loss, security breaches, and cost overruns, which protects your revenue and your customers' trust.
Conclusion: Learn from Every Incident
Every incident is a learning opportunity. By writing a blameless post-mortem within 48 hours, identifying the root cause (5 Whys), creating specific action items, and following up, you turn incidents into improvements that prevent recurrence. Post-mortems are not about assigning blame — they are about improving the system.
Ready to write your first post-mortem? Use the template above for your next incident, and publish it on your status page. For more, see how to handle your first SaaS deployment incident and the SaaS founder's guide to status pages. Explore our free developer tools to speed up your workflow.