Mat Time:

Feature Analysis

Portfolio Project: Amechi Akpom

“Mat Time” is a feature that I designed to be included within the BJJ Training Journal.

The BJJ Training Journal is training software that I conceived, designed, built, launched, and managed. I have since sold the software and no longer own an interest in the brand.

While the overall software suite was much more comprehensive, this Mat Time showcase should help to illustrate a popular feature within the application.

This project was developed between September 2013 and March 2017 using the technology standards of the time. It showcases my experience in conceptualizing and executing tech projects and does not reflect the current state of technology. I have had no connection with the brand or assets since March 2017.

Overview

This page showcases the Mat Time feature included with the BJJ Training Journal training software that I designed and launched.   The target users of the feature are people who train in Brazilian Jiu-Jitsu: a.k.a. grapplers.  The goal of this particular feature is to allow grapplers to track their training sessions and memorialize what they learned in that session so that they can monitor their training consistency and retain more of what they learn.

The below documentation highlights the primary functionality of the feature, presents illustrative software requirements, and provides an analysis of the opportunity and some related risks.

Analysis

When I first had the idea to create training software for Brazilian Jiu-Jitsu, I brainstormed what exactly I should build. Who will the users be, really?  What do they look like?  What are their needs? Where are the opportunities? 

As someone who has trained in jiu-jitsu for 20 years, I have deep insight into the grappling community’s wants and needs.  And while I did have numerous informal interviews with with fellow grapplers for the purpose of designing this feature, much of the design was harvested from perspectives personally experienced and observed over the years.   

I acknowledge that my circumstances were unique and I now use a different process in vetting prospective product & feature solutions. I feel that the best products come from user research consisting of user interviews, surveys, questionnaires, and observations.  A combination of quantitative and qualitative analysis is the most reliable compass for product design in my opinion.  That being said…

Below is part of the thought process that went into designing the Mat Time Pro feature in the BJJ Training Journal that I created and launched.

Goal

The goal of this analysis is to identify an opportunity in the Brazilian Jiu-Jitsu Market.

User Analysis

Potential Users

There are several categories of potential users that I could design a product for within the Brazilian Jiu-Jitsu Market.

Professional

  • Competitors

  • Instructors

  • Martial Arts School Owners

  • Law Enforcement

  • Military

Recreational

  • Competitors

  • Leisure

Target User

I will focus on the Recreational Leisure practitioner of Brazilian Jiu-Jitsu.  Of the different categories of users, this segment has the largest population of potential users.  

While it is arguable that other segments may have an edge regarding passion for the martial art, my thought is that this is likely offset by the commercial benefit of a larger pool of potential customers in the Leisure segment.

Target User Characteristics

The identified target users have a number of common characteristics.  These traits will help in designing a product and its features.

  • Extremely passionate about the martial art

  • Eager to learn new techniques

  • Eager to improve their grappling abilities

  • Strong tribal bonds with their BJJ school

  • Much more male dominated community

  • The bulk of practitioners range between the ages of 21 and 40

  • They frequently ask or brag about how many times a week they train

  • Are given praise and respect from their instructor for frequent attendance in class

Target User Needs & Desires

The identified target users also have a number of common needs and desires.  Addressing these issues is critical in designing a product that delivers value.

  • Wants to improve their BJJ skills

  • Wants to see that they are making progress

  • Wants to remember the techniques that they learn

  • Wants to review details about past training sessions

  • Wants to advance to the next belt ranking

Solution

This will address the user’s needs by aiding the learning process through enhanced retention of skills learned in lessons and allowing an effective way to review the instruction.  The session tracking will allow for easy assessment of whether the user is putting in enough training time.  In addition to these visible metrics of progress, the hope is that the improved learning will translate to an increase in the user’s skills in Brazilian Jiu-Jitsu.

Competition

At the time that I originally designed this product, there was no direct competition.  No digital jiu-jitsu-specific training journals existed.  Since that time, several competitors have emerged, though none possess the scope of functionality contained in the BJJ Training Journal.

Indirect Competition did exist for the Mat Time.

  • A regular blank notebook

  • A physical-only jiu-jitsu specific-training journal offered by other vendors

  • Evernote and OneNote

  • Google Docs

In addition to allowing users to create training records and enter detailed notes, Mat Time will distinguish itself from the competition by:

  • Automatically calculating a weekly training frequency and providing training advice based upon that calculation

  • Incorporating jiu-jitsu specific metrics like “Gi vs No-Gi” and types of subject matter covered in a training session. 

  • Allowing for embedded video playback.

Business Model

The central business model for monetization of Mat Time is a Freemium model.  A version of Mat Time will be available for users for free.  While users will be able to track their training sessions, the additional functionality will be available in a “Premium” paid version. 

With this strategy, it is important to strike the right balance with the free version so it offers enough value to attract users, but not so much that it makes it unnecessary for many users to want to upgrade to the paid version.

Additionally, I must be careful to ensure that the expense of supporting the free users does not cannibalize all of the profits from sales of the premium version.  A proper conversion rate must be maintained to remain profitable.

