Sunday, 21 May 2017

Dev Ops Article in May Test Magazine

On the 21st of March I hosted a “Dev Ops and QA” session at the Test Focus Groups in London.
This turned into a small 2 page article for Test Magazine in the May 2017 issue.

The write up is based on the discussions over the day.

I try to summarise what DevOps meant to the people in the meetings, their concerns and some of the experiences we discussed.

Some of the features people associate with DevOps being:
  • faster delivery into production
  • continuous deployment into production
  • automated ‘everything’ (deployment, testing, monitoring, alerting, rollback, etc.)
  • cheaper environments (use of cloud infrastructure)
Devops we described as a culture where the Software Development process encompasses the entire scope of System Development from requirements through to Operational Deployment and Support.

It became clear from the discussions that one highlight of DevOps was that QA could finally be used to describe the process. QA does actually mean Quality Assurance. Because Devops brings together Software Development and Operations from the start point of requirements through to Operation. Possibly for the first time a team can have full requirement life-cycle and the term QA implies assuring quality at every stage in the process from requirements gathering through to operational production support.

We discussed if testers would still be required. If we take the view that a team has full requirement life-cycle responsibility then that worry would seem unfounded. But companies do interpret Devops as programmers and operations staff merging, and relying on automated assertions to provide assurance, in this situation Testers may find themselves at risk. Those of us in a testing role should not be complacent. When teams work more closely together and collaborate there is an expectation that we can add value to more processes.

An adoption of a Devops culture does mean overlap of abilities in the different roles and testers will need to increase their technical understanding of the systems they work on, and their ability to interact with the system and support tools on a more technical level.

Testers also need to be able to communicate the value that their approach to testing adds to the development process, and how it differs from an automated acceptance checking and TDD process in order to help organisations develop a culture that does engrain both testing and QA into the full lifecycle.

DevOps does offer challenges to the World of Testing but also offers opportunities to System Development as a whole and Testers, as ever, need to adapt their testing approach to the needs of the organization. You can find more information in the actual article in “Test Magazine” May 2017

Thursday, 11 May 2017

Slides from OdinStar 2017 Keynote - Real World Automating To Support Testing

I have added the slides for my OdinStar 2017 keynote to Slideshare.

This 45 minute talk stressed 5 main points:

- abstract for precision not reuse
- synchronise effectively
- automate tactically and strategically
- automate tasks, processes, flows - not 'testing'
- create architecture not frameworks

A good question on the talk was "How do you move from automating tactically to strategically?"

And I think you do it by a process of refactoring, experimentation and seeing what works.

On previous projects we have:

- compared approaches that we are doing tactically and discussing pros and cons, also risks for the future and limitations
- gradually refactored code to make it flexible enough to support our needs

I don't think any of the approaches were - 'rewrite to better' they were always: refactor, evolve, adapt.

Books I recommend to support this are:

- Working Effectively with Legacy Code by Michael Feathers
- Implementation Patterns by Kent Beck
- Growing Object Oriented Software Guided By Tests by Steve Freeman, and Nat Price

I also recommend learning how to model well. A modern book on modelling is Domain Driven Design by Eric Evans.