© Copyright 2008 STI - INNSBRUCK www.sti-innsbruck.at Web Engineering Web Application Development Process and Project Management for Web Lecture XI – 20.

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Systems Development Environment
Lecture # 2 : Process Models
Object-Oriented Software Development CS 3331 Fall 2009.
CS487 Software Engineering Omar Aldawud
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Alternate Software Development Methodologies
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
© Copyright 2008 STI - INNSBRUCK Web Engineering Web Application Architectures Lecture V – 4 th November 2008 Federico M. Facca.
© Copyright 2008 STI - INNSBRUCK Web Engineering Developing Applications with WebML Lecture IV – 28 th October 2008 Federico M. Facca.
Web Project Management
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
COMP 350: Object Oriented Analysis and Design Lecture 2
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 1.
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
© Copyright 2008 STI - INNSBRUCK Web Engineering Web Application Development Process and Project Management for Web Lecture II Dr.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Chapter 1 The Systems Development Environment
The Rational Unified Process
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Web Project Management Nazia Hameed COMSATS University of Science and Technology Islamabad.
Describing Methodologies PART II Rapid Application Development* Systems Analysis and Design II.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 11 Slide 1 Chapter 1 The Systems Development Environment.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
CSE 308 Software Engineering Software Engineering Strategies.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
© 2005 by Prentice Hall Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
© Copyright 2008 STI - INNSBRUCK Web Engineering Web Application Development Process and Project Management for Web Lecture V Dr.
CS 5150 Software Engineering Lecture 2 Software Processes 1.
The Systems Development Environment Systems Analysis and Design II.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
TK2023 Object-Oriented Software Engineering
Process 4 Hours.
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Fundamentals of Information Systems, Sixth Edition
The Web Application Development Process Models
Web Application Development Process and Project Management for Web
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Project Management Process Groups
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Testing web applications
CSCI 360: Software Architecture & Design
Presentation transcript:

© Copyright 2008 STI - INNSBRUCK Web Engineering Web Application Development Process and Project Management for Web Lecture XI – 20 th January 2009 Federico M. Facca

Web Engineering (703512) Where are we? #DateTitleLecturer 17 th OctWeb Engineering Introduction and OverviewF. M. Facca 214 h OctCollection Requirements for Web ApplicationsF. M. Facca 321 st OctWeb Application ModelingF. M. Facca 428 th OctDeveloping Applications with WebMLF. M. Facca 54 th NovWeb Application Architectures IF. M. Facca 611 th NovWeb Application Architectures IIF. M. Facca 718 th NovTesting and Usability on the WebF. M. Facca 825 th NovMid Term ExamF. M. Facca 92 nd DecWeb Technologies IF. M. Facca 109 th DecWeb Technologies IIF. M. Facca 1116th DecWeb Technologies IIIF. M. Facca 1213th JanWeb 2.0 Mash-upsF. Daniel (UNITN) 1320 th JanWeb Application Development Process/ Project Management for Web Applications F. M. Facca 1427 th JanFinal ExamF. M. Facca 2

Web Engineering (703512) Overview Web Application Development Process –Selecting a Process –Rational Unified Process –Extreme Programming –Meta-processes Project Management For Web Applications –Challenges –Managing the Development Team –Managing the Development Process –Project Risks & Risk Management Wrap-up 3

Web Engineering (703512) WEB APPLICATION DEVELOPMENT PROCESS 4

Web Engineering (703512) 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

Web Engineering (703512) 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 6

Web Engineering (703512) 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 7

Web Engineering (703512) 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. 8

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

Web Engineering (703512) 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 10

Web Engineering (703512) THE RATIONAL UNIFIED PROCESS 11

Web Engineering (703512) 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”) 12

Web Engineering (703512) RUP Phases Inception –Requirements, Scope, and initial Architecture Elaboration –Define architecture, platform, fixed price Construction –Finish analysis; design & coding Transition –Deliver application to customer 13

Web Engineering (703512) RUP Core Workflows 14

Web Engineering (703512) Key Principles Behind RUP Adapt the process Balance stakeholder priorities Collaboration across teams Demonstrate value iteratively Encourage abstraction Focus continuously on quality 15

Web Engineering (703512) 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 16

Web Engineering (703512) 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 17

