The idea of Test-Driven Development (TDD) has been around for a while. American software engineer Kent Beck, among others, is typically credited with bringing and leading the TDD movement along with agile software development. Agile software development requires very short build-test-deploy development cycles; all of the software requirements are turned into test cases. These test cases are usually written before the code is written, and the software code is only accepted when the test passes.
The same idea can be drawn in parallel with network engineering. When we face the challenge of designing a modern network, we can break the process down into the following steps:
- We start with the overall requirement for the new network. Why do we need to design a new or part of a new network? Maybe it is for new server hardware, a new storage network...