[good web] | [good toolchain]

By William Paul Fiefer (home)

[main menu]

Image: a trainyard

  
 

The Good Process

This story is about giving your Web the process it deserves.
You can read other stories about giving your people the Web they want
and giving your programmers the tools they need.

Overview of the process   |   Design   |   Specifying URLs
Production   |   Library   |   Deliverables   |   Sample project

Overview of the process

Phased development defined

Structured site development divides site creation into two broad phases: design and production. The phases are actually the same activity. The first pass through development is the design loop. All subsequent passes, even if they result in major site enhancements, are part of the production phase.

Phased development allows the image of the site (its look-and-feel) to evolve separately from the structure of the site (where it is stored and how it is broken into pages). A site's image is for its consumers while its structure is for the people working on it.

The primary products of the design and production loops are the pages used at a Web site and the organized inventory of URLs constituting those pages. The pages are logical representations of stored data. Both loops work regardless of whether pages or places where the pages are stored get designed first.

The process itself encourages designing a storage architecture for the pages before designing pages. Pages and their URLs are uncovered during requirements interviews. The bias is deliberate. The process aims to extract page ideas from the user community without directly asking anyone to assume ego responsibility for a creative product. This depressurizes the most crucial aspect of site building.

In summary, we have:

Design: The first loop through the development process. The goal is to analyze, specify, and build a structure. It begins with user interviews for themes, related clusters of pages, services, and URLs to create the structural elements of the site. The URLs are mapped and built into pages, and the Web site is served.

Production: Subsequent loops through the development process supplement, expand, and elaborate on the site theme and may create new themes. Keep the site thematically sound. Refine or augment the page collection by building and populating new site sections with new pages.

The content lifecycle defined

The entire site development process defines a content lifecycle. During this lifecycle, user requirements are converted to a set of URLs displayed through a themed set of Web pages. The output of any step in the content lifecycle is input to the next step.

You start by finding themes and go through to designing the directory structures where you will store your pages. You interview users to find themes and services that are catalogued in a set of design requisitions for later mapping into directory structures. Mapping intangible ideas into a physical system of storage can be as simple as setting a correspondence between specific themes and specific directories, or as abstract as defining a directory that will contain only URLs that get accessed or updated at the same point in time.

This directory structure is populated over time with URLs pointing to data, URLs pointing to executables, and files containing configuration information. If this directory structure is centralized, information consistency and version consistency are easier to maintain.

Once a structure is defined and built, the work involves adding new themes (that usually modify the structure) and presenting an existing structure through new themes. Theme development is creative work, done by developers and users together.

The content lifecycle outline


  Step 1: Gather requirements from users
     Input: User questionnaire
     Input: Imposed page themes
       Output: Requirements notes

  Step 2: Parse collected requirements notes
     Input: Requirements notes
       Output: Design requisition

  Step 3: Build URL descriptions based on final parsing
     Input: Design requisition
       Output: URL descriptions

  Step 4: Map directory structure based on final parsing
     Input: Design requisition
       Output: Directory structure

  Step 5: Populate directory structure to create content
     Input: URL descriptions
     Input: Directory structure
     Input: Imposed page themes
            (input here particularly for design loop)
     Input: Existing client data
       Output: Stratified URL set

  Step 6: Build and edit pages
     Input: Stratified URL set
       Output: Content-edited site

  Step 7: Test all pages
     Input: Content-edited site
       Output: Validated site

  Step 8: Serve Web pages to users
     Input: Validated site
       Output: Web site

  Return to Step 1
     Input: User questionnaire
     Input: Client predetermined needs

The editorial process is apparent. At step 1, user statements are collected: this is reportage; at steps 2 and 3, the statements are analyzed: this specifies the audience; at step 4 the directory is mapped: this organizes the material; at step 5 the directory is populated: this is building the content; at step 6, the actual content and line editing occur; at step 7 is pilot testing the content; at step 8, the audience is served; then the cycle repeats for the next edition.

(Site development is not system design or coding. The process specifies the services that executables provide, but it does not specify the analysis, design, or implementation for those executables.)

[header]

Design

Description of design

Design is the methodical creation of a site. Design is the first pass through the content lifecycle; every subsequent pass through the content lifecycle, even though creative design is involved, is production.

Design includes gathering requirements, writing specifications, building the directory tree, building the URL inventory, sorting the URL inventory, and building the page set. Design is the kickoff phase of site publishing. The ongoing production of thematic content is the production phase.

