Accepting change is hard. Getting other people to change is even harder. The hardest of all is getting change to last. Often, transformation efforts last only as long as the change agents are around; teams revert back to their old behaviors when they leave. This has a lot to do with confidence and buy-in. Change is usually rushed, and forced by “experts” who use phrases like “trust me” or “this is industry standard”. With a rushed process, it is easy for people to resist change, thinking that the change does not apply to their culture, problem or domain. But with some extra time, commitment, relationship building, and empathy, lasting change is possible.
I am a huge Star Wars fan. I was born after A New Hope was released, but was at the sweet spot for Star Wars toys when Empire and Jedi spawned merchandise like only an 80’s franchise could. In high school, I boasted that I read over 30 expanded universe novels (which I now realize was not the kind of boast that I should have made in high school). To this day, my office at home is literally wall-to-wall Star Wars books, toys, posters and no fewer than 8 lightsabers.
If you read past the break there are, most definitely spoilers.
When I first learned unit testing and Test Driven Development, test frameworks were very light and mocking frameworks were just coming into the picture. I was writing a lot of C++ back then, and if I wanted a mock I would implement my class interface and link my test to the mock version instead of the production version. Fast forward 15 years and we have extraordinarily advanced mocking frameworks (and I mostly write Java these days). While new libraries have come and gone, Mockito remains my favorite. It has a good balance of a straightforward syntax and a very complete feature set. In fact, a bit too complete if you ask me.
Software testing is what divides good developers from great ones. Join me, the James’s and David as we talk about some of our favorite test strategies, including TDD, in the first of what I’m sure will be many conversations about testing.