agile methods for software development html5. 2 history: waterfall approach 1970s and 1980s...
TRANSCRIPT
![Page 1: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/1.jpg)
Agile methods for software development
HTML5
![Page 2: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/2.jpg)
2
History: waterfall approach
• 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering what was needed
Maintain
Plan
Analyse
Implement
Deploy
Time
![Page 3: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/3.jpg)
3Some common types of project
failure:
1. The system fails to meet the business requirements for which it was developed– The system is either abandoned or expensive adaptive
maintenance is undertaken2. There are performance shortcomings in the system,
which make it inadequate for the users needs– It is abandoned or amended incurring extra costs
3. Errors appear in the developed system cause unexpected problems– Patches have to be applied at extra cost
4. Users reject the imposition of the system, for political reasons, lack of involvement in its development or lack of commitment to it– The system is subverted or abandoned
5. Systems are initially accepted but over time become unmaintainable and so pass into disuse
![Page 4: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/4.jpg)
4
History: prototyping
– "Prototyping is a technique of a working model (crude and incomplete) of a system that could be speedily constructed for user clarification. It helps in communicating the dynamics of the situation, which static paper description fails to demonstrate.”
(Mayhew and Dearnley 1983)
• A response to the problems of waterfall models, popular from the late 1980s
• Split into – Throwaway prototyping– Evolutionary prototyping
Mayhew P. J. and Dearnley P. A. (1983) In favour of of System Prototypes and their Integration into the Systems Development Cycle. Computer Journal, 26(1):36-42; http://doi:10.1093/comjnl/26.1.36
![Page 5: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/5.jpg)
5History: Rapid Applications
Development (RAD)
• Developed from evolutionary prototyping thinking
• Attempt to quickly convert prototypes into production systems by incremental development
• Quick, but dirty and difficult to maintain• Does not scale well to larger systems
![Page 6: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/6.jpg)
6
History: Throwaway prototyping
• Basic idea– Discover initial requirements– Build a quick very incomplete version
containing just enough to let users see how it works
– Refine the requirements until they are reasonably stable and complete
– Throw the prototype out– Start implementation phase
• Good for uncertain requirements, complex systems, scales well
• Does not deliver working software rapidly
![Page 7: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/7.jpg)
7
Agile methods
• "Web-age" approach evolved from RAD thinking• Main ideas
– Deliver working code quickly, using very short development cycles (2-6 weeks)
– Users are part of the team– Test early, test often, test everything– Program in pairs– Don't spend much time planning or analysing at the
start of a project
• Good for projects that have well-defined parts, uncertain requirements, need for speed; produces reliable code
• Does not scale well, or deal with great complexity as there is little centralised control or management
![Page 8: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/8.jpg)
8Dynamic Systems Development
Method (DSDM)
• Basic idea to take Agile development approach and add enough project management to– Manage large and complex projects– Deal with technology risks
• Introduces a "Starting" phase to develop overall framework and plan with– Feasibility study– Business study
• Development broken down into– "Stages", each of which is properly reviewed and
consists of– One or more "timeboxes" which are run as small agile
projects, but use MoSCoW priorities
• Has set of well-defined roles for people
![Page 9: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/9.jpg)
9 MoSCoW Prioritisation
MoSCoW only meaningful within a timeframe(e.g. Project/Incremet/Timebox)
Hierarchical breakdown
Must
Should
Could
Won’t
Minimum usable subset
Significant benefits. Work- arounds possible but costly
Significant benefits. Work- arounds easy or cheap
Out of scope this time
1 2 43 5 6 7 8 9
I guarantee this
All out to achieve this
Best endeavours
We’ll re-prioritisenext time
S C W M S C WM
M S S C
60%
40%
EstimatedEffort
© 1995-2001 DSDM Consortium
![Page 10: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/10.jpg)
10
DSDM ideas
– DSDM assumes that 80% of the solution can be produced in 20% of the time it would take to produce the complete solution.
– DSDM assumes that all previous steps of the development process can be revisited as part of its iterative approach, so the current step need only be completed enough to move to the next.
![Page 11: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/11.jpg)
11
DSDM principles
1. Active user involvement is imperative.
2. DSDM teams must be empowered to make decisions.
3. The focus is on frequent delivery of products.
4. Fitness for business purpose is the essential criterion for acceptance of deliverables.
5. Iterative and incremental development is necessary to converge on an accurate business solution.
6. All changes during development are reversible.
7. Requirements are base lined at a high level.
8. Testing is integrated throughout the lifecycle.
9. A collaborative and co-operative approach between all stakeholders is essential.
![Page 12: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/12.jpg)
12
Pairs programming
• "Two heads are better than one"• Fewer mistakes
– Continuous code review
• Better code – Faster coding– Better quality solutions
• More satisfying– "pair programmers are more self-sufficient,
perform better and are more likely to complete the class with a C or better" (Williams et al. 2002)
![Page 13: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/13.jpg)
13
Resources
• Larman C. and Basili V. R. (2003) Iterative and Incremental Development: a brief history. IEEE Computer, 36(6), 47-56
• The Agile Manifesto (2001) http://www.agilemanifesto.org• Nerur, S., Mahapatra, R., and Mangalaraj, G. 2005. Challenges of
migrating to agile methodologies. Commun. ACM 48(5), 72-78. DOI= http://doi.acm.org/10.1145/1060710.1060712
• Layman, L., Williams, L., and Cunningham, L. 2004. Motivations and measurements in an agile case study. Workshop on Quantitative Techniques For Software Agile Process (Newport Beach, Cal.), 14-24. DOI= http://doi.acm.org/10.1145/1151433.1151436
• Ambler S. (2007) Agile Requirements Best Practices http://www.agilemodeling.com/essays/agileRequirementsBestPractices.htm
• Davies R. (2005) Agile Requirements part 1 (of 3, linked) http://www.methodsandtools.com/archive/archive.php?id=27
• Williams, L., Yang, K., Wiebe, E., Ferzli, M., and Miller, C., "Pair Programming in an Introductory Computer Science Course: Initial Results and Recommendations," presented at OOPSLA Educator's Symposium, Seattle, WA, 2002
![Page 14: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/14.jpg)
HTML5
14
![Page 15: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/15.jpg)
Motivation
• Evolve HTML, don’t start again• Compatible with XHTML, HTML4
– can write HTML5 in either style– XHTML style enforces standards
15
![Page 16: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/16.jpg)
What is HTML5?
• A suite of tools for– Markup (HTML 5)– Presentation (CSS 3)– Interaction (JavaScript)
16
![Page 17: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/17.jpg)
New features: document flow
• section shows the document structure – can be used with h1,… ,h6 elements
• article is an independent piece of content– e.g. a blog entry or newspaper article
• aside is a piece of content that is only slightly related to the rest of the page– similar to a sidebar in a magazine article
• header for introductory or navigational aids • footer for a section
– author details, copyright information, etc.
• nav is a section of the document intended for navigation
17
![Page 18: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/18.jpg)
New features: form controls18
• calendar• date• time• email• url• search
![Page 19: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/19.jpg)
New features: figure
• figure refers to a non-text unit of a document– <figure>
<video src="example.webm" controls></video> <figcaption>Example</figcaption> </figure>
– figcaption can be used for a caption (optional)
19
figure
Image, video, table, diagram, …
caption
![Page 20: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/20.jpg)
New features: media
• Currently no web standard for video or audio on a page, so relies on browser plugins
• audio– formats in HTML5 Ogg Vorbis, MP3, wav
• video– formats in HTML5 Ogg, MPEG4, WebM
• embed
20
![Page 21: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/21.jpg)
New features: graphics
• canvas Uses JavaScript to give pixel-by-pixel control over a rectangular area– paths– gradients– image manipulation– events
• svg – direct inclusion of vector drawing commands
21
![Page 22: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/22.jpg)
New HTML features: storage
• Local data storage– session– long term
• Replace cookies– cookies can’t store much data sa they are
transmitted by every request to the server
• Manipulated by JavaScript, browser based SQLite or IndexedDB
22
![Page 23: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/23.jpg)
CSS3
• Rounded corners• Gradients• Box and text shadows• Fonts• Transparencies• Multiple background images and border images• Multiple columns and grid layout• Box sizing• Stroke and outlines• Animation, movement and rotation• Improved selectors
23
![Page 24: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/24.jpg)
HTML5 summary
• New HTML features• CSS3• JavaScript
24
![Page 25: Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering](https://reader038.vdocuments.mx/reader038/viewer/2022103111/55160c89550346cf6f8b6083/html5/thumbnails/25.jpg)
Resources
• W3C for the current versions of all documents
• Advocacy sites– http://html5rocks.com– http://html5watch.tumblr.com– http://www.css3.info– http://css3generator.com
25