There is something really #Agile about the ways by which this successful and very extreme testing resonates with me as a Scrum Master and Certified Scrum Professional.
This film is worth watching as you can see and hear the ways by which Boeing test pilots have subjected the new 747-8 Freighter to extreme testing.
Watch and you can see, hear and experience the ways that the plane has been dragged, dropped, soaked, forced to hover, shudder and flutter. This testing has costs millions of pounds. The testing takes the plane to the most extreme limits of what is to be expected when in the real world, or in software terms, the ‘live environment’.
Interestingly, there are a number of what in software development we call ‘negative Use Cases’ such as deliberate stalls and flutter tests. The testing from what in Agile we call beta testing. Way before live!
It might be worthwhile where I am ‘coming from’. I work in the civil service and we have this fab team at the GDS that undertake the research and shape policy so that we can be the most effective in delivery. To this end, we are all Agile teams most of us use Scrum, Kanban or Scrumban.
Government Digital Service: UK Policy
Notice the similarity with the testing of the plane and the UK Government policy around what constitutes the end of the beta phase:
- delivered an end-to-end prototype of the service (including SIT, stress and performance testing)
- a collection of prioritised work to be done (your Product backlog)
- a user testing plan (UAT)
- accurate metrics and measurements to monitor your KPIs (given the above for performance, stress and integration)
- fully tested the assisted digital support for your service
- a working system that can be used, for real, by end users
Because it is an #Agile design notice that component testing, performance, load, stress and continuous integration run all the way through the software product lifecycle. We would also ensure a full regression test at the end of the cycle.
This is because we want to identify and fix any bug as part of continuous agile improvements and not wait until the end of all the software development has been finished and have a large ‘testing phase’ at the end delaying delivery and be reliant upon a small team rather than having those skills (and availability of automated technologies) in each and every Scrum team.
Once you have this concept, then notice the shift as we Go Live:
To provide a fully resilient service to all end users the service should now meet all security and performance standards. You have configured your analytics to accurately monitor the key performance indicators identified in the building of your service.
I write this in the hope of looking forward we can get a deeper sense and appreciation of the fantastic ways by which Agile (when understood and implemented properly) ensures the highest quality. It also ensures the most effective use of resources and flexible responses to feedback from customers- this ensuring that time, quality and costs (the ‘holy trinity’) are maximised.
Take care Jason