Making Sense of Agile Metrics

Leveraging the Agile methodology offers organizations a chance to streamline their software development process; ultimately making their business more efficient. Measuring the impact of Agile on an application engineering team becomes easier with the use of metrics. The ultimate question is: what kinds of metrics offer the meaningful information and actionable insights software engineers need?

What follows is a look at some examples of useful Agile metrics and how they are able to truly make this modern methodology work for a software development shop. Perhaps your team needs to look at using them as well?

Useful Agile Metrics for Software Development

An article for Extreme Uncertainty analyzed the use of Agile metrics and offered a few insights on which ones added value to the software development process. Let’s check them out.

A Burnup Chart gives the project manager or Scrum Master a view of a project’s overall progress by displaying a graph of how many stories are completed during each iteration compared to the total number of stories in the project. This is a simple metric able to be shared with business stakeholders curious about the current status of the work.

The article author, Leon Tranter, commented on the need to fully estimate the effort of each story for the Burnup Chart to be meaningful. If that estimation hasn’t been completed, he suggests using an average for any future stories.

Metrics related to Agile Stories

Estimating the development time for stories becomes easier when using metrics aimed at tracking the work spent on these portions of a project. Story cycle time measures the period it takes for a story to go from a ready for development state to its completion. Be sure to take into account the number of resources working on a story for the most accurate view of the overall effort.

Story lead time includes the period between the creation of the story and its ultimate completion. Subtracting cycle time from lead time helps measure the effort spent in analysis.

Story count is essentially the average number of completed stories during a sprint. Once again, combining these three metrics helps to measure the efficiency of a software development team during a project. It also serves nicely when estimating the effort on future projects or sprints.

Use First Time Pass Rate to track Quality

First time pass rate is a percentage used to track the test cases that pass either system integration testing or system testing on their first try. Tranter feels this is an especially vital metric for measuring the overall maturity level of a software development team’s use of Agile. His expectation for teams familiar with Agile is a rate of 95 to 100 percent. It definitely gives teams new to the methodology a goal worth reaching.

Hopefully, this quick analysis of a few Agile metrics offered some ideas on adding them to your own team’s software process reporting. They are especially worthy of consideration for shops embracing Agile for the first time.

Keep coming back to the Betica Blog for future news, stories, and insights from the rich world of software development. As always, thanks for reading!

News from the Worlds of Software Development and QA — July 2016

Welcome to this month’s look at a few interesting stories over the previous few weeks from the worlds of software development and QA. Last month, the new continuous testing QA methodology and the hope for standardized software testing practices in the video game industry were some of the topics we covered. Read further to see if any of July’s news inspires your own development and testing efforts.

Leveraging the Scrum to improve the QA Process

Companies that are veterans of the Agile methodology typically use scrums to promote communication between developers and their business stakeholders. These daily stand-up meetings ensure project statuses get reported and important action items aren’t missed. In a July article for TechRepublic, Transworld Data President, Mary Shacklett, talks about the benefits gained including QA personnel in the scrum.

She describes a variety of software failures in her past that could have been prevented if only collaboration between QA and developers were improved. This needs to happen throughout a project, but it is especially vital at the beginning when application design and prototyping take place. In the past, we’ve talked about the importance of catching software (or design) errors early in the process, as the cost of fixing issues increases exponentially later in the SDLC.

Shacklett also feels both developers and QA engineers need to be involved with executing unit tests, a task typically falling to the developer who wrote the code in question. End users and business stakeholders also need to be involved at important points during the SDLC, most notably before the app (or enhancement) is deployed into production.

Popular Developer Phrases that annoy the QA Engineer

As we just noted, it is important that software engineers and QA professionals work well together on the same team. That doesn’t mean developers don’t have their pet sayings that annoy their software testing colleagues, as noted in an article in DZone. While humorous on the surface, they do reveal a need for better collaboration — something improving in the industry with the increased adoption of Agile. Here is a quick sample.

“But it works on my machine” — is a common refrain after a QA engineer finds a bug in code that probably passed the developer’s unit tests. Maybe that company needs to use a better environment manager, like Vagrant

“Are you sure you are testing the right version?” — which is a phrase potentially illustrating the poor management of versioning and builds.

Check out the DZone article for other similar examples of programmer-speak.

The Hottest Technologies for Software Developers

A recent survey of software engineers from Evans Data reveals the hot technologies currently in vogue with developers. Four technologies stood out from the rest of the pack. The Internet of Things was noted by 45 percent of the surveyed Big Data developers, while the Cloud is considered hot by 27 percent of all developers.

Over half of the data mining app developers are working on robotics applications, and nearly a quarter of all developers are involved in machine learning development.

It is surprising to note the importance of parsing massive amounts of data among IoT and robotics applications, which probably speaks to the higher adoption rate of those two technologies in the industrial sector compared to the home.

Come back to the Betica Blog for additional news and insights from the related worlds of software development and QA.