Tag Archives: Automated Testing
According to Dictionary.com, “agile” is defined one way as “quick and well-coordinated in movement; lithe.” It’s a great way to describe an acrobat or athlete, but the term also applies to business. Within software development, the definition’s important because “agile” must happen quickly but also be well planned. Agile’s core tenets are to pull teams together in a collaborative, simple, transparent, and flexible manner, so they can work together to produce quality work on deadline.
Agile involves all of the stakeholders in the process (including customers) to put in their “two cents” during production. A crucial part of this process is testing because it needs to be conducted during every stage of the development. The point of this repeated testing is to gather feedback from all of the stakeholder groups, so the final project will best reflect all of their needs and expectations.
Some debates are not easily resolved. Kanban or Scrum? Vim or Emacs? In the world of software, many technical engineering debates are created but never settled. True, most engineering debates can be emotional or reductionist; however, they often have little to do with actual engineering benefits, but everything to do with opinion. So it raises the question: Which testing method is the best?
One thing we can all agree on is that developers of monolith applications (of varying skill levels) have all at some point updated and patched programs, introduced complex logic, which has caused performance inefficiencies, dead code, and piles of technical debt. It makes things that much harder to change or work with, it creates inefficiencies, and naturally, reworking costs more time.