Other monetization strategies will be employed to help mitigate that risk.  For example, when a user signs up for Mat Time, they will have to register with an email address.  That will provide the opportunity to build a relationship with the user and to offer them additional products in the Brazilian Jiu-Jitsu space.  Those products can be items that I create, as well as affiliate products that are appropriate for my community. 

Glossary

  • “Grappler” – A person to trains in Brazilian Jiu-Jitsu

  • “User” – A person who is using the Mat Time feature

  • “Session” or “Training Session” – A period of time dedicated to practicing  Brazilian Jiu-Jitsu where the user was a participant

  • “Entry” or “Mat Time Entry” – A record of a single training session stored in the Mat Time software.  An entry can be empty (with no information/data), or it can contain data entered by the user about a Training Session.

Risk Management Plan

My Risk Management Plan considers potential and actual problems both at the Release Level and the Iteration Level.  The goal is to plan for and mitigate risks as much as possible.

After each risk was identified, I assessed the it on the Likelihood that it would occur and the expected Impact it would it would have if it did occur.  This then allowed me to Prioritize the risk as High (1), Medium (2), or Low (3).

I then listed Indicators to signal when a risk event has occurred, as well as steps that can be taken to Mitigate the impact of that risk.

User Stories

Based upon my analysis thus far, the below User Stories appear to address basic needs expressed by the target users for the application.

The Stories are written in the standard, “As a ___, I want to ____, so that _____.”

These User Stories are pretty high level. Nonetheless, it may still be possible to estimate the effort necessary to complete each story. As a Product Manager who does not code himself, I rely upon the developer(s) on my team to provide reasonable effort estimations for my stories. Generally I feel that the most effective method to assign effort is to use the Fibonacci Sequence.

At this point, I take a first pass at the Prioritization and Dependencies of the stories. 

# User Story Priority Story Points Risk Dependent on ID#
1 As a grappling student, I want to be able to take detailed notes about what I learn in class, so that I can remember it for a future training session. 2 # Low None
2 As a grappling student, I want to go back and review my notes/video from a previous training session, so I can review what I learned in that session. 2 # Low 1,3
3 As a grappling student, I want to save video recordings of my training sessions, so that I can review the footage and learn from my experience. 3 # High 1
4 As a grappling student, I want to see how often I’m training jiu-jitsu, so that I can make sure that I’m training often enough to improve my skills. 1 # Low 1

Task Breakdown

User Stories are a good place to start, but in order to properly prioritize, schedule, and assign workload, a further Task Breakdown is necessary.

Similarly to how I addressed Story Points when analyzing my User Stories, Time Estimations assigned to Tasks would be something that I would rely on my programmer teammate(s).  The additional breakdown of to smaller tasks will also help to provide a more accurate estimation of the related effort.

It is here where we could adjust prior projections based upon less accurate Story Point estimations.  Another added benefit of this improved precision is more accurate Velocity projections.

It should be noted that a Task Breakdown is a team effort.  As I am not a developer, I know that there are certain elements that I would not be able to identify on my own.  Furthermore, the help of a development team would help in identifying additional task like Create Database, Setup iOS Development Environment, Research APIs, Load Test Servers, etc.

Acceptance Criteria

Now that I have identified my User Stories, I need a more objective way to determine when they are working as intended. To meet that end, I created Acceptance Criteria a.k.a. Conditions of Satisfaction that must be met for each story.

Acceptance Criteria sets expectations on how the finished story is intended to function and also provides additional guidance on what must be incorporated into the final work product. Additionally, writing Acceptance Criteria also helps catch incorrect assumptions and flaws in design.

Below are Acceptance Criteria for the above Mat Time User Stories.

