Description:

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.

Target Audience:

Duration: 01:09

Description:

Simple systems and software are proven to be easier to develop, understand, maintain, and test. For site reliability engineers, simplicity should be an end-to-end goal and cover all aspects of the software life cycle.

In this course, you'll explore the importance of simple systems and software code. You'll identify the different types of software complexity, such as structural complexity, organizational complexity, complexity of use, and theoretical complexity, and learn how to differentiate between complex and complicated code.

You'll move on to recognize how to measure complexity using various metrics, such as cyclomatic complexity, the Halstead metric, and the maintainability index. Lastly, you'll examine class coupling, using NPATH to measure the complexity of a piece of code, and prioritizing the simplification of projects and resources.

Target Audience:

Duration: 01:18