Skip to content

Instantly share code, notes, and snippets.

@maxmckenzie
Created July 13, 2019 09:31
Show Gist options
  • Save maxmckenzie/a9355d3e3ebecaebb8d53ad6bbfaacff to your computer and use it in GitHub Desktop.
Save maxmckenzie/a9355d3e3ebecaebb8d53ad6bbfaacff to your computer and use it in GitHub Desktop.
project outline guideline

Project Specification Outline

AKA the most important part of the whole thing, whatever that thing maybe!

tree-swing-project-management-large.png

Description:

give a detailed description of what the project is, why the client/user needs it, and what solution this aims to provide.

Client:

Last revision date:

Stakeholders

UX Functional Specification and Design Documentation

Add links to designs and UX Specifications

User Stories

It is advisable to extend these to all touch points. even if they are not based on the application. Such as clients going into an office to have an appointment.

For more information on how to write the user stories see Don't Code Tired | Gherkin Cheat Sheet

these user stories have to be written in English as they will become the basis of the UI tests inside of the application.

Label the priority of the user stories with an @tag using the Moscow Method

M ust have (MLP stage - minimum learnable product) o S hould have (MVP stage - minimum viable product) C ould have (MSP stage - minimal saleable product) o W ould have (VP stage - validated product)

@must-have
Feature: Y
  Background:
    Given i navigate to "/path/example"

  Scenario: As a user i want to Y
  
  Scenario: As an admin i want to Y
  
  Scenario: As an x i want to Y

if you want to prioritise the scenarios and not the whole feature. Just add the @tags above the scenarios and not the feature

Feature: Z
  Background:
    Given i navigate to "/path/example"
  
  @could-have
  Scenario: As a user i want to Z
  
  @would-have
  Scenario: As an admin i want to Z
  
  @must-have
  Scenario: As an x i want to Z

Technical Functionality

Database and APIs

Are we building a Data are we integrating with a third party API?

Platform

What browser Support will we have, What devices will we support? Be as specific as possible.

Desktop

  • IE9
  • IE10
  • Safari => #?
  • FireFox => #?
  • Chrome => #?

iOS

  • Safari => #?
  • FireFox => #?
  • Chrome => #?

Android

  • Safari => #?
  • FireFox => #?
  • Chrome => #?

Design, branding, and copy

Do we already have design guidelines and copy style guides to follow for the project

Budget

How many hours do we have to do the project?

Timeline

When are we expected to provide deliverables and release new versions

DevOps and Maintenance

How we will handle ongoing issues. Will we be responsible for maintaining the application. How will the client communicate with the team on issues that arise?

!What is our agreed SLA (service level agreement)

CI/CD strategy

How will we validate features and development?

  • CI Build
  • CI Test
    • SonarCube
    • Linter
    • Unit Tests
    • UI Tests
  • CI Deploy
    • Staging
    • Production
    • Development
    • Merge Request Previews

Testing and Validation

This is the section where we need to gather the details of QA requirements. As well as how issues will be communicated back to the team.

Form Validation Specification with Regex Examples

Every type of input on the site and the validation necessary

Metrics Monitoring

  • How will we log errors from the application and make them available to the dev team
  • How will we measure the usage of the application
  • is there any more core measurable success criteria we need to keep track of
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment