Overview:
This assignment will help you synthesize the ideas from our chapter on software reliability engineering and apply them to a real-world system. You will deepen your understanding by analyzing an actual Site Reliability Engineering (SRE) case study, first using your own insights and then enhancing your answers using AI assistance.
Step-by-Step Instructions:
Step 1: Review the Course Material
Carefully study the chapter 9 from the text and review the following slide deck:
Software Reliability & SRE – Lecture Slides
Step 2: Choose a Real-World Case Study
Go to the following site and select one case study that interests you:
SREPath Case Studies
Skim through a few different studies (e.g., from LinkedIn, Disney+, Slack, Uber, etc.) and pick one that provides enough technical detail for analysis.
Step 3: Analyze the Case Study
Answer the following questions based on your chosen case study and the ideas from the chapter:
- What key software reliability practices were used in the case study?
Were they proactive (e.g., chaos testing, SLIs/SLOs) or reactive (e.g., incident response)? - What types of testing or fault-tolerance mechanisms were mentioned?
How do these relate to the different types of testing and reliability strategies we discussed in class? - How was the system monitored and how were failures detected?
Connect this to the role of observability and telemetry in maintaining software reliability. - What could have been done differently to improve reliability earlier in the development process?
Reflect on prevention vs. detection, and design-stage vs. production-stage practices. - (Optional) If this system were safety-critical (e.g., medical, aviation), what changes would be essential?
Consider formal verification, fail-safe defaults, or regulated testing protocols.
Step 4: Use AI to Explore Additional Perspectives
Now use an AI tool like ChatGPT to explore each of your answers:
- Ask the AI for alternative solutions, related practices, or case comparisons.
- Summarize the AI’s response.
- Reflect: Did the AI suggest anything you hadn’t considered? Was it helpful or misleading?
📄Step 5: Submit Your Work
Your submission should include each question structured in this format:
For each question:
- Original Answer: [Your original response here]
- Exploration Summary: [What the AI said in response to your question]
- Revised Answer Reflection:[Improved or refined answer — or your thoughts about how your thinking changed (or didn’t)]
