July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 1 Web development...

34
July 29-31, 2003 WebTech'03 - "Web Development Processes ", David Lowe, UTS Slide 1 Web development Web development processes processes A/Prof David Lowe A/Prof David Lowe University of Technology, Sydney University of Technology, Sydney

Transcript of July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 1 Web development...

July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS

Slide 1

Web development Web development processes processes

A/Prof David LoweA/Prof David LoweUniversity of Technology, SydneyUniversity of Technology, Sydney

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 22

Software Engineering WisdomSoftware Engineering Wisdom

““Some Facts: Before software and Some Facts: Before software and computing systems can be developed, computing systems can be developed, their requirements must be reasonably their requirements must be reasonably

well understood. Before requirements can well understood. Before requirements can be finalised the application domain, as it be finalised the application domain, as it

is, must be fairly well understood”is, must be fairly well understood”

‘‘Domain Engineering: A “Radical Innovation” for SoftwareDomain Engineering: A “Radical Innovation” for Softwareand Systems Engineering? A Biased Account’, Dines Bjornerand Systems Engineering? A Biased Account’, Dines Bjorner

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 33

Software Engineering HeresySoftware Engineering Heresy

For Web projects, design and requirements For Web projects, design and requirements can only be jointly resolved!can only be jointly resolved!

I will explain why this heresy is I will explain why this heresy is appropriate within Web development, and appropriate within Web development, and the (incorrect) assumptions that underlies the (incorrect) assumptions that underlies conventional SE wisdom.conventional SE wisdom.

DomainUnderstanding Requirements Design

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 44

Intro / OverviewIntro / Overview What makes Web devel. difficultWhat makes Web devel. difficult Web systems impacting on the system Web systems impacting on the system

domain: mutual constitutiondomain: mutual constitution Dealing with the differencesDealing with the differences

• PrototypingPrototyping• Design modelsDesign models• Agile DevelopmentAgile Development

Other issuesOther issues ……

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 55

Web DevelopmentWeb Development

Discrepancy between research and Discrepancy between research and commercial practice!commercial practice!

Research has focused on design and information Research has focused on design and information architecturesarchitectures

Commercial practice has focused on the broader Commercial practice has focused on the broader development process, and in particular development process, and in particular understanding the develop-client interaction.understanding the develop-client interaction.

Strong divergence of views on numerous Strong divergence of views on numerous issuesissues

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 66

Web DevelopmentWeb Development• We interview the clients to determine requirementsWe interview the clients to determine requirements• We interview intended users to determine requirementsWe interview intended users to determine requirements• It is important to respond to changes in reqt’s as they occurIt is important to respond to changes in reqt’s as they occur• Changes in user reqt’s require the application to be Changes in user reqt’s require the application to be

renegotiated. renegotiated. • We often have difficulty in the relationship with clientsWe often have difficulty in the relationship with clients• We prefer a single client liaisonWe prefer a single client liaison• It is important to identify technologies as soon as possibleIt is important to identify technologies as soon as possible• It is important to be able to modify the system once it is It is important to be able to modify the system once it is

completedcompleted• Technical, design and management staff work well togetherTechnical, design and management staff work well together• The project size/costs are tracked and corrective actions are The project size/costs are tracked and corrective actions are

takentaken

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 77

How is Web development different?How is Web development different?

Minor DifferencesMinor Differences• Increased emphasis on UIIncreased emphasis on UI• Uninformed competitivenessUninformed competitiveness• Fine-grained organic evolution. Fine-grained organic evolution. • Open modularised architectures and Open modularised architectures and

component-based developmentcomponent-based development• Rapidly changing technologiesRapidly changing technologies• Variable client understandingVariable client understanding• Diverse teamsDiverse teams

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 88

How is Web development different?How is Web development different?

Three key differences:Three key differences:• Poor understanding of link between Poor understanding of link between

business needs and application business needs and application functionalityfunctionality

• Tighter synergism between business Tighter synergism between business needs and technologyneeds and technology

• Tighter development timeframes and Tighter development timeframes and rapid pace of changerapid pace of change

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 99

How is Web development different?How is Web development different?

These key issues all relate back to These key issues all relate back to one single “killer” issue:one single “killer” issue:

The system changes the domain!The system changes the domain!• business workflowsbusiness workflows

• business modelbusiness model

