This template can be used as a starter file for presenting training materials in a group setting.SectionsRight-click on a slide to add sections. Sections can help to organize your slides or facilitate collaboration between multiple authors.NotesUse the Notes section for delivery notes or to provide additional details for the audience. View these notes in Presentation View during your presentation. Keep in mind the font size (important for accessibility, visibility, videotaping, and online production)Coordinated colors Pay particular attention to the graphs, charts, and text boxes.Consider that attendees will print in black and white or grayscale. Run a test print to make sure your colors work when printed in pure black and white and grayscale.Graphics, tables, and graphsKeep it simple: If possible, use consistent, non-distracting styles and colors.Label all graphs and tables.
Give a brief overview of the presentation. Describe the major focus of the presentation and why it is important.Introduce each of the major topics.To provide a road map for the audience, you can repeat this Overview slide throughout the presentation, highlighting the particular topic you will discuss next.
This is another option for an Overview slides using transitions.
This is another option for an Overview slide.
Agile software development and UML
AGILE SOFTWAREDEVELOPMENT AND UML John O. Iyaniwura BSc (Hons), MSc New Vision Labs Thursday 11th October, 2012
Overview• Agile Software Development, What Is It?• Agile Methodology, Why Adopt It?• Agile Software Development, Main Features• UML- Unified Modeling Language• Benefits Of Adopting UML• UML- Key Components• Agile + UML = Pragmatic Software Development• Summary• References• Questions? Agile Software Development With UML 2
Agile Software Development, What IsIt?• An approach to developing software• February 2001, 17 Software developers, Snowbird, Utah, USA• Manifesto for Agile Software Development• ‘We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:• Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan• That is, while there is value in the items on the right, we value the items on the left more’.• Source: http://agilemanifesto.org/ Accessed: 09/10/2012 Agile Software Development With UML 3
Agile Methodology, Why Adopt It?• Agile software development is:• incremental - software not delivered in a ‘big- bang!’• Iterative - development process repeated many times till the desired end-result is achieved.• Flexible- changes from clients are accommodated• Adaptable- lean more to right than left & vice-versa• Transparent - encourages client/user involvement• Simple - easily adopted by development teams Agile Software Development With UML 4
Agile Software Development, MainFeatures Agile Software Development With UML 5
UML – Unified Modeling Language• ‘The Unified Modeling Language™ - UML - is OMGs most-used specification, and the way the world models not only application structure, behavior, and architecture, but also business process and data structure.’ - Object Management Group (OMG)• UML – ‘a notation, both visual and textual, used to model (i.e. describe) various aspects of software and business systems as well processes.’ – John O. Iyaniwura. Agile Software Development With UML 6
Benefits Of Adopting UML• Reduction in time/effort required to enhance software• Reduction in cost of correcting errors, i.e. ‘bugs’• Reduction in time spent building software: re-use• Increase in the quality of delivered software• Enables communication as design ‘lingua franca’• Benefits from automated support, reducing errors/bugs, correctness: CASE tools. Agile Software Development With UML 7
UML, Key Components• UML Structure Agile Software Development With UML 8
Agile + UML = Pragmatic SoftwareDevelopment• Software developed with an agile approach together with UML models results in – customer satisfaction through early and continuous delivery of valuable software – the accommodation of changing requirements even late in development – frequent delivery of working software, from a couple of weeks to a couple of months – the promotion of sustainable development• The pragmatism of this approach has endeared it to software development teams wary of heavy-weight processes e.g. SDLC, Waterfall, Unified Process etc. Agile Software Development With UML 9
Summary• Agile software development is a light-weight development process• Agile software development yields software incrementally and in iterations• The Unified Modelling Language (UML) is a notation for creating models of software artefacts• UML is globally adopted, supported by CASE tools, and improves software quality• The combination of agile software development and UML results in software that more closely meets the requirements of clients Agile Software Development With UML 10
References• Agile Manifesto: http://agilemanifesto.org/• Principles behind Agile development: http://agilemanifesto.org/principles.html• The Unified Modeling Language: http://www.uml.org/• Agile Modeling: http://www.agilemodeling.com/• Scrum: http://www.scrum.org/• All last accessed on 09/10/2012 Agile Software Development With UML 11
Questions? Agile Software Development With UML 12