Upload
genesis-ruff
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
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/