1 / 44

Web Engineering

Web Application Development Process and Project Management for Web Lecture 2-3 Dr. Mohammad Ahmad. Web Engineering. Overview. Web Application Development Process Selecting a Process Rational Unified Process Extreme Programming The WebE Process Framework

conwaym
Download Presentation

Web Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Application Development Process and Project Management for Web Lecture 2-3 Dr. Mohammad Ahmad Web Engineering

  2. Overview • Web Application Development Process • Selecting a Process • Rational Unified Process • Extreme Programming • The WebE Process Framework • Project Management For Web Applications • Challenges • Managing the Development Team • Managing the Development Process • Project Risks & Risk Management

  3. Web Application Development Process

  4. The Need for a Formal Process • Many projects are done “quick and dirty” • Pro: shorter development times • Con: low quality, i.e. higher operation & maintenance costs • Two solutions: • Adapt existing conventional software process models • Models often provide flexibility • But are they always a good fit? • Develop new Web specific process models

  5. The Web Engineering Process Must accommodate: • Incremental delivery • Frequent changes • Short timeline Therefore, • An incremental process model should be used in virtually all situations • An agile process model is appropriate in many situations

  6. Definitions: Model vs Method • Process Model – describe the development approach in the overall context • when something should be done • under organizational aspects • Examples: RUP, XP • Heavyweight vs. lightweight – the degree of process formalization • Method – describe the development approach in details • how something should be done • when it can be done • under content-specific aspects • Example: A UML diagram

  7. Definitions: Iteration and Phases • Iteration – a set of distinct activities that results in a software release • Reuse accumulated knowledge • The same steps may occur several times • Experienced teams, new application domain • Phase – the span of time between 2 milestones • Goal-oriented • Risk-oriented

  8. Process Requirements for the Web • Handling short development cycles • Expected duration: 3-6 months • Fast-cycle technology & marketing • Handling changing requirements • Many requirements emerge after development begins. • Restructuring of data. • Evolving technologies & standards. • Strong customer involvement.

  9. Process Requirements for the Web • Fixed Deadlines vs Flexible Contents • “Disposable” releases to demonstrate functionality • Time is most critical (very short, e.g. 2-15 days) • Parallel Development of Releases • Small teams working on different versions of the application concurrently • Largely a project management problem • Emphasis on communication

  10. Process Requirements for the Web • Reuse and Integration • Coordination among the different projects that will reuse the component • Modeling promotes reuse • Push the problem towards integration and increase the risk of problem spread across different projects • Adapting to Complexity Level • Process should adapt as development becomes more complex • The more complex an application, the more formalized the process should be

  11. THE RATIONAL UNIFIED PROCESS

  12. Rational Unified Process (RUP) • RUP is a heavyweight process framework. • Phase-oriented • Incremental • Iterative • Designed for high-complexity, high-quality applications • RUP methods are grouped into core workflows (or “disciplines”)

  13. RUP Phases • Inception • Requirements, Scope, and initial Architecture • Elaboration • Define architecture, platform, fixed price • Construction • Finish analysis; design & coding • Transition • Deliver application to customer

  14. RUP Core Workflows

  15. Key Principles Behind RUP • Adapt the process • Balance stakeholder priorities • Collaboration across teams • Demonstrate value iteratively • Encourage abstraction • Focus continuously on quality

  16. RUP’s Suitability for Web Apps • Inception – POOR • assumptions may change as the project progresses • Elaboration – POOR • Developing suitable system outweighs measuring price • Internet largely defines system architecture • Construction - GOOD • Transition – GOOD • in some cases easier because distribution is automatic

  17. RUP & Process Requirements • Short development cycles: POOR • Changing requirements: POOR • Fixed deadlines, Flexible content: POOR • Parallel development: FAIR • Reuse and integration • GOOD reuse • POOR integration • Adapting to flexibility level: GOOD

  18. EXTREME PROGRAMMING

  19. Extreme Programming (XP) • XP is one of the most popular forms of agile processes. • Iterative, “test-first” • More human-centric/feedback-oriented • 4 Core Values • Communication • Simplicity • Feedback • Courage

  20. XP – A Process Overview • Rapid Successive Releases

  21. XP – An Iteration View

  22. XP & Process Requirements • Short development cycles: GOOD fit • Changing requirements: GOOD fit • Fixed deadlines, Flexible content: GOOD fit • Parallel development: FAIR fit • Reuse and integration: POOR fit • Adapting to complexity level: POOR fit

  23. The WebE Process Framework

  24. The WebE Process Framework-I • Customer communication • Business analysis defines the business/organizational context for the WebApp. • Formulation is a requirements gathering activity involving all stakeholders. The intent is to describe the problem that the WebApp is to solve. • Goals and objectives, scope for first increment • What is the motivation for the WebApp? • Why is the WebApp needed? • Who will use the WebApp? • Informational goals: (user's intention for using the content ) 2. Analysis • Establishes requirements and identifies content items • Content analysis: content provided by WebApp is identified • Interaction analysis: use-cases developed to describe user interaction • Functional analysis: usage scenarios used to define operations and functions • Configuration analysis: WebApp environment described in detail

  25. The WebE Process Framework-II 3. Planning The “plan” consists of a task definition and a timeline schedule for the time period (usually measured in weeks) projected for the development of the WebAppincrement: • Estimate project cost, • Evaluate risks, • Define finely granulated schedule for first increment, • Define coarser schedule for subsequent increments.

  26. The WebE Process Framework-III 4.Modeling • Analysis model—establishes a basis for design • Content Analysis. • Interaction Analysis. • Functional Analysis. • Configuration Analysis. • Design model—represents key WebApp elements • Content design • Aesthetic design • Architectural design • Interface design • Navigation design • Component design

  27. The WebE Process Framework-IV 5. Construction & Testing • WebE tools and technology are applied to construct the WebApp that has been modeled • Content and technical designs are merged to produce executable web pages • Testing of all design elements • Testing exercises WebApp navigation, attempts to uncover errors in applets/scripts/forms, and checks for environment incompatibilities 6. Delivery and Evaluation (Deployment) • configure for its operational environment • deliver to end-users, and • Evaluation feedback is presented to the WebE team • the increment is modified as required (the beginning of the next incremental cycle)

  28. Project Management For Web Applications

  29. Purpose • Project management: A systematic approach to planning and guiding project processes from beginning to end. • It is a human-centered activity • Like requirements analysis, conflict resolution is critical. • Many development teams are still “new” to the Web • Short history, inexperienced in management • Experienced in traditional software only

  30. Objectives & Tasks Planning Development Leadership Software Project Testing Implementation Monitoring

  31. Balancing Conflicting Goals Budget • A change in one goal incurs trade-offs with the others. • Be sure all stakeholders are aware of this relationship! Software Project Time Quality

  32. Traditional vs. Web • In Traditional Projects: • Quality product at lowest cost • 10-100 team members • 12-18 month horizon • $ millions • Requirements-based; structured phases; document-driven • OO methods • Rigid processes • Complex; poor reusability • Experienced, professional developers • In Web Projects: • Usable product in shortest time • 3-10 team members • 3-6 month horizon • $ thousands • Agile methods; prototypes • Component-based methods; multimedia; visual programming • Ad-hoc processes • Standardized; high reusability • Multimedia designers; Web programmers; marketers

  33. General Challenges • Leadership • Poor/incomplete planning • Unique/legacy software systems • Highly technical leadership • Development • Individuality • Many alternative solutions • Rapid change • Monitoring

  34. Development Challenges • Novelty – unknown & uninformed audiences. • Dynamics – time pressures • Parallelism – subteams & communication • Continuity – development to transition • Juvenility – youth; less experience • Immaturity – inadequate tools

  35. Product-Related Challenges • Web apps are “simple” • Aesthetics • Spontaneity • Ubiquity • Compatibility • Stability & Security • Scalability

  36. Managing the Development Team • Success is largely determined by group dynamics & how well they are managed • Communication among team members • Motivation & coordination by Project Manager • Identify & resolve conflicts ASAP • Concurrent engineering • Primary & backup • Documentation is everyone’s responsibility

  37. Web Project Team The Web Project Team Management Functionality Data Project Manager Software Engineer Multimedia Designer Domain Expert Business Expert

  38. The Roles of the Project Manager • Mediator • Motivator • Communicator • Translator • Trainer • Customer liaison • Requirements during development • Post-deployment?

  39. 10 Golden Rules • Promote the professional self-conception of each team member and ethical behavior. • Stress the importance of different app knowledge • Solve conflicts quickly • Keep roles well-defined • Look for parallel developments & synergies • Spread the documentation task fairly • Promote & coordinate continuous use of tools • Translate costs & values • Keep the customer involved • Monitor project progress and objectives

  40. Managing the Development Process • Tool-driven vs. document-driven • Requirements & test suites • Communication • Configuration management • Versioning • Short iteration cycles • No project is too small for it! • Measuring progress • System specification • The application itself

  41. Project Risks • Risk: the probability of an activity to result in a loss. • Most critical risks: • Personnel deficits • Unrealistic time and cost specs • Incompatible third-party components • Misunderstood properties • Poor user interface

  42. Nielsen’s Top Risks • Unclear definition of objectives • Wrong target audience • Development-oriented page structure • Inconsistent design • Insufficient budget for maintenance • Content recycling & poor linking • Mixing Internet & intranet • Marketing research is seen as usability research

  43. Risk Management • How likely is a problem to occur, what will be the impact, and what are the solutions? • Assessment: Identify, analyze, & prioritize • Control: Provision, monitor, mitigate • Groups are better at assessing and managing risk than individuals. • Perform a cost-benefit analysis to justify risk management activities.

  44. Things to keep in mind(or summary) • A good development process is important • Reduce costs • Allow to achieve goals • Adapts to new problems • Project Management is part of the meta-development process (process about the process) • Minimize risks • Enable development process monitoring • Requires integration with the development process (“probe” points)

More Related