Test Driven Development is something you learn over very many difficult weeks or months, it is a hard concept to teach, it is becoming more accepted but still slowly
“Clean Code” – had to abandon a tradition in software development when writing this book and laid out rules telling people what to do
“The Clean Coder” – was a backlog from “Clean Code” about how to be a professional programmer
The ranks of programmers are doubling every 5 years, so half the people doing the work have less than five years experience, the industry is in a state of perpetual inexperience
Craftsmanship movement began as a response to the technical community feeling like they were kicked out of the “agile” house that they built as it became more about people and process – the desire is to bring the two camps back together
Kent Beck said “The goal of agile was to heal the divide between technology and business” – the focus has been mostly on the business side
We need a set of ethics and standards that define a profession for software development – the agile and software craftsmanship communities are the right ones to do this as it needs to be done by practitioner
Craig is at the YOW! Connected conference and talks to Mark Pedersen, the CTO at KJR, and they talk all things quality and testing:
the changing role of a tester in an Agile environment, it clarifies the role rather than making it blurrier
in an Agile environment it does not make sense to have a Test Manager role anymore
the number of dedicated testing roles are decreasing, but becoming more important and valuable
most organisations say that they use both waterfall and agile frequently
build your skills in either a quasi analysis / product owner / acceptance criteria role or get up to speed with sensible technical automation tools for your tech stack
TDD – good idea but not many organsations practicing it in a dedicated way, unit testing in most industries is a luxury
BDD – does not make TDD obsolete, defining acceptance criteria upfront helps understand what we need to code
pair programming – does not deliver much benefit from a test perspective, unless the tester has technical expertise, adoption is still very low
mobile testing is challenging and IoT will take it to another level – customer expectations are higher for these devices, they are thought of more like traditional mechanical devices
mobile and IoT is driving the demand for testers to become more technical – more API and distributed technology tests