Thursday, October 25, 2018

What is a Spec?


A spec is a document that is written to allow people to understand a product’s purpose, functionality, and or features.  It should be comprehensive and understandable so that anyone without any prior context could be able to properly understand the product or feature that is outlined.  A detailed spec won’t solve every possible problem, but it should be written so that you can think through as many possible problems as you can and minimize any surprise situations that could come up.  Once the team starts work you may find that some or many of the things outlined in the spec aren’t able to be implemented and so you need to be flexible for what it will actually turn out to be.

The following is a spec I use in my work as a Product Owner.

Spec Template

Product / Feature Name: What is this product / feature called?

Painting Project Progress

Author Name(s): Who wrote this spec?  

Brock Norton

Team Members: Who are the stakeholders involved in this product / feature? This provides context for other teams reading your spec so they know who they might want to reach out to for further details.

 Brock Norton, Renee Norton, Tammy Lasman

Summary / Background:  What is the context of this product / feature? For example, if this is a user-facing product/feature, what is the current situation for your users and at a high level, what will this product / feature functionally do?

This will be a web application that production managers, crew members, and customers can log in to to clock in and out on a specific project,check the progress of a project being completed so that scheduling from the PM and customer standpoint can occur without having to call or text people to see where things are at with the project.

Terminology:  List any terms that you plan to newly introduce with this product / feature. Explain in concise language what these terms mean in relation to this product / feature. If you can avoid it, try not to introduce too many new terms that might confuse other team members.

N/A

Goals: What are the goals of launching this product / feature?

Track project progress for scheduling and customer service purposes.

Success Metrics: How will you be measuring success of this product / feature? You may want to list quantitative / qualitative criteria that you will be evaluating. Every product / feature you release should have some sort of measurable success metric!

Eliminate text or call check ins by painters to production manager and subsequently production manager to customer.  Will be able to see if a project came under/over budget timewise with the customer facing portion and budget wise with the production manager as well as with time budget.

Target Audience: Who are the target users for this product / feature? Provide some context as to what they are currently doing or any existing workflows / behaviors. If you have any existing research on user personas, make sure to include that context here. If you need to make any assumptions about your target audience, make note of that here.

Production managers, crew members, customers.  When a painter is assigned a project they clock in under that project, but it doesn’t give them, the production manager, or the customer, any indication of how far along in the project the crew member is.  If they want to find that out the production manager needs to tally up the hours, compare it to the project’s budget, then update the customer accordingly.  Additionally this updating of roadblocks or impediments may be hard to communicate due to phone tag issues between the crew member, PM, and customer whereas there would be a place within the app to upload a picture or string of text to give a status update on the project or any issues within the project.

Requirements:

#
User Need
User Stories
Launch Phase
1
User needs are one of, if
not the most important
portion of any product /
Feature.

Prior to even worrying
about your user stories or
solutions, you should
have clearly defined user
needs (remember as a
PM, you’re a champion for
your users and you should
be completely in-tune
with the needs that your
team is building for!)

A user need can follow a
template like:

needs a way
to
User stories are short
descriptions of a feature told
from the perspective of the
user who desires the new
Capability.

A user story generally follows a template like:

As a , I want
so that

Sometimes, a user story may
cover a large amount of
functionality. In these cases,
these stories may be referred
to as ‘epics’ and may need to
broken out into individual,
smaller user stories.
While it’s important to be thinking of every possible user need /story from the get-go, the reality of development is that
without unlimited
resources, you’ll
generally be time-boxed
and therefore will need to prioritize which user stories are important for an initial MVP launch vs. a V2 launch.

This column section will specify which phase this story should launch in.
2
Crew member/production manager/customer needs a way
to quickly and easily see how long till a project is completed for scheduling purposes.
As a crew member, I want to see what my hours for the day did to impact the overall progress on the project so that I can see if I’m over or under budget to earn bonuses for coming under budget on a project.
MVP
3
needs a way
to
As a production manager, I want to see end of day progress on a project and any comments on issues for the day so that I can resolve issues and update the customer if needed without having to play phone tag via call or text with the crew member to gather said information.
MVP
4
As a customer, I want to log in to the app to see how far along the project is to being completed so that I can plan for my next project, vacation, family visiting, etc.
MVP

User Story Details:

  1. User Story
As mentioned in the previous section, sometimes a user story may cover a large
amount of functionality. In these cases, these stories may be referred to as ‘epics’ and may need to broken out into individual, smaller user stories.

You may want to include this details section so that you can take the time to provide any extra context / details for the user story and/or use this section to break the epic into smaller individual stories.

Along with the extra context / details, you can also include “user story conditions” that explain scenarios you want to ensure the user story is covering. For example, if your user story was “As a user, I want a credit card drop-down option so that I can select which credit card I want to pay with,” then you might have user story conditions that say something like: “The credit card drop-down options should include: Amex,Mastercard, Visa.”

Additionally, you may want to include any screenshots / wireframes / design
presentations that can help provide visual context for the user story. This helps guide the reader into better understanding the functional use of this particular story.

User can log in via Facebook, twitter, or google.

      2.  User Story
Write details about User Story 2.

Crew member can clock in and out on a project where the production manager has set the hours budgeted for a project.  

      3.  User Story
            Write details about User Story 3.
           
Customer can login to see project progress at the end of each day.

Designs: If you plan on handing off this spec for a designer, you’ll want to consider adding a timeline of what deliverables you expect to receive from the designer. If you have final designs / prototype already for the product / feature, feel free to include or link to them in this section.

Sprint one design should have wireframing and prototype design completed.  Web portal design should be completed by sprint two.

Legal: If there are any potential legal issues / implications, you’ll want to include any relevant context / details in this section. I.e. perhaps your product / feature involves collecting sensitive user data and your legal team has specified that this data needs to be held on record in a database for a minimum time period.

N/A

Launch / Roll-Out Plan & Timeline: What are the logistics and timeline of this launch? You may want to have a separate launch checklist that you link to in this section. If you only plan to roll-out this product / feature to a select group of users, make sure to detail that in this section.

One month from initial sprint planning all wireframing, prototyping should be completed.  Users should be able to login to clock in and out during this initial sprint.  Sprint two should have the ability for the production manager to set the hours on a project and crew members can clock in and out on said project.  Sprint three will have a spot for the crew member to add comments or pictures of issues on the project.


No comments:

Post a Comment