• interactions with clients and customersinteractions with clients and customers

• … … and ultimately even your clients!and ultimately even your clients!

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 1010

But is this really different?But is this really different?

So what – isn't this true for normal SE / IT So what – isn't this true for normal SE / IT development?development?• YES! But impact is more immediate and YES! But impact is more immediate and

greater in scope.greater in scope.

• ““Conventional” IT development largely ignores Conventional” IT development largely ignores this impact, and addresses it through this impact, and addresses it through subsequent system refinement and/or BPR!subsequent system refinement and/or BPR!

We ignore it at our peril for Web projects!We ignore it at our peril for Web projects!

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 1111

Organisation

Changing the domainChanging the domainWorkflows

RolesActivities

ResourcesTools

CommunicationsExpectations

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 1212

Organisation

Changing the domainChanging the domain

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 1313

Changing the domainChanging the domain

Organisation

Domain of Influence

Domain of Change

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 1414

Organisation

Changing the domainChanging the domain

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 1515

Organisation

Changing the domainChanging the domain

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 1616

Organisation

Changing the domainChanging the domain

Domain of Influence

Domain of Change

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 1717

Mutual constitutionMutual constitution

The problem The problem drives the drives the solutionsolution

The solution The solution changes changes (creates?) (creates?) the problemthe problem

© MC Escher

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 1818

So how do we deal with this?So how do we deal with this?

Various approachesVarious approaches• Prototypes to explore the impactsPrototypes to explore the impacts

• Design models that link design to business Design models that link design to business issuesissues

• Agile development and evolvable architecturesAgile development and evolvable architectures

Web developers understand much of this Web developers understand much of this inherentlyinherently• … … but little of it is rigorous or formally but little of it is rigorous or formally

managed.managed.

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 1919

PrototypingPrototyping…… Allows impact explorationAllows impact exploration But different from conventional prototyping:But different from conventional prototyping:

1.1. Validation of requirementsValidation of requirements

2.2. Design explorationDesign exploration

3.3. Impact explorationImpact exploration

Useful sources of conceptsUseful sources of concepts• IBM Patterns for E-BusinessIBM Patterns for E-Business• Rapid Application DevelopmentRapid Application Development• Information modellingInformation modelling

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 2020

PrototypingPrototyping

Issues raised:Issues raised:• What prototypes should we use?What prototypes should we use?• When should these be used?When should these be used?• What system characteristics should emerge at What system characteristics should emerge at

different stages of the development?different stages of the development?• How is this integrated into the development How is this integrated into the development

process?process?• How does this affect contractual negotiations?How does this affect contractual negotiations?• How do clients interact with prototypes?How do clients interact with prototypes?• ……

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 2121

PrototypingPrototyping

Exploration Phase

Client

DetailedAnalysis Build

Analyst Developer

Project Brief /Acceptance

Criteria

ArchitecturalSpecification

BuildContract

BuildSpecification

Evaluation Evaluation

Built System

Build Phase

Analysis

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 2222

PrototypingPrototyping

Contract

PrototypeDevelopment

Specification

Evaluation

Prototypes /Partial Designs

Client Feedback

Specification

Exploration Phase

Client

DetailedAnalysis Build

Analyst Developer

Project Brief /Acceptance

Criteria

ArchitecturalSpecification

BuildContract

BuildSpecification

Evaluation Evaluation

Built System

Build Phase

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 2323

PrototypingPrototyping Preliminary researchPreliminary research

What factors influence the ability to understand the What factors influence the ability to understand the impacts of a proposed system when presented with a series impacts of a proposed system when presented with a series of early web design artefacts?of early web design artefacts?

LessonsLessons• Use of storyboards, screen shots and business process Use of storyboards, screen shots and business process

models was valuable!models was valuable!• WebML content models, example site navigation maps, WebML content models, example site navigation maps,

database schemas were not useful!database schemas were not useful!

• Clients made assumptions about business elements Clients made assumptions about business elements which are not covered by the prototypes (and outside which are not covered by the prototypes (and outside the system scope).the system scope).

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 2424

PrototypingPrototyping LessonsLessons

• Clients had variable understanding of functional aspects. Clients had variable understanding of functional aspects. This was typically not well addressed by the prototypes.This was typically not well addressed by the prototypes.

