230 likes | 239 Views
This article outlines the activities involved in formulating a web application, including identifying the business need, defining user profiles, and establishing requirements gathering techniques.
E N D
Web Analysis CIS 376 Bruce R. Maxim UM-Dearborn
Web 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 business need for the WebApp? • What are the objectives that the WebApp must fulfill? • Who will use the WebApp? • What are user's intentions for using the content? • What are the applicative goals (ability to perform tasks) for the WebApp?
Requirements Gathering • 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?
Communications 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)
Communications Options • 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 • Create a stack of cards for the identified content objects, operation 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
Analyzing Information • 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 is 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 • 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
WebE Analysis • Functional analysis • usage scenarios used to define operations and functions applied to the WebApp content • Configuration analysis • WebApp environmental infrastructure is described in detail)
WebE Process Model:Planning • Estimate project cost • Evaluate risks • Define finely granulated schedule for first increment • Define coarser schedule for subsequent increments
WebE Team Members • Content developers and providers • Web publisher • Web engineer • Support specialist • Administrator or webmaster
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 Concerns Unique to WebE • Many WebApps are out sourced to vendors specializing in the development of web-based systems and application • WebApp development is relatively new and there is little historical data to use for estimation • The continuously evolving nature of WebApps make estimation, risk analysis, and scheduling more complicated since project scope is less clearly defined
Project Management Guidelines:Initiating Project • Many of the analysis activities should be performed internally • Rough design for the WebApp should be developed internally • Rough delivery schedule including milestone dates and final delivery dates should be developed • Degree of oversight and interaction by the contractor with the vendor should be identified
Project Management Guidelines:Outsourcing Vendor Selection • Interview past clients to determine vendor's past performance • Be certain the vendor's chief web engineer(s) from past successful projects will involved with yours • Carefully examine samples of the vendor's work on projects similar to yours
Project Management Guidelines:Assessing the Validity of Price Quotes • 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?
Project Management Guidelines:Assessing the Development Schedule • Short development times suggest the use of fine granularity in the schedule • Link minor milestones scheduled on a daily timeline
Project Management Guidelines:Managing Project Scope • Use an incremental process model • Allows the development team to freeze the scope for one increment • This allows an operational WebApp release to be created
WebE Worst Practices • 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.
WebE Worst Practices • Be bureaucratic (lots of process models, timesheets, unnecessary project meetings, team leaders with no WebApp management experience) • Testing, why bother?