Beyond Agile to “Agilimation”
Two of the most defining features of Agile development are speed and flexibility. Working software is delivered fast. One of the reasons is the integration of testing throughout the development process, which ensures defects are detected early and fixed quickly so that the process can continue. Testing takes time, however, so what can be done to maintain quality without sacrificing speed? Agilimation.
Agilimation = Agility + Automation
The flexibility of Agile development gets a significant boost with the addition of automated testing. By creating automated tests that can be re-run many times over, you increase your ability to identify and fix small defects before they become big problems. Test automation also allows you to widen the net in terms of what gets tested. Perhaps the highest value of automated testing comes from the freedom it provides to focus limited resources on manual test efforts where they are needed most. Overall, automated testing can reduce risk, accelerate delivery schedules and save money.
Here is how an automation platform supports Agile testing:
- Test early and often
- Adapt quickly to change
- Collaborate Automation Platform
- Script once, run many
- Reusable, maintainable
- Source control
- Shared libraries, methods
Key Tenets of Agilimation
- Automation work doesn’t need to wait for the end of a sprint–start at the beginning, as a feature is being defined.
- The role of tester expands to software development engineer in test (SDET).
- Testers/SDETs and developers collaborate and work in parallel.
- The following conditions must always be true:
- What was defined by the team is what actually gets delivered.
- Changes to what is being delivered are communicated throughout the team immediately.
The Agilimation Manifesto
- The tester/SDET works with the developer to create automated feature tests used during development.
- Test Early
- The tester builds on initial tests to develop a complete feature integration test.
- Test Often
- Once the feature passes feature integration testing, the automated test is added to regression to validate successive builds.
Yogi Berra said, “The future ain’t what it used to be.” The same is true for Agile development and its integrated testing components. The software development life cycle (SDLC) has undergone a remarkable evolutionary process over the last few decades. It has moved from plodding Waterfall, to a more quality-enabled V-Model, and on to Agile, where collaboration and product usability are the focal points. The keyword in this evolution has been velocity. We have observed software release cycles reduced from years or months, to weeks or days. And velocity is still on the rise. The trends we see now are continuous integration, continuous deployment and continuous delivery of product, almost on demand. We’re talking about cycles measured in minutes or even seconds as this continuous process adjusts to meet the demands of the modern marketplace.
The best news: Quality assurance will always be a key factor in the success of any SDLC process, whether slow or fast, and automation will remain a critical tool for keeping pace with growing demand and increasing speed.
Source: Galmont Software Quality Assurance