Over the past several years, those in charge of IT applications teams have emphasized the need for their staff to be as quick as possible in getting applications in to day-to-day use.
But this emphasis on speed can have the unintended consequence of developers focusing less on other development objectives, like quality. The need for speed may tempt some development teams to make tradeoffs, but 84% of business partners are unwilling to sacrifice the quality of in-house software for speed.
Forward-thinking teams realize that the answer isn’t to change applications processes but instead to inculcate a “culture of quality”– an environment in which all members of the applications “delivery team” take ownership of the role they play in providing good quality solutions, and understand how their day-to-day activities affect the quality of the software they’re creating, at any speed.
Adhering to three principles will help with that.
Explicitly define the behaviors needed to create a culture of quality: To create a culture in which quality and speed are complementary, make quality an integral part of development activities, rather than a series of process steps along the way. The secret to achieving both quality and speed is defining the behaviors each developer should exhibit on a daily basis, throughout all of their development activities, to ensure quality outcomes.
To determine these behaviors, the team at one insurer in CEB’s network of applications groups brings development teams and the quality assurance (QA) function together to outline the activities to produce high quality work without sacrificing speed.
Once behaviors are explicitly defined, delivery teams can be held accountable for those behaviors and can more easily integrate quality into their day-to-day activities.
Ignite quality conversations within development teams: The existence of QA and testing functions may unintentionally encourage development teams to perceive quality as “someone else’s job.” But this mindset can lead to low quality applications development and time-consuming rework.
Instead, create a culture in which development teams have regular and explicit conversations about quality, at a peer-to-peer level. When quality is discussed, analyzed, and deliberated on a regular basis, quality becomes an aspect of development that is valued by all members of the delivery team.
Managers can help foster conversations about quality within delivery teams by instituting a self-review process for developers on their quality activities, asking peers to rate each other on quality activities, or tying quality activities to business objectives.
Promote and reward quality ownership across development teams: Creating a culture that values high-quality work requires development teams to feel a sense of ownership for the quality of their solutions. To do so, use metrics to help promote “quality ownership” across development teams.
By using metrics to measure quality inputs as well as outcomes, managers can analyze patterns of consistent shortfalls and link those outcomes to the behaviors that produce them. A multinational software firm in CEB’s networks, for example, uses a dashboard to measure and track behaviors across delivery teams.
This information is not used punitively, but to target resources and coaching to teams that do not consistently exhibit quality behaviors, and reward teams that do exhibit these behaviors with greater latitude.