The enthusiasm swelling beneath agile and lean software testing practices has been something of a double-edged sword. On one hand, software developers and quality assurance teams should be looking to improve their processes by embracing both methodologies. However, the positivity surrounding agile and lean testing practices could also lead to outsized expectations regarding their ability to immediately show results. When organizations haphazardly implement agile and lean policies, they are unlikely to get the most bang for their buck. It's important that QA team leaders take the time to lay out an test management strategy to optimize their use of both methods. To do that, they must have a solid understanding of how agile and lean QA can help ensure software quality even at the initial build.
Agile is more than speed
A common pitfall that QA teams encounter when implementing agile practices is placing too much emphasis on testing speed while ignoring some of the methodology's other critical factors. For instance, agile touts a stronger connection between developers and testers, urging teams to begin working together at the very outset of a project. This means that QA teams should be brought in to provide input and insight when the stakeholders sit down to lay out requirements and an overall development roadmap. By doing so, organizations can make sure that everyone is on the same page as far as defining project success and software quality, resulting in a smoother development and testing process, as well as a stronger initial build.
Another aspect of agile that is essential to improving software quality is the use of scrum teams. Again, it's important that QA leaders don't get too focused on the speed element here. Although scrum teams are often characterized by their use of sprints to zero in on a particular software component or feature, there are other keys to their success. The test management strategy, for instance, will go a long way toward determining how successful the scrum team is. As Software Testing Help explained, having capable team members, open lines of communication and a supportive environment will help improve everyone's performance. When executed correctly, scrum methods can reduce the amount of time needed to run comprehensive tests and lead to higher-quality software.
Stay lean, eliminate waste
Lean testing practices often run into a similar problem as agile processes, in that adopters may focus too intently on one core aspect while ignoring others. With lean, organizations can get so caught up in cutting out unnecessary processes that they miss a fairly obvious way to streamline software development testing to get things right the first time. In a blog post for All About Agile, Kelly Waters noted that some of the largest instances of waste creeping up during a project's lifecycle are directly related to quality concerns. Having to go back and correct faulty code, address defects or log identified bugs can all be considered examples of wasteful processes if they take up too much time.
One way to cut down on the number of issues spotted in initial builds is to have team members work in tandem. When two individuals are assigned to a particular task, they can work together to come up with solutions quickly and are unlikely to get stumped by any given problem they encounter. Waters also recommended using a test-driven strategy, where the QA team creates the software tests beforehand. This way, when writing code, developers will have a clear understanding how their work will ultimately be evaluated by testers.
When leveraged properly, lean and agile testing methodology can drastically improve the quality of software projects, and even show results in teams' initial builds.
Learn more on how to build quality from day 1 using lean QA and Agile testing in the forthcoming session of Atlassian Summit 2015.