x

Confirm Download

Simultaneous file downloading works best in FireFox, Chrome, and Safari browsers. Please keep this window open until all downloads are complete. Some customers prefer using file download managers for Chrome or Firefox to better manage large and multiple file downloads.

Cancel Download

Building Maintainable Software

    • Introduction  (Free)

      This introduction segment will cover Željko's brief bio, the goals of the video training and how the videos are structured around the 10 guidelines for building maintainable software. It will also include a reference to the book.
    • 00:04:43

    • What is Maintainability and Why is it Important?  (Free)

      In this segment we will explain the following: • What is maintainability and how does it relate to other software quality aspects • Real-world examples of code with maintainability problems • Different types of software maintenance activities • That maintainability is important also in early stages of software development
    • 00:08:15

    • Overview of the 10 Guidelines  (Free)

      In this segment, we will introduce the 10 guidelines and explain the main principles behind them. We will tell the viewer that the guidelines should be applied in a disciplined fashion but that total perfection may not be feasible always. We will show examples of various real-world systems and the degree to which they comply with the guidelines.
    • 00:06:43

    • Short Units of Code: Applying the Guideline

      A walkthrough of a live coding session where new code is written that violates the guideline and a refactoring technique is applied to make the code compliant again with the guideline.
    • 00:21:45

    • Simple Units of Code: Applying the Guideline

      A walkthrough of a live coding session where new code is written that violates the guideline and a refactoring technique is applied to make the code compliant again with the guideline.
    • 00:33:13

    • Write Code Once: Guideline Introduction

      • Explains what the guideline is, discusses the threshold values and what the benefits of applying the guideline are • Shows code examples that violate the guideline
    • 00:05:10

    • Write Code Once: Applying the Guideline

      A walkthrough of a live coding session where new code is written that violates the guideline and a refactoring technique is applied to make the code compliant again with the guideline.
    • 00:13:55

    • Next Steps

      Overview of content covered and pointers to follow-up material.
    • 00:03:44

Building Maintainable Software

  • Publisher: O'Reilly Media
  • Released: January 2016
  • Run time: 4 hours 32 minutes

Do you want to write code that stands the test of time? Or do you want to perpetuate the nightmare of difficult-to-change code that many software developers face today? Building Maintainable Software offers a pathway to craftsmanship for those who want to do the right thing. In this video, software virtuoso Željko Obrenović introduces a set of guidelines for creating software that meets the gold standard of true maintainability. Each guideline is reviewed in detail, using real-world examples of code that follow—or don’t follow—these important rules.

With these videos, you will:

  • Gain a practical understanding of the ten guidelines critical to building maintainable software
  • Discover what maintainability really means and how it relates to other aspects of software quality
  • Explore why maintainability is especially crucial in the early stages of software development
  • Practice refactoring techniques that turn poor code into code that's compliant with the ten guidelines

Željko Obrenović is a principal consultant at Software Improvement Group (SIG). SIG conducts detailed technical analyses of software-intensive systems, translating technical findings into actionable advice for management. He has been a consultant at Backbase, an assistant professor at the Technical University in Eindhoven, and a researcher at CWI in Amsterdam. He is a member of the IEEE Software Advisory board and writes regularly about software and interaction design.