2
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 2 Software Engineering Wisdom “Some Facts: Before software and computing systems can be developed, their requirements must be reasonably well understood. Before requirements can be finalised the application domain, as it is, must be fairly well understood” ‘Domain Engineering: A “Radical Innovation” for Software and Systems Engineering? A Biased Account’, Dines Bjorner

3
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 3 Software Engineering Heresy  For Web projects, design and requirements can only be jointly resolved!  I will explain why this heresy is appropriate within Web development, and the (incorrect) assumptions that underlies conventional SE wisdom. Domain Understanding RequirementsDesign

5
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 5 Web Development  Discrepancy between research and commercial practice!  Research has focused on design and information architectures  Commercial practice has focused on the broader development process, and in particular understanding the develop-client interaction.  Strong divergence of views on numerous issues

6
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 6 Web 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 renegotiated.Changes in user reqt’s require the application to be 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 completedIt is important to be able to modify the system once it is completed 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 takenThe project size/costs are tracked and corrective actions are taken

8
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 8 How is Web development different?  Three key differences: Poor understanding of link between business needs and application functionalityPoor understanding of link between business needs and application functionality 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

9
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 9 How is Web development different?  These key issues all relate back to one single “killer” issue:  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!

10
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 10 But is this really different?  So what – isn't this true for normal SE / IT development? YES! But impact is more immediate and greater in scope.YES! But impact is more immediate and greater in scope. “Conventional” IT development largely ignores this impact, and addresses it through subsequent system refinement and/or BPR!“Conventional” IT development largely ignores this impact, and addresses it through subsequent system refinement and/or BPR!  We ignore it at our peril for Web projects!

18
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 18 So how do we deal with this?  Various approaches Prototypes to explore the impactsPrototypes to explore the impacts Design models that link design to business issuesDesign models that link design to business issues Agile development and evolvable architecturesAgile development and evolvable architectures  Web developers understand much of this inherently … but little of it is rigorous or formally managed.… but little of it is rigorous or formally managed.

20
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 20 Prototyping  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 different stages of the development?What system characteristics should emerge at different stages of the development? How is this integrated into the development process?How is this integrated into the development 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? …

23
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 23 Prototyping  Preliminary research  What factors influence the ability to understand the impacts of a proposed system when presented with a series of early web design artefacts?  Lessons Use of storyboards, screen shots and business process models was valuable!Use of storyboards, screen shots and business process models was valuable! WebML content models, example site navigation maps, database schemas were not useful!WebML content models, example site navigation maps, database schemas were not useful! Clients made assumptions about business elements which are not covered by the prototypes (and outside the system scope).Clients made assumptions about business elements which are not covered by the prototypes (and outside the system scope).

24
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 24 Prototyping  Lessons Clients had variable understanding of functional aspects. This was typically not well addressed by the prototypes.Clients had variable understanding of functional aspects. This was typically not well addressed by the prototypes. Weak correlation between understanding of existing business and understanding of impacts! And between understanding of modelling approaches and understanding of impacts.Weak correlation between understanding of existing business and understanding of impacts! And between understanding of modelling approaches and understanding of impacts. Way in which the prototypes were explored appears to be crucial!Way in which the prototypes were explored appears to be crucial! There is little difference between Engineering/IT and Business participants in ability to understand business impactsThere is little difference between Engineering/IT and Business participants in ability to understand business impacts

25
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 25 Design Models  Need to provide a clearer link between low-level design and business issues i.e. how do specific functional or informational elements provide business value, and if they are changed, what are the impacts on the value chains.i.e. how do specific functional or informational elements provide business value, and if they are changed, what are the impacts on the value chains. ? ?

28
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 28 Agile development  Agile development eXtreme ProgrammingeXtreme Programming  But… How do we define an overall architecture (particularly one which is evolvable)?How do we define an overall architecture (particularly one which is evolvable)? What elements should be designed first (i.e. interplay between providing business value and understanding business impacts)?What elements should be designed first (i.e. interplay between providing business value and understanding business impacts)?

29
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 29 Other Issues  Necessity for changes to the tendering process and contractual arrangements  When can full quotations be provided?  How do we managed evolutionary / incremental development?  Client engagement with the development / Developer engagement with the business  How do we educate clients about technological impacts?  How do we educate developers about business drivers?  External drivers for domain change  How is this handled?  Different technological / business evolution paths?  How do we select between different possibilities?

30
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 30 Take-home messages  Web development is still software development BUT  Web projects have unique characteristics Poor understanding of link between business needs and application functionality and contentPoor understanding of link between business needs and application 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: Inter-dependence if problem and solution domainsInter-dependence if problem and solution domains  Conventional approaches work, but need to be adapted appropriately!

31
July 29-31, 2003 WebTech'03 - "Web Development Processes", David Lowe, UTS Slide 31 Invitation  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 more explicitlyHow can we relate designs and business processes and models more explicitly  Activities: Case studies of system evolution (emergence of understanding, and what affects this)Case studies of system evolution (emergence of understanding, and what affects this) Impact prediction toolsImpact prediction tools  We 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