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.