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.