The most technologically mature Agile teams are doing test- or business-driven development, where most (if not all) tests are automated in parallel with development, and code is written to pass the test. This requires the right staffing, right process maturity, and most important, the right software product. Web or Windows form-based software testing can be almost fully automated. An embedded system or something with an extensive manual user interface will have far more difficulty “avoiding” manual testing.
No matter the product, some amount of manual functional and regression tests can be automated. There are many architectures of automation platforms, across all platforms and operating systems, and regardless of what type of system is being tested, it is worth pursuing that goal. The more basic system functionality and repetitive regression tests can be automated, the more manual testers can focus on business workflows, defect exploration, negative conditions and other nooks-and-crannies that can turn a system from decent to robust.
In an Agile process, the velocity of development and churning out releases at the end of every sprint will overwhelm a manual tester without some sort of automation. If a tester has to manually execute tests for new functions, verify bugs, and run the system through regression every two weeks…the pace will eventually wear the test team members out and cause defects to slip through. In Agile, poor quality is a small snowball at the top of a powder-covered peak; once the ball starts to roll downhill, gaining size and speed, the odds of bringing it back to the top of the mountain quickly drop to zero. The only way to stay on track is to take manual tests and automate as much as possible.
Even with a commitment to automation, however, the path to converting manual tests can be blocked before you even begin if the manual tests are not written in a way to make them automatable. The automation developer uses manual test scripts as a blueprint to writing code. The blueprint is worthless if the manual test case is unclear, lacking detail, or overly general.
Here are some examples: