(Context: I am talking about software development teams, who ship using agile methods)
There is only one way: Automation. Automate everything – tests, build, deployment, monitoring, failure notifications. Every kind of test.
I have been in various teams / products where we tried doing this and failed. But lately also part of team where we had accomplished this to a great extent.
Here are the usual symptoms of teams NOT able to accomplish this:
- There is a ‘code freeze’ and then there is a dedicated time span – about a week for the QA folks to test the coded new functionality. That means only one week’s worth of code is going to get shipped. Isnt that too little.
- Another one is that several bugs get introduced in during these rushed releases.
- The QA team is under immense pressure to ship within the given timeline.
- The initial part of the sprint is where QAs have lots of free bandwidth.
For a heavenly sprint Automate the builds / deploys and automate tests at various levels.
Unit tests, functionality / UATs test automation, automate code coverage measurement, automate look and feel testing, automate security and performance testing and setup rules that if any of these produce major failures – then fail the build and send a notification to the developers / whole team.
Comprehensive Automation keeps the quality bar really high. At the same time, the developers & testers have to be on their toes to be able to produce such a level Automation.
When this happens here is how a typical sprints looks like:
- Dev and QA are involved early on during the design / requirement understanding stage.
- The sprint deliverables are broken into small byte sized tasks. Most of which can be coded in less than a day / 2 days.
- As and when these tasks are coded, QA starts testing them ( including automating their tests).
- Towards the end of the sprint only a few ( say 2 ) tasks are still being coded which typically finish on the second last day.
- And there is this last day for testing to finish off stuff and devs to fix any bugs.
- Last day EOD – release !
So practically the ‘code freeze’ duration is just one day (or less). Heaven, isnt it ?
Automation is an engineering team’s brahma-astra to achieve God speed.
May automation be with you ( may God be with you 🙂 ) !