Kickstart your Drive for Quality at Speed
The first in our series of articles on Digital Disruption (found here) was intended as a ‘scene-setter’ – highlighting the key drivers for a move to deliver well-engineered and high-quality software at speed.
In our view, we’re living in an increasingly software-driven world and the appeal and use of applications is only set to broaden. Companies and organisations now realise that they are able to disrupt well-established markets and grow rapidly (at the expense of others) by better exploiting digital channels.
Software, and software quality, have become strategic imperatives.
Leading CIOs have gradually shed their legacy systems and related technical debt; they have ditched outdated processes, broken down the siloes and cemented their reputations as business (not just ‘IT’) leaders. Typically, it’s this same cohort that – free of the sand-bags – can embrace new processes such as Continuous Integration (CI) and even Continuous Delivery (CD). This enables rapid solution delivery, establishing a presence quickly across multiple channels, driving out frequent releases while others look on in wonder/envy/trepidation (delete as appropriate).
Many other CIOs are now looking to follow suit and are working to make their IT capability more proactive. In many cases the response has included making the cultural changes associated with DevOps, breaking down traditional silos between IT functions and implementing those same CI/CD processes – but this is a journey, not an overnight fix.
It’s important that this journey is plotted out carefully with the company mission and vision front and centre, the details around the ‘need for speed’ in your specific organisational content and each dimension of People, Process & Technology (the three dimensions of DevOps) clearly considered.
ROQ is currently engaged with a number of leading organisations spanning FMCG, retail, professional services and the public sector and thought it might be valuable to share some insights on the areas that seem to spur the cultural change, the collaboration and the acceleration needed.
Establishing a Culture of Continuous Testing
In many respects one of the biggest determinants of software ‘quality at speed’ is Continuous Testing – in essence, ‘shifting left’ (short-hand for considering quality and testing earlier) whenever possible to make it a full lifecycle activity.
Doing so requires greater collaboration and a change to the mindsets of all those involved in software delivery. Companies need to move from the old concept of ‘segregated validation’ where solutions are delivered into separate testing phases beyond development, to tight feedback loops with delivery and support colleagues in lockstep. Testing can no longer be incorporated either into subsequent sprints in a manner sometimes referred to as ‘agile-fall’, which is arguably just a ‘broken’ agile approach.
Speaking a Common Language
To support this new, more collaborative way of working, tests should be clearly driven by and inextricably linked to user requirements by embracing techniques such as Behaviour Driven Development (BDD). This reduces the risks of testing being compromised by poor or ambiguous requirements in modern software delivery; and traceability should be a given. Using a structured language to specify detailed requirements, such as:
Given that I’m on the Home Page>When I click on ‘Menswear’>Then I see results relating to this only
It is a powerful technique and a great aid to effective testing, but also serves as a way for greater involvement and traceability for all involved. These structured requirements can then be translated into the code-base that drives the automation framework.
Driving ‘Ruthless Automation’
A key requirement to accelerate software delivery, whilst maintaining quality, is that each of the disciplines across the SDLC must automate whenever possible. Gartner refer to this approach as ‘ruthless automation’ and it relies on the cultural alignment alluded to above. The Agile methodology emphasised the need for efficient test automation with the frequent regression required, and this is of paramount importance in driving Continuous Delivery. Automated ‘test packs’ need to be executed in very tight windows to maintain the speed desired or required. The secret to achieving this is to focus automation efforts on the low level (unit) and integration layer (API-level) scripts with fewer scripts at the GUI – this rapidly increases pace and frees up valuable time.
Opportunities in this New World
This new world of modern software delivery, ushered in by the impact of digital disruption, offers tremendous opportunities to improve solution quality at the desired velocity and develop new capabilities described above. ROQ aims to highlight this theme in their next CIO Spotlight ‘Mastering the Art of Digital Disruption’ a half-day event designed to bring together CIOs and IT leaders to explore the issues surrounding large, enterprise-scale software programs, the benefits they drive and the importance of getting them right from inception. Speaking at the next event on Thursday February 22nd will be:
· Cathal Corcoran, CIO at Gatwick Airport
· Chris Lord, CTO at Babcock International Group
· Craig Ambler, IT Director at Center Parcs You can find out more details and register for this event here. In the next instalment of the series we will offer an insight from some of our speakers which will highlight the people and cultural aspect of digital disruption.