Agile Development

The Importance of Agile Software Testing in the Development Process

The Importance of Agile Software Testing in the Development Process

The use of agile development methods and practices has become something increasingly more natural in companies' daily lives. Some of these companies, although they do not admit it, implicitly end up applying some common practices, with the aim of obtaining results sooner.

Scrum data points on how to increase Velocity

This past week I had the good fortune to be trained on Scrum@Scale, a framework for scaling Scrum, by the creator of Scrum himself, Jeff Sutherland. It's not a prescriptive framework like some of the others. It's built on true Scrum and it reminded me how a lot of the problems companies face is because they aren't even doing basic Scrum right. So when they do scale, they scale up a broken system. If you start with garbage, you get more garbage.

What's great about training with Jeff is that he has so much scientific data and case studies to back it all up. Several of these studies have proven that you can double velocity (you read that correctly!) by using Scrum patterns for teams.

Here are some of the patterns for doubling velocity:

  • Co-location
  • Small teams
  • Stable teams
  • Dedicated teams
  • T-shaped team members
  • Daily Scrum
  • Interrupt buffer
  • A Ready backlog
  • Fix bugs found within a day
  • All testing completed inside the sprint

All of these have data points and studies and research to back it up. I'll cover just a couple below.

The Impact of Agile Quantified. Rally Software Development Corp. 2015

Dedicated Teams

Let's look at one of the patterns, dedicated teams. A study by Rally Software (before they were bought) showed a huge increase in productivity when team members were dedicated. Teams that had members 50% dedicated produced around half as much as when teams had members 95% or greater dedicated.

Small Teams

If we look at Brook's law on cost and time to deliver based on the team-size there is a huge difference. Look at the team size of 10 people vs 6, vs 4 and the cost they incur. The Team Size of 6 was able to deliver in twice the time of a team of 10 or 17.

Swarming & Context Switching

Let's just look at one more - swarming, and focusing on one or more projects. 

Weinberg, Gerald M. (1992) Quality Software Management: Systems Thinking. Dorset House, p. 284.

Weinberg, Gerald M. (1992) Quality Software Management: Systems Thinking. Dorset House, p. 284.

Working on 5 projects at the same time can yield up to 75% waste - that is a lot! Most people have what, an average of 3 projects? That's still 40% loss! This loss necessitates more people to make up the difference. Save money, use fewer people to do the work in a less time.

There are many more studies and patterns that increase a teams's velocity and reduce the company's cost, proving that implementing Scrum correctly is the only way to get ahead of your competition. As Jeff likes to say. "Change or die." Change the way you do work, or your competition is going to take you out.

Another Real World BDD Example (#2)

Another Real World BDD Example (#2)

This is my second real world BDD examples that we use here at Clearly Agile. I've been given permission to share this piece of code from the client.

In this example, we have a scenario where a user can create something called a "Project" and it has to have a correct "Open Date". Which is when the Project is complete.