Mar 2 2010

Episode 58: Web Development Specifications

Play

Proper specifications are an essential tool to project management, as well as giving accurate estimates.

Geek Tool – 00:34

Webapps – 02:41

  • Browsersize – Find out what people with smaller screen casn see
  • Aardvark – Ask it a question and it finds an expert

Topic – 10:02

  • Creating Specs
  • What?
    • Document that describes the technical requirements including procedures of which describe when the requirements have been met.
    • From the user’s perspective
    • Screens, dialogs, and menus
  • Why?
    • Failing to write a spec is the single biggest unnecessary risk you take in a software project — Joel Spolsky from Stack Overflow
    • They provide a precise view of the problem, they force you to think about your program and actually design it
    • Gets everyone on the same page before diving in and wasting time coding the wrong thing
    • To get an accurate picture of how long (how much money) a project will take
    • Help avoid duplications and inconsistencies
  • Common questions you can ask the client
    • Total number of pages
    • What kind of navigation bars or menus
    • More than one page design?
    • Number of custom graphics needed
    • Number of graphics provided by the client
    • How design-intensive a site do they want?
    • What type of text content, provided in what form?
    • Interactive forms? How many fields?
    • Database-driven applications? (Detailed description of all functionality is needed)
    • Administration areas?
    • Domain registrations or changes?
    • Hosting arrangements?
    • How important is search engine positioning?
    • Will any client training be necessary?
  • Every Spec should have
    • Joel Spolsky’s Article on writing functional specifications
    • A Disclaimer stating that it is a work in progress
    • An author, only one
    • Scenarios, fictionally stories of how a user will interact with the software
    • Non-goals
    • An overview
    • Details, provide a sub section for each screen or feature
    • Open issues i.e.  We need to consult the marketing team and see how they want to word this email that gets sent out on user registration.
    • Side notes
  • Tips
    • Make them fun to read
    • Write as simply as possible
    • Review and re-read your spec several times
    • Charge your client for a spec – Manifest Phil