2. 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
3. Agile Software Development, What Is
It?
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
4. 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
6. UML Unified Modeling Language
The Unified Modeling Language - UML - is OMG's
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
7. 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
9. Agile + UML = Pragmatic Software
Development
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
10. 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
11. 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
12. Questions?
Agile Software Development With UML 12
Editor's Notes
#2: 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.
#3: 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.
#4: This is another option for an Overview slides using transitions.