Grading Your App with a "Weighted GPA"

In the last post, I wrote about how the standard “P1-P4” bug-management workflow has its perks, but often misses the forest for the trees. For that reason, it’s helpful to get a different perspective on our work. by measuring it against a different ruler.

A couple of years ago, my team was trying to figure out how to advocate for quality and polish in our app. The “design nitpick P4s” were piling up, and we felt that marred the legibility, usability, and branding of the product - but each individual bug was so minor, they tended to lose out when compared one-on-one with other issues.

We came up with a new metric: rather than debate the merits of each individual bug, what if we “graded” the components of the app?


Scoring Your App

Imagine each part your app as a course in school: each part has its relative weight (or "credits"), and a grade: an "A" gets a 4.0, an "A-" gets a 3.7, a "B+" gets a 3.3, a "B" gets a 3.0, and so on.

What’s important for your app? For example, if the first impression really matters, give extra weight to the empty and unauthenticated states.

To calculate the score for a given part, you multiply its credits times the grade earned. Then, sum up the weighted scores, and divide by the total number of credits. There’s your weighted GPA!

Here’s a little table to illustrate:

Component Grade Weight Weighted Grade
Recipe List: Empty State 3.0 7 21
Recipe List: Full State 2.7 6 16.2
Recipe List: Edit Mode 2.3 4 9.2
Recipe Details: Cooking Mode 3.7 6 22.2
Sign In: "Happy Path" 3.7 8 29.6
Sign In: Error State 4.0 7 28
Sign In: Forgot Password 3.3 4 13.2
Sign Up 3.7 7 25.9
Totals: 53 177.3
Weighted GPA: 3.35

Nice, right? You've now got an important-feeling score that quantifies how you feel about the overall experience of using the product. This score really helped my team explain how the small bugs were adding up.

Give Constructive Feedback

Be really thoughtful with how you score and share this information. Grades are a touchy thing, and if you tell somebody their part got an “F” you need to consider how to deliver that feedback in a constructive way. So, uh, do that! This isn't The Sanctioned Way Your Team Measures Things™, so don't be pushy.

Consider building this GPA with others - you could, for example, each assign credits and grades to a shared list of app components, and consolidate the collected scores - that way everyone can weigh in!

Make specific, addressible notes for each component's grade, that way you have a punchlist to work through! (Better yet, have links to the related bugs in whatever tracking system you use!)

Revisit It Over Time

Recalculate the grade every few months. We found it helpful (and motivating) to show the team how a little bit of polishing work went a long way in improving the overall look and feel of the product.