Monday, February 2, 2015

Why I am learning TDD.

I am in the middle of a journey.  By day I am the scrum master for agile teams across two continents.  In the evenings, I am attempting to run a business and do development for that business.  It is not easy.  One of the hardest things about my job is that I have to improve my knowledge every 18 months or I will become stagnant.  A technology professional who does not continue to grow and develop, is someone of diminishing value.  This week, I would like to discuss that trend.

A software developer is a profession which is constantly learning and evolving.  When I began working as a software developer; Visual Basic 6 was a popular tool for enterprise applications.  Active X Data Objects were the means to connect to an SQL Server 7 database and ASP classic was just starting to supplant perl script for web development.  Today, all of those technologies are considered obsolete.  If I had not bothered to learn the newer technologies coming over my career I would be out of work today.  I had to learn Entity Framework, MVC, C#, and cascading style sheets otherwise I would be unemployable.

Fortunately, developers and other technology companies have numerous tools to retrain themselves with the new technologies as they come out.  There are educational video services, countless on-line tutorials, and numerous user groups around the United States to help software engineers keep their skills sharp and up to date.  Finally, developers are natural tinkerers and so they spend hours and even days learning to master new skills.

I am talking about this today because over the next few weeks I am going to start working on a project for work and at the same time I am going to attempt to master test driven development.  I know it is not going to be easy but I think with some hard work, I will be able to adequately author tests and help others understand why this is a good approach.  I have been putting off this learning for a long time so I hope it will make me a better scrum master and developer.

Until next time.