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:
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
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
|
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:
- 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