Agile + DevOps West 2023 Tutorial: Test-Driven Development for the Uninitiated


Tuesday, June 8, 2021 - 10:00am to 5:30pm

Test-Driven Development for the Uninitiated

You might have heard of test-driven development (TDD), a practice where tests are the drivers of the code, and you want to know more. You might have even tried it, but come away feeling dejected and confused. Now is your chance to have an expert show you the ropes! TDD is the best practice for high-quality, low-defect-count software. That said, why is it still unfamiliar to many developers? Byron Katz will do his part to help rectify that issue, through this intensive workshop led by an experienced practitioner. But what is TDD? Practically and simply, in TDD you write a test first, then you write the code it tests. It may initially seem a bit backwards, but soon you see the benefits. Consider, for example, how often during unit testing you get an idea to improve the code. In a way, you are performing TDD right then, but if you totally embrace it you will get so much more. It can be done in any programming language, and is actually a pleasure once a developer gets past the initial paradigmatic hurdles. It is absolutely possible to start in a small and simple way and then gradually move on towards sophistication. If you are committed to quality work, TDD will allow you to confirm many of the nuanced behaviors of your code. Following this practice will lead to greater confidence in the work, better documentation of the system, higher internal code quality, and lower technical debt. All that, and it takes hardly any longer to do (past the initial introductory stage) There is really no good reason to avoid trying this out, and it's actually a lot easier to get started than you may think! 

NOTE: This is a hands-on workshop, please bring a computer. We'll provide pre-configured Windows systems available through Remote Desktop Protocol (RDP). The access program is already installed if you are using a Windows machine. Otherwise, you will need to download an RDP client. Also, your network access to the machine may be restricted due to security settings on your machine. Check with your network admins to make sure you are able to access a remote machine by RDP on port 3389.


Byron Katz has been in love with computers since his father bought the family a Commodore 64. A degreed architect, he found his way back to software development in 2010, and his career has included roles as a quality assurance lead, a full-stack developer, consultant, and sales engineer. Byron has experience at software firms ranging from start-ups to large enterprises to government projects. His primary project experience has been as a full-stack developer of multi-tier web projects in Java and .Net, but most recently Byron has had the opportunity to practice DevOps. He enjoys making seemingly-difficult concepts accessible to a larger audience, and his agenda is to persuade others that the costs of quality, simplicity, and beauty pay for themselves in the long run.