SRE Simplicity: Simple Software Systems

SRE    |    Intermediate
  • 15 videos | 1h 8m 32s
  • Includes Assessment
  • Earns a Badge
Likes 103 Likes 103
When creating a simple software system, it is essential to identify and remove any unwanted complexity, whether accidental or essential. By eliminating complexity, site reliability engineers can ensure the final software product is more stable and reliable. In this course, you'll learn to differentiate between agility and stability and explore the importance of stability testing. You'll learn about key metrics and methods, such as production analysis and agile process metrics, which can be used by software development teams to ensure business goals are met. Lastly, you'll learn how to avoid introducing potential defects and bugs by limiting the number of negative lines of code in a project.


  • discover the key concepts covered in this course
    outline software development stability and how it relates to SREs
    outline software development agility and how it relates to SREs
    describe stability testing and why it's performed
    differentiate between agile metrics, such as lead-time, cycle time, team velocity, and open/close rates
    contrast mean time between failures and mean time to recovery/repair
    outline security metrics and how they relate to software quality
    recognize how to formulate a value hypothesis
  • differentiate between essential complexity vs. accidental complexity and recognize how simple, "boring" software is ideal
    describe source control systems and how to deal with engineers who do not want to share code
    identify how APIs can lead to a path of simplicity
    define the "negative lines of code" metric and describe why it is important
    describe the modularity of APIs
    differentiate between simple and complex releases
    summarize the key concepts covered in this course


  • 1m 29s
  • 7m 55s
    In this video, you'll learn more about software development stability and how it relates to software teams. You'll learn that organizations want to have teams that they know or can accurately guess what they're going to get and when they're going to get it. They'll outline the things you can look at when thinking about your software development stability. FREE ACCESS
  • Locked
    3.  Software Development Agility
    4m 50s
    In this video, you'll learn how to outline software development agility and how it relates to SREs. When we talk about agility, we can break it down into three categories which include the different ways teams are able to handle change. Teams that are good at handling change usually have an agile method implemented like scrum, kanban, orXP. FREE ACCESS
  • Locked
    4.  Stability Testing
    5m 49s
    In this video, you'll learn more about stability testing. You'll learn that it's a mechanism of checking that software meets certain criteria. This ensure the software works under certain conditions, scenarios, scales, and so on. | | | Watch this video to explore this topic and describe how it's performed. You'll discover that stability testing measures the ability to continue functioning under certain conditions and over time. FREE ACCESS
  • Locked
    5.  Agile Process Metrics
    6m 15s
  • Locked
    6.  Production Analytics
    6m 29s
    In this video, you'll learn how to contrast mean time between failures and mean time to recovery/repair. You'll discover that calculating MTBF is a data-driven calculation of how long your systems will last without failing. You'll also learn about the MTBF, which is a measure of reliability like a warranty period. If you or your customer don't like that number, then you have work to do. Finally, you'll learn what to do about low MTBF numbers. FREE ACCESS
  • Locked
    7.  Security Metrics
    5m 29s
  • Locked
    8.  Value Hypothesis
    1m 56s
  • Locked
    9.  Essential Complexity vs. Accidental Complexity
    4m 3s
  • Locked
    10.  Source Control Systems
    5m 58s
    In this video, you'll learn about source control. You'll discover that if you're not using source control, you really need to. Source control is a mechanism by which you can store, version, track, control, and manage your code. FREE ACCESS
  • Locked
    11.  API Simplicity
    3m 54s
    In this video, you'll learn how to identify how APIs can lead to a path of simplicity. You'll discover that distributed applications typically communicate through APIs. To maximize the successes of dependent applications, these APIs must be built right. This means making sure they're minimal and not bloated with too many features. FREE ACCESS
  • Locked
    12.  Negative Lines of Code
    5m 52s
  • Locked
    13.  Modularity
    4m 6s
    In this video, you'll learn more about the modularity of APIs. You'll discover that it's important to keep two things in mind, complexity of systems and loose coupling. Systems can be complex, some of that is unavoidable, and we call that essential complexity. But just because a system can be distributed and complex doesn't mean it has to be complicated. By invoking certain practices and policies, developers and support folks can handle all that complexity with ease. FREE ACCESS
  • Locked
    14.  Simple Releases
    3m 19s
  • Locked
    15.  Course Summary
    1m 9s
    In this video, you'll summarize what you've learned in the course. You've learned the importance of creating simple software systems. In this course, you explored both software development stability and agility and how each relates to SREs. You also learned about stability testing and its importance, agile process metrics, production analysis and security metrics. Other topics include source control systems and API simplicity, the importance of negative lines of code metric and modularity of APIs. FREE ACCESS


Skillsoft is providing you the opportunity to earn a digital badge upon successful completion on some of our courses, which can be shared on any social network or business platform.

Digital badges are yours to keep, forever.