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
many of the analysis activities should be performed internally
a rough design for the WebApp should be developed internally
a rough delivery schedule including milestone dates and final delivery dates should be developed
the degree of oversight and interaction by the contractor with the vendor should be identified
Selection of candidate outsourcing vendors
interview past clients to determine vendor's past performance
be certain the vendor's chief web engineer(s) from past successful projects will be involved with yours
carefully examine samples of the vendor's work on projects similar to yours
Assessing the validity of price quotes and reliability estimates
does the quoted cost of the WebApp provide a direct or indirect return-on-investment that justifies the project?
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
We have a great idea so let's being building the WebApp now.
Stuff changes constantly, so there's no point in trying to understand WebApp requirements.
It's OK to staff a WebE team with developers whose primary experience has been with traditional software development.
Be bureaucratic (lots of process models, timesheets, unnecessary project meetings, team leaders with no WebApp management experience)
Testing, why bother?
To learn more about the book this website supports, please visit its Information Center.