Site MapHelpFeedbackChapter Summary
Chapter Summary
(See related pages)

Overview

The chapter describes the Web engineering (WebE) formulation and planning activities. The Web engineering formulation process assesses the underlying need for the WebApp, the features and functions desired by users, and the scope of the development effort. WebE planning addresses the things that must be defined to establish a work plan, consider risks, define a schedule, and establish mechanisms to track the work as the project proceeds. Since WebE is an agile process the work products for formulation and planning should be lean, but they should be written documents. Formulation and planning information should be reviewed with stakeholders to ensure that inconsistencies and omissions are identified early.

WebE Formulation Activities
  • Identify business need for WebApp
  • Work with stakeholders to describe WebApp objectives
  • Develop user profile(s)
  • Define major features and functions
  • Develop an integrated statement of scope
  • Establish requirements gathering activity that leads to development of analysis model
Formulation Questions
  • What is the main motivation (business Need) for the WebApp?
  • What are the objectives that the WebApp must fulfill?
  • Who will use the WebApp?
  • What are the WebApp's informational goals (user's intention for using the content)?
  • What are the applicative goals (ability to perform tasks within the WebApp) for the WebApp?
Requirements Gathering Goals
  • Identify content requirements
  • Identify functional requirements
  • Define interaction scenarios for each user class
Requirements Gathering Steps
  • Ask stakeholders to define user categories and develop descriptions for each
  • Communicate with stakeholders to define basic WebApp requirements
  • Analyaze information gathered and use information to follow-up with stakeholders
  • Define use-cases that describe interaction scenarios for each user class
Defining User Categories
  • What is the user's overall objective when using the WebApp?
  • What is the user's background and sophistication relative to the content and functionality of the WebApp?
  • What generic WebApp characteristics does the user like or dislike?
Stakeholder Communication Options
  • Traditional focus groups - trained moderator meets with group of representative end-users
  • Electronic focus groups - on-line version of traditional focus group
  • Iterative surveys - series of focused surveys sent to representative end-users (often web-based or e-mail)
  • Exploratory surveys - web-based survey tied to WebApps having user similar to the expected users of the proposed WebApp
  • Scenario-building - selected end-users asked to create informal use-cases that describe specific WebApp interactions
Analyzing Information Gathered
  • Create a stack of cards for the identified content objects, operations applied to objects, WebApp functions, and non-functional requirements
  • Shuffle the cards to randomize their order
  • Give the shuffled cards to representative users and ask them to arrange cards into groupings that represent how they would like content and functionality organized in the WebApp
  • WebE team examines the arrangements from several users and seeks to identify common groupings from the various arrangements
  • Labels are assigned to these groupings by the WebE team
  • Users are asked to sort cards again using these labels (the intent is to see the labels are communicating the location of information and functionality)
  • Process of labeling and sorting continues until consensus is obtained
Developing Use-Cases
  • Use-cases provide detail necessary to create an effective analysis model
  • Use-cases help the developer understand how users perceive their interaction with the WebApp
  • Use-cases help to compartmentalize WebE work
  • Use-cases provide important guidance to those testing the WebApp
WebE Analysis Types
  • Content analysis - content provided by WebApp is identified (data modeling techniques may be helpful)
  • Interaction analysis - use-cases can be developed to describe user interaction with WebApp
  • Functional analysis - usage scenarios used to define operations and functions applied to the WebApp content
  • Configuration analysis - WebApp environmental infrastructure is described in detail)
Planning WebE Projects
  • Estimate project cost
  • Evaluate risks
  • Define finely granulated schedule for first increment and coarser schedule for subsequent increments
WebE Team Members
  • Content developers and providers - focus on generation and/or collection of WebApp content
  • Web publisher - liaison between technical staff who engineers WebApp and non-technical content developers and providers
  • Web engineer - involved with WebApp requirements elicitation, analysis modeling, architectural design, navigational design, interface design, implementation, and testing
  • Business domain experts - focus on the specific business problems to be address by the WebApp
  • Support specialist - responsible for continuing WebApp maintenance and support
  • Administrator (Web master) - responsible for daily operation of WebApp
Building WebE Teams
  • Establish a set of team guidelines
  • Strong team leader must be identified
  • Individual team member talents must be respected
  • Team member commitment is essential
  • Team members must be able to sustain momentum when faced with adversity
Project Management Options
  • Outsourcing - WebE performed by third party vendor possessing the technical expertise, but may be lacking the business knowledge
  • In-house - WebApp developed by web engineers employed by the business
  • Mixed - some of the work done in-house and some outsourced
WebE Planning - Outsourcing
  • Initiating a project
    1. many of the analysis activities should be performed internally
    2. a rough design for the WebApp should be developed internally
    3. a rough delivery schedule including milestone dates and final delivery dates should be developed
    4. the degree of oversight and interaction by the contractor with the vendor should be identified
  • Selection of candidate outsourcing vendors
    1. interview past clients to determine vendor's past performance
    2. be certain the vendor's chief web engineer(s) from past successful projects will be involved with yours
    3. carefully examine samples of the vendor's work on projects similar to yours
  • Assessing the validity of price quotes and reliability estimates
    1. does the quoted cost of the WebApp provide a direct or indirect return-on-investment that justifies the project?
    2. does the vendor exhibit the required level of professionalism and experience?
  • Degree of project management you can expect or perform (directly proportional to the size, cost, and complexity of WebApp, the larger the more formal the management and SQA activities)
  • Assessing the development schedule (short development times suggest the use of fine granularity in the schedule, link minor milestones scheduled on a daily timeline)
  • Managing the scope (using an incremental process model allows the development team to freeze the scope for one increment to allow an operational WebApp release to be created)
WebE Planning - In-house
  • Understand project scope, dimensions of change, and project constraints
  • Define incremental project strategy
  • Perform risk analysis
  • Develop a quick estimate
  • Select a task set (process description)
  • Establish schedule
  • Define project tracking mechanisms
  • Establish change management approach
WebE Metric Areas
  • Web Engineering Effort
    • Application authoring and design task
    • Page authoring
    • Media authoring
    • Program authoring
  • Assessing business value
    • On-line user profiling
    • Page hits
Worst Practices for WebE Projects
  1. We have a great idea so let's being building the WebApp now.
  2. Stuff changes constantly, so there's no point in trying to understand WebApp requirements.
  3. It's OK to staff a WebE team with developers whose primary experience has been with traditional software development.
  4. Be bureaucratic (lots of process models, timesheets, unnecessary project meetings, team leaders with no WebApp management experience)
  5. Testing, why bother?







PressmanOnline Learning Center

Home > Chapter 17 > Chapter Summary