The goal of design is to build an organized collection of URLs, which is the backbone of any site. In such a set, the total inventory of URLs is systematically sorted into a well-organized directory tree. The lowest level subdirectories within a properly stratified URL collection contain a related collection of URLs. The strength of the thematic relationship binding a particular collection of URLs, its cohesion, reflects the quality of content you have at your site.

Requirements gathering

During the requirements interviews, listen carefully to users for statements you can translate into themes, classifications, services, and URLs. A theme unifies a page set; a classification is a means of identifying the cohesions used to sort URLs into a stratified URL set; a service is a request for system services such as ftp or a database search ; a filename is the unit of storage for transmitted data and is synonymous with a URL.

Collect these observations in the design reference.

The design outline


  Step 1
  Determine client needs by interviewing users at all levels
    (1) Interview to determine the business environment
        (A) Budget
            (a) Current budget for Web site
        (B) Workforce size
            (a) Portion of workforce to access site
            (b) Volume of access (system load)
        (C) Business sector
            (a) Competitors
        (D) Corporate image
    (2) Interview to determine the technical environment
        (A) Existing platform(s)
        (B) Existing technical staff
        (C) Security requirements
    (3) Interview to determine the Web environment
        (A) Desired content, features
        (B) Desired links to external/Internet sites
        (C) Desired performance, expandability

  Step 2
  Parse, map, and populate the Web site design
    (1) Request implementation of technical specifications
        (A) Hardware and software recommendations
        (B) Hardware and software performance requirements
    (2) Edit user-supplied content; create novel content
        (A) Text
            (a) Inventory and categorize existing URL items
            (b) Select URL items for Web inclusion
            (c) Convert selected URL items to Web format
        (B) Graphics
            (a) Inventory and categorize existing URL items
            (b) Select URL items for Web inclusion
            (c) Convert selected URL items to Web format
        (C) Executables
            (a) Analyze requirements
            (b) Design code structure
            (c) Implement
            (d) Test/debug
            (e) Acceptance test
        (D) Web system specification
            (a) URL specification
            (b) Theme/page structure
            (c) Directory structure
            (d) Link structure
            (e) Site customization by department/location
            (f) Network services
    (3) Place selected URL items at specific Web sub-sites
    (4) Documentation specifications
        (A) Procedural structure/schedule
        (B) Associated documentation
            (a) User manual
            (b) Systems manual
                (I) Maintenance
                (II) Backup
            (c) Style manual
                (I) Text
                (II) Graphics
            (d) Production schedule
                (I) New content
                (II) New executables

  Step 3
  Test the populated site
    (1) Test/debug all links
    (2) Test/debug system security

  Step 4
  Open site to beta users
    (1) Train beta users
    (2) Collect beta feedback

  Step 5
  Open site to all users
    (1) Orient/train all users
    (2) Collect user feedback

  Step 6
  Create site backup 0
    (1) Lock site
    (2) Archive site
    (3) Unlock site

[header]

Specifying URLs

The more precise the description of a URL, the easier it is to find it or build it from scratch.

Characteristics of specified URLs


  (1) URL identification/URL name
    The name or identifying designation of the URL

  (2) URL theme/potential URL themes
    The unifying concept of material contained in the URL

  (3) URL classification/URL potential classification
    The unifying concept of material contained in the URL

  (4) URL structure description
    The physical and logical organization of the URL
    (A) URL content type
        The data type of the URL contents
    (B) Primary/secondary keys
        The indexing keys of the URL, if it contains records

  (5) URL contents summary
    The unifying concept of material contained in the URL

  (6) URL characteristics
    The URL properties
    (A) URL owners
        The creators of the URL
    (B) Read/write permission
        The access rights to the URL contents
    (C) URL I/O (delivery services)
        The means used to examine the URL
          (a) Ftp
              File transfer protocol
          (b) Http
              Hypertext transmission protocol
          (c) Print
              Hard copy or hard copy image to disk
    (D) Security requirements
        The protection allocated to the URL contents
          (a) Password
              User identification with secondary identification
          (b) Encryption
              Scrambling the URL contents
    (E) Display formatting
        The appearance of the URL when viewed
          (a) Font/point
              Typeface characteristics
          (b) HTML/text
              Markup language characteristics
          (c) Pagination
              Logical division of the URL into segments
    (F) URL size
        The physical space required to store the URL

  (7) URL access summary
    The log of accesses of the URL
    (A) Access (hit) frequency
        The log of number of uses of a URL
    (B) Times of availability
        The schedule of availability for using a URL

  (8) URL storage location
    The backup site of a URL
    (A) URL backup location
        The backup site of a URL

  (9) URL archive summary
    The schedule of URL maintenance
    (A) Backup schedule
        When a URL is archived
    (B) Revision schedule
        When a URL is revised
    (C) Retirement schedule
        When a URL is removed from service

  (10) Associated URLs
    The URLs used along with a URL