• Weak correlation between understanding of existing Weak correlation between understanding of existing business and understanding of impacts! And between business and understanding of impacts! And between understanding of modelling approaches and understanding of modelling approaches and understanding of impacts.understanding of impacts.

• Way in which the prototypes were explored appears to Way in which the prototypes were explored appears to be crucial!be crucial!

• There is little difference between Engineering/IT and There is little difference between Engineering/IT and Business participants in ability to understand business Business participants in ability to understand business impactsimpacts

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 2525

Design ModelsDesign Models

Need to provide a Need to provide a clearer link between clearer link between low-level design and low-level design and business issuesbusiness issues• i.e. how do specific i.e. how do specific

functional or functional or informational elements informational elements provide business value, provide business value, and if they are and if they are changed, what are the changed, what are the impacts on the value impacts on the value chains.chains.

Low-level Design

Architectural Design

Business model

Business processes

e.g. e3 - value

Work flowse.g. UML

(Activity / Sequencediagrams)

e.g. WebML

Detailedfunctional design

e.g. UML(class diag)

Detailed info.design

High-levelfunctional design

High-level info.design

e.g. UML (comp.diagrams, etc.) ????

Info flows

???? ?

?

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 2626

Design ModelsDesign Models

TransAirUsers

OperateAirCarrier

FlightStatus

FlightBooking

PaymentQueryandPurchaseAirTicket

Hotel/Car Advertisement

Adv

ert

ise

me

ntE

xpo

sure

CompanyInfo

Interest/attentionAirtrafficController

ProvideAirtraffic

Information

HireHotel/CarCompanies

Operate hirehotel/carserivces

Pay

men

t

Adv

ertis

emen

t

Paym

ent

FlightStatusInform

ation

UsersInterest

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 2727

Design ModelsDesign Models

OperateAirCarrier

TransAirPriceDB

FlightInfoDB

StorePrice

StoreFlightInfo

Price

FlightInfo

UserInfoandprofileDB

PaymentInfo

Userinfoandprofile

UserInfo

DisplayedFlightStatus

FrequentFlyerPolicy

Query

BookingStatus

AdvertisementDB

StoreUserInfo

CreateDisplayedFlightStatus

StoreAd

CompanyInfo

QuotationInfo

BookingDBQuery info andPurchase air ticket

User

Operate Hire Hotel/Car

Services

Hire Hotel/Carcompanies

Provide flight statusinformation

AirTrafficController

FlightStatus

Advertisement

BillingDB

SystemOrganisation

UserPolicy

CreateQuotationInfo

StoreInvoice

StoreReceipt

GenerateReceipt

CreateBookingStatus

CreateUserinfoandprofile

CreateBooking

ATCInvoice ATCPayment ATCReceipt HTInvoice HTPayment HTReceipt

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 2828

Agile developmentAgile development

Agile developmentAgile development• eXtreme ProgrammingeXtreme Programming

But…But…• How do we define an overall architecture How do we define an overall architecture

(particularly one which is evolvable)?(particularly one which is evolvable)?

• What elements should be designed first (i.e. What elements should be designed first (i.e. interplay between providing business value interplay between providing business value and understanding business impacts)?and understanding business impacts)?

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 2929

Other IssuesOther Issues Necessity for changes to the tendering process and Necessity for changes to the tendering process and

contractual arrangementscontractual arrangements When can full quotations be provided?When can full quotations be provided? How do we managed evolutionary / incremental development?How do we managed evolutionary / incremental development?

Client engagement with the development / Developer Client engagement with the development / Developer engagement with the businessengagement with the business

How do we educate clients about technological impacts?How do we educate clients about technological impacts? How do we educate developers about business drivers?How do we educate developers about business drivers?

External drivers for domain changeExternal drivers for domain change How is this handled?How is this handled?

Different technological / business evolution paths?Different technological / business evolution paths? How do we select between different possibilities?How do we select between different possibilities?

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 3030

Take-home messagesTake-home messages

Web development is still software developmentWeb development is still software developmentBUTBUT

Web projects have unique characteristicsWeb projects have unique characteristics• Poor understanding of link between business needs and Poor understanding of link between business needs and

application functionality and contentapplication functionality and content• Tighter synergism between business needs and technologyTighter synergism between business needs and technology• Tighter development timeframes and rapid pace of changeTighter development timeframes and rapid pace of change

