Runbook Driven Development
- The Next Generation DevOps
Summary
- The principles and benefits of TDD (Test Driven Development) are well understood and frequently adapted within Extreme Programming (XP) and Agile Development.
- Test Driven Development moves the writing and scripting of test cases ahead of development.
- The “Runbook Driven Development” moves additionally writing the Runbook ahead of writing the test cases.
Having an DevOps expert within an agile development team already utilizing Test Driven Development,
- the introduction of “Runbook Driven Development” is simple,
- but the gains are significant:
- The Runbook will be available at time of delivery.
- The early Availability of the Runbook enables Testers and Developers to reuse that information.
- The Quality of the Runbook will be higher, as it is validated through testing and development.
Introduction
- A Runbook is a mandatory part of delivery – there are no doubts about that.
- But WHEN to write the Runbook?
DevOps recommends to start writing the Operations Manual already during development phase, within agile sprints.
Within an agile development team that includes an DevOps expert,
- the architect has the clear vision how the functionalities being developed should work, and how to operate those,
- the developers and testers gain deep understanding during the analysis and specification of backlog items being worked on,
- the tester, participating in analysis and specifications gains the knowledge how to test the backlog item.
Conclusion: The team knows all details to be documented in the Operations Manual!
Question: Why to delay writing that chapter of the Operations Manual, resulting later in additional work to explain an document writer what he should write?
Recommendation: Go one step further! - Write the Operations Manual first such that TDD (Test Driven Development) can already utilize (and verify) the Operations Manual!
The Situation in an Agile Development team having a DevOps member utilizing Test Driven Development
Having a DevOps member in the development team will ensure that the the Runbook is written within each sprint.
Both Testers and Developers need to understand the new application's functionality and how it will be operated.
Concept
- The principles and benefits of TDD (Test Driven Development) are well understood and frequently adapted within Extreme Programming (XP) and Agile Development.
- The "Test Driven Development" moves the writing and scripting of test cases ahead of development.
- The “Runbook Driven Development” moves additionally writing the Runbook ahead of writing the test cases.
- The Runbook will be available at time of delivery.
- The early Availability of the Runbook enables Testers and Developers to reuse that information.
- The Quality of the Runbook will be higher, as it is validated through testing and development.
Examples
Frequent Problem | Test Driven Development | RunBook Driven Development |
---|---|---|
The application is delivered without Runbook. | That can't happen because the Runbook has been written already before or during writing the test cases. | |
When writing test cases, the tester identifies questionable implementation of a certain functionality which was not clearly specified and developer implemented based on his personal opinion. | This is identified before implementation, an issue is raised immediately resulting in more clear specifications or even improved functionality specified. | Missing functionalities, e.g.
|
The tester needs to study specifications to figure out how to run the application. | The tester has to ask the architect or developers. |
|
|
|
|
The application is "thrown over the fence" after passing a minimal number of test cases. | Much higher number of test cases have been developed and scripted already before start of implementation. | Test cases include scenarios important for Operations Team. |
After last minute changes only a few test cases related to the change are executed, but not all functionality is tested. | Automated testing will cover all test. | Automated testing will cover all test. |
Template Application Runbook / Operations Manual
This template for an IT Operations Manual / Systems-Runbook will help you
- that no important item is forgotten and
- a common handbook structure is used throughout all systems. This will support easy cross-system troubleshooting and documentation.
- compliance with documentation-requirements for systems and processes required by internal QA-department or internal auditing department or external auditors or other organizations and laws