[header]

Production

Description of production

Production is the daily operation of the site after you complete the design. The same development cycle used in design applies to production, but the goal now is the regular creation and stocking of content. Though the goal is different, the process of interviews, URL set stratification, test, and rollout is the same. Now, however, stock is renewed and retired. Production constitutes every pass through the content lifecycle after the initial design pass.

A collection of pages connected by a theme is called a page set. The look-and-feel of a good Web site depends on the thematic quality of its page sets. Themes create the conceptual structure of the stratified URL set. Each theme is a window on the contents of the stratified URL set and can be unique enough to appear as a different site entirely. This is true even though the underlying URL repository is unchanged.

Good page sets (and good pages) provide context, navigational tools or controls, and points of reference for the user. Good page sets have fresh information and valid links, and load fast. The purpose of production is to build and maintain this themed page set.

The page is the unit of work within a page set. Using good pages requires minimal technical knowledge.

Iteration

Content iteration: Where the URL inventory does not support a theme, add to the inventory or truncate the theme.

Performance iteration: Where the stratified URL set diminishes network performance, modify the stratified URL set or trade off performance.

The production outline


  Step 1
  Determine new client needs for site content
    (1) Interview for content
        (repeat parts of design step 1 if needed)
        (A) Interview to determine the Web environment
            (a) Desired content, features
            (b) Desired links to external/Internet sites
            (c) Desired performance, expandability

  Step 2
  Parse, map, and populate the Web site
    (1) Create content (use parts of design step 2 if needed)
        (A) Text
            (a) Inventory and categorize existing URL items
            (b) Select URL items for Web inclusion
            (c) Convert selected URL items to Web format
        (B) Graphics
            (a) Inventory and categorize existing URL items
            (b) Select URL items for Web inclusion
            (c) Convert selected URL items to Web format
        (C) Executables
            (a) Analyze requirements
            (b) Design code structure
            (c) Implement
            (d) Test/debug
            (e) Acceptance test
        (D) Web system specifications
            (a) URL specification
            (b) Theme/page structure
            (c) Directory structure
            (d) Link structure
            (e) Site customization by department/location
            (f) Network services
    (2) Edit user-supplied content
        (A) Text
            (a) Inventory and categorize existing URL items
            (b) Select URL items for Web inclusion
            (c) Convert selected URL items to Web format
        (B) Graphics
            (a) Inventory and categorize existing URL items
            (b) Select URL items for Web inclusion
            (c) Convert selected URL items to Web format
        (C) Executables
            (a) Analyze requirements
            (b) Design code structure
            (c) Implement
            (d) Test/debug
            (e) Acceptance test
        (D) Web system specification
            (a) URL specification
            (b) Theme/page structure
            (c) Directory structure
            (d) Link structure
            (e) Site customization by department/location
            (f) Network services
    (3) Place selected URL items at specific Web sub-sites

  Step 3
  Test the populated site
    (1) Test/debug all links
    (2) Test/debug system security

  Step 4
  Open site to beta users
    (1) Train beta users
    (2) Collect beta feedback

  Step 5
  Open site to all users
    (1) Orient/train all users
    (2) Collect user feedback

  Step 6
  Create site backup n
    (1) Lock site
    (2) Archive site
    (3) Unlock site

  Step 7
  Maintain/sustain the site by cycling through
    the content lifecycle
    (1) Replenish/expand content
    (2) Replenish/refresh/expand links
    (3) Replenish/refresh/expand pages
    (4) Market site internally
        (A) Create hunts, games, chats, conferences

  Step 8
  Run post-implementation review
    (1) Build user survey
    (2) Build focus survey
    (3) Distribute user survey
    (4) Conduct focus surveys
    (5) Collect user surveys
    (6) Analyze user surveys

[header]

Library

Your library is your content, defined as your information and the software that manipulates and displays it. You need schedules and procedures controlling how content items are changed, and you need a directory architecture where you store your content.

Management


  (1) Process plan

  (2) Forms
    (A) Change request
    (B) Job description
    (C) Page description
    (D) Page set description
    (E) Test specification
    (F) Lifecycle

Analysis


  (1) Requirements definition

  (2) Diagrams

Design


  (1) Object/structure charts

Programming


  (1) Programmer's Handbook
    (A) Platforms
    (B) Tools
    (C) Source code

Testing


  (1) Unit

  (2) Integration

