Skip to content

Job Specifications

A job specification must clearly communicate why the work exists and how it should be approached. A job is not a task until the problem and the proposed solution are understood.

This document is completed before development begins.

1. Problem Definition

Describe the real-world issue that needs addressing. This defines the context, not the implementation.

Business Problem

What pain or inefficiency does the client or user currently experience?

Example: Customers cannot update their delivery address after placing an order, resulting in support calls and manual database edits.

User Job To Be Done

What is the user trying to achieve?

Phrase this from the user's point of view.

Example: As a customer, I want to change my delivery address so my order goes to the right place without waiting for support.

Trigger / Catalyst

Why are we solving this now?

  • A process change?
  • A support burden?
  • A new requirement?
  • Something blocking another feature?

Evidence / Data (if applicable)

Any supporting facts, examples, screenshots, or logs that prove the problem exists.

2. Proposed Solution

Describe how Neon intends to solve the problem. This is the directional plan—not a step-by-step coding guide.

Solution Overview

What is the conceptual approach?

Example: Add an “Edit Address” action on the Order detail page, allowing changes until the order reaches the “Dispatched” status.

Scope of Work

What is included, and what is explicitly not included?

  • Included:

    • UI to update delivery address
    • Validation on address fields
    • Audit log of changes
  • Out of Scope:

    • Changing shipping method
    • Editing line items

Clarity here avoids assumptions.

UX Considerations

How should this feel from the user's perspective?

  • Where does the action live?
  • What happens on success or error?
  • Is progress visible?

If mockups exist, link them here.

Acceptance Criteria

The behaviour that must be true for this job to be complete.

Example:

  • A user can edit their delivery address before dispatch
  • Validation prevents incomplete or invalid address data
  • A confirmation message appears after saving
  • Updated address is visible on the order summary

Each criterion should be testable and objective.

Technical Notes (Optional)

Constraints or decisions already made:

  • Existing tables or models to update
  • Events, jobs, or APIs involved
  • Caveats, gotchas, dependencies

This is high-level guidance—not code.

3. Success Metrics

How do we know this job was worth doing?

Examples:

  • Reduce support tickets related to address changes by 80%
  • Customers successfully update addresses without staff intervention
  • No failed deliveries caused by incorrect addresses

If no measurable outcome exists, the job is suspect.

4. Rollout / Risks (Optional)

  • Any migration steps?
  • Feature flags needed?
  • Potential side effects?

This prevents surprises during deployment.

Definition of Ready

A job is ready for development when:

  • The real-world problem is understood
  • The proposed solution is agreed
  • Acceptance criteria are clear
  • No unanswered questions remain

If any of these are missing, the job returns to refinement.