Improve the quality of your software delivery
Nov 25, 2021 by Balaji Venkatramani
The Banking and Capital Markets approach to software quality needs a major overhaul to bring it in line with today’s enterprise-wide Agile practices.
And that means doubling down on a new set of priorities:
Banks need to redefine their “fit for purpose” criterion because:
How do banks strike a balance between responding to emerging challenges and ensuring high-end quality? Application of the following principles could help you achieve this balance and deliver great quality products and services.
1: Make quality a way of life
Quality assurance (QA) is often regarded as a distinct step in the software engineering process and the sole responsibility of the testing team. That needs to change because QA is a frontline concern for everyone in the team, and quality principles should be embedded into every step of software delivery:
Though DevOps adoption levels differ from bank to bank, the important thing is for the team to embrace the culture of being self-organized, self-driven and cross-functional while demonstrating an unparalleled commitment to quality.
This approach also aligns with the modern workforce, having become a way of life rather than a series of distinct processes with overheads.
2: Enable compliance with quality principles
Compliance can be achieved by applying fundamental enablers even before adopting contemporary DevOps solutions:
3: Measure for improvement
It is essential to measure delivery performance metrics, analyze trends, infer and act, and continuously improve. Organizations often consider quality measurement to be an overhead and, consequently, lack the necessary tools and processes.
To overcome these challenges:
4: Practice continuous knowledge management
Implementing structured knowledge management helps ensure consistent quality regardless of changes in the team.
Ensure effective knowledge management by:
5: Consolidate and collaborate
Sometimes, organizations overlook the value of allowing learnings from one project’s mistakes and best practices to percolate through to other projects. This kind of siloed execution leads to vital IP getting trapped and wasted.
This can be corrected by:
6: Avoid information overload
Offering a superset of quality and delivery maturity guidelines to all project teams irrespective of their nature of work can lead to information overload and a lack of quality.
The following steps can help:
7: Leverage modern solutions
Hybrid legacy and modern architectures, as well as extensive integration with third-party solutions pose a significant challenge for organizations trying to ensure quality. The answer lies in embracing modern solutions like microservices, DevOps and cloud platforms. However, these solutions could prove cost intensive and a high effort for adoption.
The following steps can help address these challenges:
8: Promote a value-addition mindset
Promoting this mindset to every software engineer goes a long way toward establishing great software quality. When the team adopts a culture of going beyond contractual obligations, it generates continuous quality improvements.
Here’s how to embed this culture:
Finally, the solution to achieving optimum quality in a fast-paced, agile delivery model depends as much on these eight principles as it does on adopting modern solutions like DevOps. While DevOps offers the mechanics for accelerated quality delivery, these principles offer the mindset required.
Contact financialservices@luxoft.com and find out how we can help you add business value through improved software delivery quality.