(User Story #1) As a grappling student, I want to be able to take detailed notes about what I learn in class, so that I can remember it for a future training session.

Acceptance Criteria:

  • (1) The user can save freeform notes into their account.

  • (2) The user can format note text with different fonts, sizes, colors, and bullets.

  • (3) The user must enter the date of the training session along with their notes in order to save the notes into their account.

  • (4) The user must enter the duration of the training session in hours and minutes in order to save the notes into their account.

  • (5) UI elements and page layout buttons comply with the wireframes for the Session Data Entry Page.

(User Story #2) As a grappling student, I want to go back and review my notes/video from a previous training session, so I can review what I learned in that session.

Acceptance Criteria

  • (1) The user can view notes that they previously saved in their account.
    (2) The user can watch a video that they previously saved in their account.

  • (3) The user can search for particular session entries by date.

  • (4) The user can edit the previous notes and delete/replace the previously saved video from that session entry.

  • (5) UI elements and page layout buttons comply with the wireframes for the Session Display Page.

Acceptance Criteria

  • (1) The user can save a video into their account.

  • (2) The user must enter the date of the training session along with their video in order to save the video into their account.

  • (3) The user must enter the duration of the training session in hours and minutes in order to save the video into their account.

  • (4) UI elements and page layout buttons comply with the wireframes for the Session Data Entry Page.

Acceptance Criteria

  • (1) The user can see the number of training sessions that they have entered into their account overall and during the past 30 days from when the user is viewing the number.

  • (2) The user can see their weekly training average, by number of days, for the past 30 days.

  • (3) The user receives a recommendation about training frequency based upon the user’s average number of training sessions per week that have been entered into the system.

Acceptance Criteria

  • (1) The user can see the cumulative amount of time spent training in hours and minutes.

  • (2) The user can see their weekly training average, by number minutes and hours, for the past 30 days.

Acceptance Tests

Acceptance Tests are then written for each of the Acceptance Criteria. These tests are written from a user’s perspective and are used to verify whether the Acceptance Criteria has been met.

When all of the Acceptance Tests have been completed for each of the Acceptance Criteria for a User Story, the story is considered functionally complete.

In addition to the “sunny day scenarios,” the Acceptance Tests may also identify the results of alternative flows and scenarios where error messages would result.

(User Story #1) As a grappling student, I want to be able to take detailed notes about what I learn in class, so that I can remember it for a future training session.

(Acceptance Criteria #1) The user can save freeform notes into their account.

Acceptance Tests:

  • Create a new blank entry.
    In the notes field, type every character (letter, number, symbol, etc.) available on the U.S. standard keyboard and confirm that each is displayed properly.

  • Add additional text in the field totaling 1,500 characters.

  • Create 5 separate lines of text.

  • Enter a blank line between any two lines of text.

  • Save the entry.

  • View the entry and confirm that the text is displayed consistently with how it was entered.

(Acceptance Criteria #2) The user can format note text with different fonts, sizes, colors, and bullets.

Acceptance Tests:

  • Create a new blank entry.

  • Type 8 sentences, each on a separate line, in the notes field. There should be 8 lines in total.

  • Apply bold formatting to text in the 1st line.

  • Apply italics formatting to text in the 2nd line.

  • Increase the font size of text in the 3rd line.

  • Decrease the font size of text in the 4th line.

  • Change the color of text in the 5th line.

  • Apply highlights to text in the 6th line.

  • Change the font type of text in the 7th line.

  • Add hypertext to text in the 8th line that links to https://www.google.com/.

  • Apply bullets to the 5th and 6th lines so that they are in a bulleted list format.

  • Save the entry.

  • View the entry and confirm that the text is displayed consistently with how it was entered into the text box.

(Acceptance Criteria #3) The user must enter the date of the training session in order to save an entry into their account.

Acceptance Tests:

  • Create a new blank entry.

  • Type 8 sentences, each on a separate line, in the notes field. There should be 8 lines in total.

  • Apply bold formatting to text in the 1st line.

  • Apply italics formatting to text in the 2nd line.

  • Increase the font size of text in the 3rd line.

  • Decrease the font size of text in the 4th line.

  • Change the color of text in the 5th line.

  • Apply highlights to text in the 6th line.

  • Change the font type of text in the 7th line.

  • Add hypertext to text in the 8th line that links to https://www.google.com/.

  • Apply bullets to the 5th and 6th lines so that they are in a bulleted list format.

  • Save the entry.

  • View the entry and confirm that the text is displayed consistently with how it was entered into the text box.

(Acceptance Criteria #3) The user must enter the date of the training session in order to save an entry into their account.

Acceptance Tests:

  • Create a new blank entry.

  • Try to save the entry without entering the date of the training session.

  • Confirm that an error message is displayed indicating that entering a date is required to save the entry.

  • Enter a date that is not in the format DD/MM/YYYY.

  • Confirm that an error message is displayed indicating that the date is in an incorrect format and should use the DD/MM/YYYY format.

  • Enter a date that is in the format DD/MM/YYYY.

  • Save the entry.

  • View the entry and confirm that the date is displayed consistently with how it was entered.

(Acceptance Criteria #4) The user must enter the duration of the training session in hours and minutes in order to save the notes into their account.

Acceptance Tests:

  • Create a new blank entry.

  • Confirm that a default duration of 1 hour 0 minutes is displayed.

  • Change the duration to zero hours and zero minutes.

  • Try to save the entry.

  • Confirm that an error message is displayed indicating that entering a duration is required to save the entry.

  • Enter a date in the format of Hour/Day. The acceptable range of hours is between 0 and 24 hours. The acceptable range of minutes is 1 and 59.

  • Enter 24 hours and 59 minutes.

  • Try to save the entry.

  • Confirm that an error message is displayed indicating that the duration cannot be more than 24 hours.

  • Enter a duration using hours and minutes that totals less than 24 hours .

  • Save the entry.

  • View the entry and confirm that the duration is displayed consistently with how it was entered.

(Acceptance Criteria #5) UI elements and page layout buttons comply with the wireframes for the Session Data Entry Page.

Wireframes

This section presents a number of requirements that fall under the “Wireframe” family. Included are:

  • Low Fidelity Wireframes

  • Wireframe Storyboards

  • Video Prototypes

  • Final User Interface Screenshots and Videos

For my wireframes, I primarily use Adobe Photoshop, Balsamiq, and good old pen and paper.

Mat Time
Demonstration Video