In finance, whatever the project, process or programme, the mantra is low cost and high quality. Ensuring those levels of cost and quality however can be difficult, particularly when it comes to financial software.
The key is to ensure that most defects are found early in the software development lifecycle (SDLC) as the cost of fixing a defect increases exponentially as you move from the requirement management phase into the operational phase. As a result, testing or validation and verification of software, otherwise known as Quality Assurance (QA), has become an integral part of the SDLC. Still, many organisations don’t have the quantifiable metrics to prove the effectiveness of their overall delivery and QA processes.
Brickendon’s quality expert Srirupa Chaudhuri looks at how to address this and discusses Brickendon’s combined qualitative and quantitative approach to testing.
Typically, during project inception, overall processes are unpredictable and poorly controlled. However, as a project matures, processes evolve and increase in efficiency; a process that is known as capability maturity.
Traditionally, QA processes within a waterfall SDLC framework suffer from multiple challenges, including a longer time-to-market, low-quality code being released into production, high costs, inefficiency and reduced transparency.
A capability maturity assessment can help ascertain the project’s current state and optimise processes for sustained improvements. This approach can be applied to the QA phase in the form of a Testing Maturity Model (TMM). This determines the current maturity of the QA phase, i.e. qualitative – Quality Maturity Model (QMM) and quantitative – Key Performance Indicator (KPI), both of which can be used to assess an organisation’s ability to achieve its business and delivery objectives.
However, it is impossible for any improvement model to provide benefits if applied to any stage of the process in an isolated fashion. To address this, Brickendon’s QMM solution focuses not only on the QA phase, but also on the interdependencies of the rest of the SDLC. Engagement and commitment from all stakeholders is crucial in baselining the current landscape and providing insight towards achieving the next level of process maturity.
The question that arises is how to initiate the QMM assessment. Firstly, the vision, scope and objectives that the organisation’s testing functions must achieve should be clearly stated; secondly, the stakeholders and participants must be identified; and thirdly, qualitative and quantitative assessments should be conducted to define a clear plan for improvements.
Tailored and targeted quality assessment questionnaires and personal interviews with delivery and business stakeholders help in identifying process issues, thereby enriching the qualitative assessment. KPI data can be gathered for quantitative performance evaluation from the teams’ budget and resource management plan, test and defect management tools (e.g. Quality Center, Jira) and effort estimation and tracking mechanisms.
The intention of quality assessment is not merely to expose issues in the QA area, but also to highlight good practices prevalent within the organisation. It is therefore essential that participants see this exercise as a constructive feedback mechanism towards achieving a more effective QA phase and an improved performance.
The data collected from the assessment helps in gauging the current maturity level of the testing processes and identifying the pain points or focus areas. In order to remediate the pain points, a roadmap can be formulated to outline a two-fold action plan classifiable into long-term and short-term, or invest and non-invest actions. Long-term actions require investment from the organisation in the form of cost and resourcing, while short-term actions can be achieved with existing resources.
Eliminating inefficiencies in the existing testing process and increasing the use of automation can quickly help improve the quality of the software, shorten the delivery cycle and improve governance. It can also produce tangible benefits, such as fewer defects being found late in the UAT phase and less time being needed for QA. This in turn enhances the organisation’s reputation and improves user confidence thanks to tighter scheduling and budget adherence.
Given that more IT firms are migrating towards agile development cycles to achieve a faster time-to-market, the need for a TMM could be questioned. However, problems such as inadequate test coverage due to insufficient testing bandwidth, a lack of risk-based testing due to frequent code drops and the inability to include non-functional testing into sprints, could be addressed by transforming the TMM into an agile Capability Maturity Model (CMM).
Using an agile-specific QMM and KPI-based process maturity assessment, agile teams could aim to integrate test-driven (TD), or acceptance test-driven (ATD) development/testing, shift-left approach, continuous integration or DevOps into delivery cycles to aid test coverage enhancement and other improvements.
Making QMM assessment and KPI data-collation processes cyclical and regular for a team, will help track the benefits from remediation actions, improve governance and control within the organisation and enable further optimisation.
Irrespective of the nature of the SDLC (waterfall or agile), there is no doubt that wherever there are no formal QA processes, QMM assessments can help in establishing standardised quality processes, which are repeatable, manageable and optimised. Now is the time to adapt.
For more information about Brickendonn’s bespoke QMM solution, see https://btcwebdev.wpengine.com/solution/brickendon-solution-quality-maturity-model/