Architecture


  (1) Physical structure
    (A) URLs
      (a) Master listing (one file, for rapid testing)
        (I) Interior URLs
        (II) Type (*.html, *.gif, *.jpeg, *.txt, ...)
        (III) URLs called or linked
        (IV) Date(s) tested
    (B) Global URLs
      (a) Type (*.html, *.gif, *.jpeg, *.txt, ...)
      (b) URLs called or linked
      (c) Date(s) tested

  (2) Master tree (interior directory structure)
    (A) Subdirectories
      (a) Name

Logical structure of the architecture


  (1) Page index
    (A) Access pages

  (2) Page themes
    (A) Support pages

[header]

Deliverables

Your deliverables are the tangible products of building the site. Each development stage produces specific deliverables you can use to determine whether you are on schedule and whether the work is of sufficient quality.

Design step 1: Determine client needs by interviewing users at all levels.


  (1) Design requisitions
    (A) Description of current business environment
    (B) Description of current technical environment
    (C) Proposed URL inventory
    (E) URL specifications, if needed
    (F) Proposed directory tree

  (2) Production schedule
    (A) URL revision schedule
    (B) List of required tests
    (C) Test schedule
    (D) Administration schedule (backups)

  (3) Documentation inventory
    (A) List of proposed and required documentation

Design step 2: Parse, map, and populate the Web site design


  (1) URL inventory

  (2) Directory tree

  (3) Specific pages and storyboarded page sequences

  (4) Style manuals (copy, HTML, code)

  (5) System configuration files
    (A) UNIX/X
      (a) Linux
      (b) Sun OS
      (c) Solaris
      (d) BSD
    (B) MVS
    (C) Windows NT
    (D) Mac OS
    (E) OS/2

Design step 3: Test the populated site


  (1) Debugged, tested site

Design step 4: Open site to beta users


  (1) User-tested site

Design step 5: Open site to all users


  (1) Debugged, deliverable, working site

Design step 6: Create site backup 0


  (1) Backup image 0

Production step 1: Determine new client needs for site content


  (1) Design requisitions
    (A) Proposed URL inventory
    (B) URL specifications, if needed
    (C) Proposed directory tree

  (2) Production schedule
    (A) URL revision schedule
    (B) List of required tests
    (C) Test schedule
    (D) Administration schedule (backups)

Production step 2: Parse, map, and populate the Web site, including independently generated content


  (1) Debugged, tested site

Production step 3: Test the populated site


  (1) Debugged, tested site

Production step 4: Open site to beta users


  (1) User-tested site

Production step 5: Open site to all users


  (1) Debugged, deliverable, working site

Production step 6: Create site backup n


  (1) Archive image n

Production step 7: Maintain/sustain site by iterating through the content lifecycle


  (1) Restocked site

Production step 8: Run post-implementation review


  (1) Review results

  (2) Analyze results

[header]

Sample phased development project

