AgileTODAY is a publication associated with the Agile Australia conference. In the May 2018 edition I was invited to reflect on one of my past presentations and how it stood the test of time.
Craig spoke on “The Speed to Cool: Valuing Testing and Quality in Agile Teams” at Agile Australia in 2011. Craig is an Agile Coach and Director at Unbound DNA and works as a Trainer and Consultant at Software Education.
In 2011, my talk highlighted the need for a greater understanding of the changing role of testing in Agile environments and the need to build quality into our solutions from the beginning.
Fast forwarding to 2018, the community is improving in this space but still has a long way to go. The rise in popularity of DevOps has helped immensely in this area, although it astounds me how many teams and organisations I work with still do not have some of the basic building blocks in place (like continuous integration or sometimes, worryingly, version control). Many organisations still have a large focus on manually testing via the UI which becomes increasingly riskier and slower as the importance of digital continues to rise.
In my talk, I spoke about what is now referred to as the “three amigos” concept. In the ‘conversation’ around a user story, three key principles outline how to actually implement the work:
- When developers and user representatives collaborate we get a better understanding of the specification or the requirements.
- When testers and user representatives collaborate we get a better understanding of the acceptance criteria and how we will meet our agreed definition of ‘done’.
- When testers and developers collaborate we get a better understanding of quality, but also get the value of pairing on automated testing.
Approaches such as Behaviour Driven Development have risen in popularity and support the above model well but, as I highlighted in the talk, this requires behavioural changes across the team. Mainly:
- User representatives need to have a greater testing involvement, working closer in real time with testers.
- Testers need to build technical knowledge and work closer in real time with developers, understanding developer tests and interfaces to avoid rework and improve quality.
- Developers need work closer with the user representatives on the requirements collaboration, as well as with the testers to ensure that testing artefacts are left behind.
We need to appreciate testing as a team skill set and not as a job or an anchor. While this now occurs more frequently in the Agile community, many organisations still have a long way to go. Testing remains an important skill, but mindsets and skill sets need to change to fully embrace an Agile way of working.
At the recent YOW! Night in Brisbane (as well and Sydney and Melbourne), Lindsay Holmwood (the Head of Technology at the DTA) presented “Breaking the Cylinders of Excellence”. It was a rare experience to hear the story of how the DTA is using cutting edge development practices to help the government catch up with, and even exceed, the public sector.
- DTA – aid transformation in government, small agency
- Delivery hubs in Sydney and Canberra – help identify and plug capability gaps in teams
- Prototype of how government services could work gov.au/alpha
- Digital Service Standard – 13 characteristics on what good looks like in government, useful in organisations as well
- Cloud.gov.au – government cloud service, usage growing, continuous delivery pipeline (which is a major change for government who are used to 2 changes per year)
- The unit of delivery is the team – not about individuals, but the team – borrowed from GDS
- Government is slow, but government is designed to be stable, they cannot fail, they have characteristics that are resistant to change
- Myth that organisations must choose between speed and reliability, high performing organisations deploy more frequently, have shorter lead times, fewer failures and recover faster, but they also have a greater profit
- Want to deliver like a startup but be stable like a government
- Not a lot of cross pollination between departments currently
- Read the policy! – quite often the process is not mandated
- Document what works and doesn’t so it becomes a repeatable pattern – ie. running a meetup inhouse, don’t tell me I can’t do it, tell me how I can run it without being thrown in jail!
- Stick with technologies the government is comfortable with if you are changing the delivery engine
- Security matters – prevention is a battle you will always lose, detection is your best defence – aggregate and log in one place, identify threat signatures, etc
- Embed security people on big services so it is part of the architecture
- Proactive testing between different governments around the world on similar platforms
- Simplest security breaches make the most mess – infected excel macros, leaving free USB keys in the foyer that are malware infected
- Need to put user needs first – alpha mockup using tools like Jeckyll, then beta then live
- Lots of people strictly interpret the design and delivery guides – they are guides not rules!
- Create a longer runway by pulling tech forward – turn down the volume of design, turn up the volume of tech
- If it hurts, do it more often!
- Fixed cost delivery with agile is a thing, agile is a way to de-risk in the government
- Don’t put manual testing on the critical deployment path – have special skills on hand for accessibility, performance and security
Lisa Crispin and Janet Gregory talk about how they came to collaborate on the “Agile Testing” books, the testing skillset and approaches to learning, and new and interesting approaches to testing.
Source: Lisa Crispin and Janet Gregory on (More) Agile Testing, Learning and New Approaches