Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering.

Similar presentations

Presentation on theme: "Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering."— Presentation transcript:

1 Agile methods for software development HTML5

2 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering what was needed Maintain Plan Analyse Implement Deploy Time

3 3 Some 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 undertaken 2.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

4 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.36http://doi:10.1093/comjnl/26.1.36

5 5 History: 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

6 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

7 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

8 8 Dynamic 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

9 9 MoSCoW Prioritisation MoSCoW only meaningful within a timeframe (e.g. Project/Incremet/Timebox) Hierarchical breakdown M ust S hould C ould W ont Minimum usable subset Significant benefits. Work- arounds possible but costly Significant benefits. Work- arounds easy or cheap Out of scope this time 124356789 I guarantee this All out to achieve this Best endeavours Well re-prioritise next time SCWMSCWM MSSC 60% 40% Estimated Effort © 1995-2001 DSDM Consortium

10 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.

11 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.

12 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)

13 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= 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= Ambler S. (2007) Agile Requirements Best Practices Davies R. (2005) Agile Requirements part 1 (of 3, linked) 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

14 HTML5 14

15 Motivation Evolve HTML, dont start again Compatible with XHTML, HTML4 –can write HTML5 in either style –XHTML style enforces standards 15

16 What is HTML5? A suite of tools for –Markup (HTML 5) –Presentation (CSS 3) –Interaction (JavaScript) 16

17 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

18 New features: form controls 18 calendar date time email url search

19 New features: figure fi gure refers to a non- text unit of a document – Example –figcaption can be used for a caption (optional) 19 figure Image, video, table, diagram, … caption

20 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

21 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

22 New HTML features: storage Local data storage –session –long term Replace cookies –cookies cant store much data sa they are transmitted by every request to the server Manipulated by JavaScript, browser based SQLite or IndexedDB 22

23 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

24 HTML5 summary New HTML features CSS3 JavaScript 24

25 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

Download ppt "Agile methods for software development HTML5. 2 History: waterfall approach 1970s and 1980s Waterfall approach dominated slow, expensive, not delivering."

Similar presentations

Ads by Google