Web Engineering Web Development Processes: Muhammad Umair Naru
This document discusses processes for web development projects. It describes heavyweight processes like RUP which are formal and phase-oriented, and lightweight processes like XP which are more iterative and adaptive. Both have advantages and disadvantages for web projects, which often have short cycles, changing requirements, and need to adapt content quickly. The document also proposes using a meta-process that can adapt agile processes over several projects to address issues of scalability and complexity that individual processes cannot.
Download as PPT, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
27 views
Web Engineering Web Development Processes: Muhammad Umair Naru
This document discusses processes for web development projects. It describes heavyweight processes like RUP which are formal and phase-oriented, and lightweight processes like XP which are more iterative and adaptive. Both have advantages and disadvantages for web projects, which often have short cycles, changing requirements, and need to adapt content quickly. The document also proposes using a meta-process that can adapt agile processes over several projects to address issues of scalability and complexity that individual processes cannot.
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 20
Web Engineering
Web Development Processes
Muhammad Umair Naru
Overview Chapter 10: Kappel et al. Selecting a Process Fundamentals Requirements Heavyweight methods – RUP Lightweight methods – XP Meta-processes The Need for a Formal Process Many projects are done ad hoc & practically Pro: Shorter development times Con: Operation & maintenance suffer No process models yet exist solely for Web applications. Development teams adapt existing conventional software process models Models often provide flexibility But are they always a good fit? A Few Definitions Process Model – summarizes the development approach in the overall context. Organizational aspects Estimating resources; timing Examples: RUP, XP Method – a detailed approach to solving a development problem. Requirements and Technology-oriented Content-specific aspects Example: A UML diagram A Few Definitions (continued) 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 Heavyweight vs. lightweight – the degree of process formalization. Process Requirements for the Web 1. Handling short development cycles Expected duration: 3-6 months Fast-cycle technology & marketing 2. Handling changing requirements Many requirements emerge after development begins. Restructuring of data. Evolving technologies & standards. Strong customer involvement. Process Requirements for the Web 3. Fixed Deadlines, but Flexible Contents “Disposable” releases simply to demonstrate functionality to customers. Time is most critical. Metrics? 4. Parallel Development of Releases Small teams working on different versions of the application concurrently. Largely a project management problem. Emphasis on communication. Process Requirements for the Web 5. Reuse and Integration What components are being used in other Web development projects? Modeling promotes reuse. Caveat: are we spreading problems around? 6. Adapting to Complexity Level The entire process may adapt as development becomes more complex The more complex an application, the more formalized the process should be. 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”) – similar to the “phases” described in Chapter 1. RUP Phases
Inception: Requirements, Scope, and initial Architecture
Elaboration: Define architecture, platform, fixed price Construction: Finish analysis; design & coding Transition: Deliver application to customer RUP Core Workflows (Disciplines) Key Principles Behind RUP Adapt the process Balance stakeholder priorities Collaboration across teams Demonstrate value iteratively Encourage abstraction Focus continuously on quality RUP’s Suitability for Web Apps Inception – POOR, because 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. RUP & Process Requirements Short development cycles: POOR fit Changing requirements: POOR fit Fixed deadlines, Flexible content: POOR fit Parallel development: FAIR fit Reuse and integration: GOOD reuse; POOR integration Adapting to complexity level: GOOD fit for some phases. 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 XP – A Process Overview Rapid Successive Releases XP – An Iteration View 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 The Meta-Process Alternative Agile processes are generally preferred for the Web, but have 2 main obstacles: Scalability & Complexity High demands on team members Handling scalability and complexity occurs over the course of several projects. A meta-process across software development projects can help manage these changes. The Meta-Process Alternative