TDD is a software development approach in which a test is written before writing the code. When TDD is properly set up, it can bring numerous advantages and become a cost-saver, providing true value to the business. When TDD is not properly set up or without understanding how it should be used, it can be a waste of time and money. Quality comes not from inspection but from the improvement of the production process
In the agile world, there is a concept of “smells,” or symptoms that things aren’t going well. Introduced by Kent Beck and expanded on by practitioners, smells now describe problems involving adoption, coaching, design, code, and teams. When we see these symptoms, we can identify opportunities to improve.
Karen Favazza Spencer writes of the time her team members had to modernize and expand the capabilities of their legacy system. In this situation, Karen took on the role of ScrumMaster, implemented several helpful agile techniques, and empowered the team to share leadership of the project with management.
Kent McDonald introduces us to Arthur, a middle manager and product owner in a medium-sized insurance company who has been assigned to take on an agile project. For those unfamiliar with agile, the terminology and techniques of agile approaches can seem strange and often a little silly when not accompanied with an explanation as to why those techniques exist. Kent explains the challenges product owners like Arthur face and how to make product owners understand agile better.
You have heard about agile software development techniques such as eXtreme Programming (XP), Scrum, and Agile Modeling (AM). The industry is buzzing with everything from "this is the greatest thing ever" to "it's just hacking with a fancy new name." Comments like "there is no place for testers because developers and users do the testing now" and "testers play an important role in the agile methods" are both common. Scott Ambler, an early proponent of the agile movement, explains the fundamentals, values, and principles of agile development. He describes a range of agile techniques and explores many myths and misconceptions surrounding agility. Agile software development is real, it works, and it may be an important part of your future in testing. Better testing and improved quality are critical aspects of agile software development, but the roles of traditional testers and QA professionals on agile projects remain unclear.