Table sections
  • Define: Determine the type of site you want
  • Rollout: Build your site
  • Production: Maintain and evolve your site


  D e f i n e
  Gather and refine requirements and expectations
    (1) Managing expectations
      (A) Rollout sequence
        (a) Smaller documents first
        (b) Smaller and larger documents together
    (2) Technical preparation
      (A) User training
      (B) User workstation configuration
    (3) Existing editorial style
      (A) Internet/Web communication modes and site purpose
        (a) Information
        (b) Transaction
        (c) Interaction
      (B) Desired level of rendered/published quality
        (a) Presentational
        (b) Informational
      (C) Style manual for current Web
        (a) Templates
        (b) Guidelines
        (c) Automation tools
    (4) Degree of hyperization
      (A) HTML
      (B) Microsoft and HTML
      (C) Microsoft and RTF and HTML
      (D) Using Microsoft-compatible viewers
    (5) Special considerations
      (A) Challenged users

  Articulate goals
    (1) Technical integration?
      (A) Standard configuration
        (a) Microsoft applications
        (b) Microsoft languages
      (B) Modified configuration
        (a) Mixed vendors
      (C) Standard Internet configuration
        (a) Linux/X
        (b) Berkeley TCP/IP stack
        (c) Apache httpd
        (d) Sun Java
      (D) Protocol menu
        (a) http
        (b) ftp
        (c) listserv
        (d) news (NNTP)
        (e) RDBMS
          (I) Oracle
          (II) SQL Server
    (2) Sharing information easily?
    (3) Subsuming page creation and delivery under the desktop
        application metaphor?
    (4) Page delivery from local servers?
      (A) Servers based in departments and accessed off
          central menu
    (5) Access?
      (A) Repositories
      (B) Major databases
      (C) Global spaces
        (a) General circulation newsgroups
        (b) Broadcast mail
      (D) Local spaces
      (E) Private spaces
        (a) Mail
        (b) Limited circulation newsgroups

  Define target content pool
    (1) Host systems software and hardware
    (2) Content
      (A) Documentation
      (B) Database
    (3) Elemental and compound document formats
      (A) Current
      (B) Six-month projection

  Select documents for publication
    (1) Internal documentation
      (A) Text
      (B) Tables
      (C) Database
    (2) Memos, announcements
    (3) Calendars, schedules
    (4) Stock files
      (A) READMEs
      (B) Icons
      (C) Image library

  Audit existing Internet communications operating
  architecture
    (1) Network topology
    (2) Network bandwidth
      (A) Current
      (B) Six-month projection
    (3) Server OS
    (4) Http server
      (A) Vendor
      (B) Configuration
    (5) Production tools
      (A) Site development and management tools
        (a) Check-in and check-out
        (b) Indexing
        (c) Searching
        (d) Versioning
        (e) Security
      (B) Document development and management tools
        (a) Authoring
        (b) Page layout
        (c) Graphics
        (d) Format conversion
      (C) Database publishing tools
      (D) Programming tools
    (6) Production (site development) lifecycles
    (7) User workstation tools
      (A) Officeware
      (B) Internet suite

  Select tools for conversion to Web
    (1) Document development tools
    (2) Raw conversion tools
      (A) MS Word to HTML
        (a) HTML Transit (InfoAccess), for example
        (b) Transit Central (InfoAccess), for example
    (3) Document development and management tools
      (A) Framemaker, for example
      (B) Interleaf, for example
    (4) Site development and management tools
      (A) InfoSeek, for example
        (a) Indexing
        (b) Searching
    (5) Programming tools
    (6) Graphics manipulation tools
    (7) Database publishing
      (A) Database
      (B) Database to HTML converters
    (8) Other
      (A) POSIX support for non-UNIX systems.


  R o l l o u t
  Draft style manual for master documents,
  server-side-includes, and cascading style sheets
    (1) Physical style (form)
    (2) File naming conventions
      (A) Filename (coded per department)
      (B) Extension (reflects document type)
    (3) Word template
      (A) Font specification
        (a) Families
        (b) Sizes
        (c) Permissible dingbats
      (B) Column width (one)
      (C) Page breaks
        (a) Headers and footers (none)
      (D) Section breaks
    (4) Usage
      (A) Assists indexing, searching, editing
      (B) Uniform terminology, abbreviations, first use and
          definition
    (5) Access
    (6) Excel style
    (7) Powerpoint
    (8) Graphics
    (9) Raw HTML content
    (10) Live content/applets

  Structure site
    (1) Entry points
      (A) Spin 1: Site as Table-of-contents
      (B) Spin n: Site by Format
    (2) Thematic structure
    (3) Build physical directory structure
    (4) Configure httpd to point into the physical
        directory structure
    (5) Set site security configuration

  Set publication schedules
    (1) Internal documentation
      (A) Text
      (B) Tables
      (C) Database
    (2) Memos, announcements
    (3) Calendars, schedules
    (4) Stock files
      (A) READMEs
      (B) Icons
      (C) Image library

  Stage site rollout
    (1) Deliver as raw files
      (A) Microsoft format
      (B) PDF format
    (2) Deliver as Table-of-contents
    (3) Deliver as Table-of-contents plus Format
    (4) Deliver indexed
    (5) Manage users
      (A) Configuration files
      (B) Access privileges
      (C) Orientation and training

  Convert database to Web
    (1) Convert database from foreign to standard format
    (2) Select Web database publishing tool

  Index site content
    (1) Select indexing tool

  Stage site rollout
    (1) Deliver as raw files
      (A) Microsoft format
      (B) PDF format
    (2) Deliver as Table-of-contents
    (3) Deliver as Table-of-contents plus Format
    (4) Deliver indexed
    (5) Manage users
      (A) Configuration files
      (B) Access privileges
      (C) Orientation and training

  Performance test and audit site content
    (1) Access speed
    (2) Appearance under different browsers
    (3) Dead links


  P r o d u c t i o n
  Update site content
    (1) New content
    (2) New formatting
    (3) Flagging new content

  Performance test and audit site content
    (1) Access speed
    (2) Appearance under different browsers
    (3) Dead links


[header] | [good web] | [good toolchain]
© Copyright 1992-2008, William Paul Fiefer (yamada@prairienet.org), all rights reserved. You incur specific legal obligations under the terms of my copyright and little else under my privacy policy. This page is made possible by maple.sugar.buddha™ and translated into English by my Mom. Sweet enlightenment!™ Last updated 01 January 2008.