Web Engineering (703512) EXTREME PROGRAMMING 18

Web Engineering (703512) 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 19

Web Engineering (703512) XP – A Process Overview Rapid Successive Releases 20

Web Engineering (703512) XP – An Iteration View 21

Web Engineering (703512) 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 22

Web Engineering (703512) 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. 23

Web Engineering (703512) The Meta-Process Alternative 24

Web Engineering (703512) PROJECT MANAGEMENT FOR WEB APPLICATIONS 25

Web Engineering (703512) 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 26

Web Engineering (703512) Objectives & Tasks Software Project Planning Testing Implementation Monitoring Development Leadership 27

Web Engineering (703512) Balancing Conflicting Goals A change in one goal incurs trade-offs with the others. Be sure all stakeholders are aware of this relationship! Software Project Budget TimeQuality 28

Web Engineering (703512) Traditional vs. Web In Traditional Projects: –Quality product at lowest cost – 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 29

Web Engineering (703512) General Challenges Leadership –Poor/incomplete planning –Unique/legacy software systems –Highly technical leadership Development –Individuality –Many alternative solutions –Rapid change Monitoring 30

Web Engineering (703512) Development Challenges Novelty – unknown & uninformed audiences. Dynamics – time pressures Parallelism – subteams & communication Continuity – development to transition Juvenility – youth; less experience Immaturity – inadequate tools 31

Web Engineering (703512) Product-Related Challenges Web apps are “simple” Aesthetics Spontaneity Ubiquity Compatibility Stability & Security Scalability 32

Web Engineering (703512) 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 33

Web Engineering (703512) The Web Project Team Web Project Team ManagementFunctionalityData Project ManagerSoftware Engineer Multimedia Designer Domain Expert Business Expert 34

Web Engineering (703512) The Roles of the Project Manager Mediator Motivator Communicator Translator Trainer Customer liaison –Requirements during development –Post-deployment? 35

Web Engineering (703512) 10 Golden Rules 1.Promote the professional self-conception of each team member and ethical behavior. 2.Stress the importance of different app knowledge 3.Solve conflicts quickly 4.Keep roles well-defined 5.Look for parallel developments & synergies 6.Spread the documentation task fairly 7.Promote & coordinate continuous use of tools 8.Translate costs & values 9.Keep the customer involved 10.Monitor project progress and objectives 36

Web Engineering (703512) Managing the Development Process Tool-driven vs. document-driven –Requirements & test suites –Communication (Wikis) Configuration management –Versioning –Short iteration cycles –No project is too small for it! Measuring progress –System specification –The application itself 37

Web Engineering (703512) 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 38

Web Engineering (703512) 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 39

Web Engineering (703512) 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. 40

Web Engineering (703512) WRAP-UP That’s almost all for day… 41

Web Engineering (703512) 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) 42

Web Engineering (703512) Bibliography Mandatory reading –Chapter 9 –Chapter 10 43

Web Engineering (703512) Assignments Review of other teams project –Team 1 reviews Team 2 –Team 2 reviews Team 3 –Team 3 reviews Team 1 –Team 4 did not deliver A 1 page document with –Is it possible to install the application following instruction? –Does the application fulfill initial requirements? Deadline –3 rd February 44

Web Engineering (703512) Next Lecture 45 #DateTitleLecturer 17 th OctWeb Engineering Introduction and OverviewF. M. Facca 214 h OctCollection Requirements for Web ApplicationsF. M. Facca 321 st OctWeb Application ModelingF. M. Facca 428 th OctDeveloping Applications with WebMLF. M. Facca 54 th NovWeb Application Architectures IF. M. Facca 611 th NovWeb Application Architectures IIF. M. Facca 718 th NovTesting and Usability on the WebF. M. Facca 825 th NovMid Term ExamF. M. Facca 92 nd DecWeb Technologies IF. M. Facca 109 th DecWeb Technologies IIF. M. Facca 1116 th DecWeb Technologies IIIF. M. Facca 1213th JanWeb 2.0 Mash-upsF. Daniel (UNITN) 1320th JanWeb Application Development Process/ Project Management for Web Applications F. M. Facca 1427 th JanFinal ExamF. M. Facca

Web Engineering (703512) Questions? 46