Chapter 1 of 6 · Cisco CCNA 200-901 DEVASC
Software Development and Design
Data formats, TDD, development methods, design patterns and Git.
- 7topics
- 28 minfast track
- 1diagrams and exhibits
- 15%of the exam
Topics in this chapter
Take them in order, or jump to the one you need.
- 1Comparing XML, JSON and YAMLCompare the XML, JSON and YAML data formats, see the same data written in each, and learn where network automation uses them and…4 min
- 2Parsing XML, JSON and YAML into PythonLearn how Python parses JSON, YAML and XML text into dictionaries and lists, and how to read nested values with the json, yaml…4 min
- 3Test Driven DevelopmentUnderstand test driven development, the red green refactor cycle, and how unit, integration and functional tests differ, with a…4 min
- 4Agile, Lean and Waterfall ComparedCompare the agile, lean and waterfall software development methods, their phases, strengths and weaknesses, and when each one is…4 min
- 5Functions, Classes, Modules and Design PatternsSee why code is organised into functions, classes and modules, and how the MVC and Observer design patterns keep programs…4 min
- 6Version Control and Everyday Git CommandsLearn why version control matters and how to use Git clone, add, rm, commit, push, pull, status, log and diff to track and share…4 min
- 7Git Branches, Merging and ConflictsLearn how Git branches isolate work, how merging combines them, why merge conflicts happen and how to resolve one step by step…Diagram4 min
About this chapter
What this chapter covers
This chapter covers the software skills that every network automation engineer needs before touching an API.
You learn how data is written and parsed, how code is tested and organised, how teams plan their work, and how changes are tracked in Git.
None of this is specific to Cisco. It is the common language of developers, and later chapters assume you already speak it.
How the topics fit together
A script starts with data, is built from well organised code, is tested, and is stored in version control.
Data formats come first because almost every later topic exchanges JSON, YAML or XML. Parsing shows how that text becomes Python dictionaries and lists.
Code organisation and design patterns explain how to keep a growing script readable. Test driven development shows how to prove the script works. Development methods describe how a team plans and delivers the work.
Git ties everything together. It records each change, lets people work in parallel on branches, and gives you a safe way to merge their work.
Git and testing return in the chapters on deployment and automation, where they become part of a CI/CD pipeline.
How to use these pages
Each topic page has the same shape, so you can skim for what you need.
- What it is: the idea in plain words.
- How it works: the mechanism, with diagrams and short code examples.
- What to remember for the exam: the facts to memorise.
- Common mistakes: the classic traps.
- Check yourself: three questions to test your understanding.
Type the code examples yourself and run them. Parsing, testing and Git are skills that you only learn by doing. A free Git account and a Python installation are enough to practise every example here.
Ready for more practice?
The full Cisco CCNA 200-901 DEVASC question bank has 808 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by Cisco. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.