A JavaScript Project Checklist
JavaScript HTML CSS Smarty
Latest commit edb7d5b Jun 10, 2015 Juan Orozco Merge pull request #9 from bitovi/add-linking-ability
Added ability to paste in previous results and link to results.

README.md

JavaScript Project Checklist

Watch this video to learn what this checklist is about.

Questions:

Project name

Company name

Was the project a success?

  • Yes
  • No

Management

People know what they are trying to accomplish.

What is the project's vision?

This is typically a single sentence that describes what the project aspires to be. Example: "A JS framework that allows developers to build better apps, faster". If this doesn't exist, write "none".

How will the project measure success?

Example: Increase mobile conversion rates to 0.75-1.0%, currently ~0.3%. If this doesn't exist, write "none".

What is the strategy for accomplishing the project's goals?

Example: Combine the desktop and mobile sites for an improved user experience, site parity, and centralized ownership. If this doesn't exist, write "none".

What is the project's roadmap? What are the goals, plans and release schedule after the current release?

Example: Phase 1: Complete A, B, C. Phase 2: Complete D, E, F. If there are no plans, write "none".

People are capable of accomplishing the goals.

Do people have the skills needed to accomplish the goals and roadmap? Is the roadmap possible? Is there the access across the organizational bureaucracy?

Do all employees go through a technical training?

For example a week long JS training.

  • Yes
  • No

Is there at least a yearly additional training opportunities for all employees?

  • Yes
  • No

How long until something can be released?

  • 3 months
  • 6 months
  • 1 year
  • 1.5 years

What is the org chart?

Each person's name and title. Indent subordinates under a manager. If this doesn't exist, write "none".

Who has the final say in content and copy decisions?

A person's name. If multiple people, separate names with ";".

Who has the final say in design decisions?

A person's name. If multiple people, separate names with ";".

Who has final say in technology and infrastructure decisions?

The person's name. If multiple people, separate names with ";".

Do product owners frequently (at least once a month) meet with:

  • UX teams
  • Dev teams

Have your companies values, experiences, and goals been expressed to management and the client team?

  • Yes
  • No

Has this checklist been reviewed with the management, design and development teams?

  • Yes
  • No

People like each other.

Does the company have outings?

Examples: dinners / activities outside work.

  • Yes
  • No

How often, in months, do employee reviews happen?

UX / UI

How many designers on the project?

Informed

Is user testing done?

  • Yes
  • No

What user testing techniques are being used?

  • Usability testing
  • User interviews
  • Surveys

Is analytic software being used?

  • Yes
  • No

Is AB testing being performed?

  • Yes
  • No

Are the results of user testing, analytics, and other data being discussed at least monthly?

  • Yes
  • No

Quick Iterations

How long, on average in weeks, between design changes and a user testing them?

Are design revisions factored into the estimate?

  • Yes
  • No

Are beta releases user tested?

  • Yes
  • No

Are prototypes and mockups user tested?

  • Yes
  • No

Communication

The following documents are created with the client:

  • Design guidelines / goals / statements
  • Personas
  • User stories or use cases.
  • Competitive analysis

The following documents are created:

  • Wireframes and mockups
  • Storyboards
  • Prototypes
  • Prototypes
  • High fidelity comps
  • HTML prototypes
  • HTML style guide

Are videos or animations used to express interactions?

  • Yes
  • No

Are design issues and discussions "publicly" tracked?

  • Yes
  • No

Where are design issues and discussions tracked?:

  • Email
  • Project management software (Trello, Basecamp)
  • Issue tracker (Jira / github)
  • Excel

Does a design changelog exist?

A design changelog is a document that contains a list of changes to the mockup/prototypes.

  • Yes
  • No

Development

The following questions concern development specific problems.

Tools and Environment

The essential tools are in place and being used in the right way.

Source control is

  • Used
  • Git
  • Used with a branch and merge strategy.

An issue tracker is

  • Used
  • Integrated with source control.
  • Used by non developers.

The following environments exist

  • Development
  • Test
  • Staging
  • Production

Continuous integration

  • Exists
  • Runs on all commits / pushes
  • Emails on failure

A 1-3 step process for the following exist:

  • Setting up a development environment
  • Testing the application.
  • Building the application into a production distributable.
  • Deploy to test and staging.

Code quality

Practices and patterns that ensure good code.

Is a module loader used?

Examples: StealJS, RequireJS, Webpack, sprokets

  • Yes
  • No

Is the high level architecture documented and followed?

For example: MVVM plus a client state observable with specified properties.

  • Yes
  • No

All modules include:

  • High level documentation.
  • Tests
  • Inline documentation
  • A demo

Are there performance tests?

  • Yes
  • No

The service layer is:

  • RESTful
  • Documented
  • Tested
  • Built / working

Is technical debt measured?

Is some value (often in days / weeks) of technical debt calculated?

  • Yes
  • No

Is technical debt factored into estimates?

Do estimations of time, or points, or effort include discussions of technical debt?

  • Yes
  • No

Team

Does the development team work well together.

Is there a QA team or resource?

  • Yes
  • No

Are teams grouped by specialty?

Example: client vs server

  • Yes
  • No

How many front-end developers?

Do your work alongside the client's developers?

Your developers work on the same code as the client developers.

  • Yes
  • No

Is every piece of code known to at least two people?

No piece of code should be "workable" by only one person.

  • Yes
  • No

There are code reviews

  • Every commit
  • Every week
  • Every month
  • Of new people's code
  • Never

List examples of the client demonstrating the ability to add or change to new technology as needed.

Examples: Adding memcache, moving to a cloud, setting up a CDN.

List examples of needed changes in technology or process.

Examples: Adding memcache, moving to a cloud, setting up a CDN.

Contributing

questions.json contains a list of questions. To change a question, add or modify the relevant section and submit a pull request. The following types are available:

  • text - A text field
  • textarea - A textarea field
  • number - A number input
  • section - Specifies a new section that can contain more questions
  • single - A list of potential answers in values only allowing to select one
  • single - A list of potential answers in values selecting multiple