But especially:But especially:• Inter-dependence if problem and solution domainsInter-dependence if problem and solution domains

Conventional approaches work, but need to be adapted Conventional approaches work, but need to be adapted appropriately!appropriately!

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 3131

InvitationInvitation

Ongoing research:Ongoing research:• Role of prototypesRole of prototypes• How do clients understand system impactsHow do clients understand system impacts• How can we relate designs and business processes and models How can we relate designs and business processes and models

more explicitlymore explicitly

Activities:Activities:• Case studies of system evolution (emergence of Case studies of system evolution (emergence of

understanding, and what affects this)understanding, and what affects this)• Impact prediction toolsImpact prediction tools

We are looking for commercial collaboratorsWe are looking for commercial collaborators• Critique of (and report on) your processesCritique of (and report on) your processes• Model your systems and business processesModel your systems and business processes• Use of our tools and knowledgeUse of our tools and knowledge

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 3232

References / Additional InfoReferences / Additional Info Textbook: D. Lowe and W. Hall, Hypermedia and the Web: An Textbook: D. Lowe and W. Hall, Hypermedia and the Web: An

Engineering Approach, Wiley, 1998 Engineering Approach, Wiley, 1998

Other References:Other References:• M. Abrams, World Wide Web: Beyond the Basics, Prentice-Hall, 1998M. Abrams, World Wide Web: Beyond the Basics, Prentice-Hall, 1998• J. Nielson, Multimedia and Hypertext, 1995, Academic PressJ. Nielson, Multimedia and Hypertext, 1995, Academic Press

Design models:Design models:• WebML: http://www.webml.org (and especially WebML: http://www.webml.org (and especially

http://webml.elet.polimi.it/webml/bibliography.htm)http://webml.elet.polimi.it/webml/bibliography.htm)• UML: http://citeseer.nj.nec.com/conallen99modeling.htmlUML: http://citeseer.nj.nec.com/conallen99modeling.html• UML+UID: UML+UID: http://www.inf.puc-rio.br/~schwabe/papers/UML2000.pdfhttp://www.inf.puc-rio.br/~schwabe/papers/UML2000.pdf• OOHDM: OOHDM: http://www.telemidia.puc-rio.br/oohdm/OOHDM.htmlhttp://www.telemidia.puc-rio.br/oohdm/OOHDM.html

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 3333

References / Additional InfoReferences / Additional Info Design methodsDesign methods

• XP: http://www.extremeprogramming.org XP: http://www.extremeprogramming.org • RUP and UML: http://www.rational.com/products/whitepapers/101057.jsp and RUP and UML: http://www.rational.com/products/whitepapers/101057.jsp and

http://www.rational.com/products/whitepapers/101066.jsphttp://www.rational.com/products/whitepapers/101066.jsp • JAD and PD: http://sern.ucalgary.ca/courses/seng/613/F97/grp1/report.html and JAD and PD: http://sern.ucalgary.ca/courses/seng/613/F97/grp1/report.html and

http://sern.ucalgary.ca/~paulson/SENG613/seng613-jad.htm http://sern.ucalgary.ca/~paulson/SENG613/seng613-jad.htm

MiscellaneousMiscellaneous • Web Configuration Management: http://www.susandart.com/publicat.htm Web Configuration Management: http://www.susandart.com/publicat.htm • SUE: SUE: Garzotto F and Matera M (1997) "A Systematic Method for Hypermedia Garzotto F and Matera M (1997) "A Systematic Method for Hypermedia

Usability Inspection", The New Review of Hypermedia and Multimedia, Vol 3, Usability Inspection", The New Review of Hypermedia and Multimedia, Vol 3, pp39-65 pp39-65

• TAM: TAM: Davis, F.D. “Perceived Usefulness, Perceived Ease of Use, and User Davis, F.D. “Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology”, MIS Quarterly, 1989, 13(3):319-342.Acceptance of Information Technology”, MIS Quarterly, 1989, 13(3):319-342.

Numerous Web Engineering workshops and conferences:Numerous Web Engineering workshops and conferences:• See See http://www.teco.edu/~gaedke/webe/ http://www.teco.edu/~gaedke/webe/

July 29-31, 2003July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTSWebTech'03 - "Web Development Processes", David Lowe, UTS Slide Slide 3434

QuestionsQuestions

????????????