Agile development methods can help organizations speed up their software production cycles while maintaining strict quality assurance guidelines.
The software development market has never been as competitive as it is today. More organizations are throwing their hats into the ring, and an army of startups continue to emerge, ready to test the development waters. It has never been more important for companies to reduce the amount of time needed to bring a product to completion while adhering to quality assurance best practices. Too many organizations focus on the speed aspect without giving proper consideration to the testing process, resulting in poor quality programs. A failed software release can be extremely problematic for a business, undercutting end-user trust and cultivating concerns regarding an organization’s ability to consistently design, test and release software.
Agile has immensely helped organizations get a handle on their development processes and release software quicker while still maintaining a strict dedication to quality. Agile hinges on the ideas of collaboration, flexibility and constant improvement. When agile is implemented correctly, the line between developers and quality assurance teams blurs, with testing becoming a regular occurrence during the production cycle. Under these circumstances, companies can meet tight release schedules while still giving QA its proper due.
An agile success story
When Capital One first implemented agile development practices in 2011, those methods were only in effect for a mere 1 percent of the organization’s released software. According to Bank Systems & Technology, however, in three short years that figure has risen to 85 percent. Thanks to the swiftness of agile methods, Capitol One can release approximately 400 software products within a given month. In addition, the company has significantly reduced the amount of time needed to develop software, cutting turnaround times to three to six months.
That increased development speed has not adversely affected the quality of Capitol One’s software products. Capitol One senior vice president Rudy Wolfs told the publication that 95 percent of the company’s releases meet end-user expectations upon the initial release. This adherence to quality has likely saved the organization a substantial sum of money since team members are less likely to have to spend additional resources writing patches and addressing defects in released software. Wolfs stated that the company has also been able to cut costs in other areas since implementing agile methods.
One of the ways that Capitol One has benefited from agile adoption is the closer alignment between business and IT resources. By working together, these two disparate enterprise units can identify ways to make their various projects and services more effective and successful.
“[Business users] really feel like IT is like part of the team, not just a group that operates by itself,” Wolfs said, according to the source. “By having business involved with the development team along the way, it changes the entire dynamic with the business. They get a better product when they [business and IT] are together.”
Avoid agile pitfalls
VentureBeat contributor Márcio Cyrillo warned that some agile adopters can become a little zealous and be in danger of falling into a fundamentalist mindset regarding the development method. Cyrillo suggested that companies approach agile with an open mind and consider what aspects of agile will best match up with available resources and personnel. For instance, one of the critical concepts behind agile is continuous delivery which requires teams to be ready to make adjustments to software on the fly. However, some businesses may be ill-equipped to consistently carry out these responsibilities.
Another concern that Cyrillo addressed is how to accurately assess the productivity and effectiveness of the production team. Some developers believe that there is no reliable method to measure the performance of developers and testers. However, this is far from the truth. There are numerous testing metrics that can offer a great deal of insight into the state of a given project as well as the efficacy of programmers and QA members. With a comprehensive test management system, QA leaders can further benefit from these measurements by making them available to all relevant parties including testers and C-level officers. This level of insight will allow QA management to identify weaknesses in their teams that could be dragging down the development and testing process. By taking advantage of these assets, organizations can be sure that their software development productions stay on track and that agile methodologies pay off.