際際滷

際際滷Share a Scribd company logo
AGILE SOFTWARE
DEVELOPMENT 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 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
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, Main
Features




            Agile Software Development With UML   5
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
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 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
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

More Related Content

Agile software development and UML

  • 1. AGILE SOFTWARE DEVELOPMENT AND UML John O. Iyaniwura BSc (Hons), MSc New Vision Labs Thursday 11th October, 2012
  • 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
  • 5. Agile Software Development, Main Features Agile Software Development With UML 5
  • 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
  • 8. UML, Key Components UML Structure Agile Software Development With UML 8
  • 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.
  • #8: This is another option for an Overview slide.