SlideShare 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

What's hot

Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Sachith Perera
 
Plunet Summit 2017 - Biraj Rath: Extending Plunet Features & Workarounds
Plunet Summit 2017 - Biraj Rath: Extending Plunet Features & WorkaroundsPlunet Summit 2017 - Biraj Rath: Extending Plunet Features & Workarounds
Plunet Summit 2017 - Biraj Rath: Extending Plunet Features & Workarounds
Plunet BusinessManager
 
V model
V modelV model
V model
Estiak Khan
 
Plunet Summit 2017 - RWS Group Deutschland: How do I ensure that my colleague...
Plunet Summit 2017 - RWS Group Deutschland: How do I ensure that my colleague...Plunet Summit 2017 - RWS Group Deutschland: How do I ensure that my colleague...
Plunet Summit 2017 - RWS Group Deutschland: How do I ensure that my colleague...
Plunet BusinessManager
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
Manusha Dilan
 
Webinar: Lean Enterprise Essentials: Configuration Management and Version Con...
Webinar: Lean Enterprise Essentials: Configuration Management and Version Con...Webinar: Lean Enterprise Essentials: Configuration Management and Version Con...
Webinar: Lean Enterprise Essentials: Configuration Management and Version Con...
Perforce
 
UX and Agile can be better together
UX and Agile can be better togetherUX and Agile can be better together
UX and Agile can be better together
Dassi Shusterman
 
Hybrid project mgmt
Hybrid project mgmtHybrid project mgmt
Hybrid project mgmt
Hussam Ahmad
 
Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanation
Umar Farooq
 
Plunet Summit 2017 - Acclaro: Connecting the Dots - WordPress & Drupal
Plunet Summit 2017 - Acclaro: Connecting the Dots - WordPress & DrupalPlunet Summit 2017 - Acclaro: Connecting the Dots - WordPress & Drupal
Plunet Summit 2017 - Acclaro: Connecting the Dots - WordPress & Drupal
Plunet BusinessManager
 
Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)
ACM-KU
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
Sandeep Kumar
 
Computer aided software engineering
Computer aided software engineeringComputer aided software engineering
Computer aided software engineering
ČhauÐhařÿ Faísal Ãlï
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
Dyanara Pritz Menia
 
Software process model
Software process modelSoftware process model
Software process model
Umar Farooq
 
Sohrab Waterfall Vs Rad
Sohrab Waterfall Vs RadSohrab Waterfall Vs Rad
Sohrab Waterfall Vs Rad
Federal Urdu University
 
software process model
software process modelsoftware process model
software process model
juhi kumari
 
Process model in Software engeneering
Process model in Software engeneering Process model in Software engeneering
Process model in Software engeneering
International Center for Chemical & Biological Sciences
 

What's hot (20)

Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Plunet Summit 2017 - Biraj Rath: Extending Plunet Features & Workarounds
Plunet Summit 2017 - Biraj Rath: Extending Plunet Features & WorkaroundsPlunet Summit 2017 - Biraj Rath: Extending Plunet Features & Workarounds
Plunet Summit 2017 - Biraj Rath: Extending Plunet Features & Workarounds
 
V model
V modelV model
V model
 
Rad model
Rad modelRad model
Rad model
 
Plunet Summit 2017 - RWS Group Deutschland: How do I ensure that my colleague...
Plunet Summit 2017 - RWS Group Deutschland: How do I ensure that my colleague...Plunet Summit 2017 - RWS Group Deutschland: How do I ensure that my colleague...
Plunet Summit 2017 - RWS Group Deutschland: How do I ensure that my colleague...
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Webinar: Lean Enterprise Essentials: Configuration Management and Version Con...
Webinar: Lean Enterprise Essentials: Configuration Management and Version Con...Webinar: Lean Enterprise Essentials: Configuration Management and Version Con...
Webinar: Lean Enterprise Essentials: Configuration Management and Version Con...
 
UX and Agile can be better together
UX and Agile can be better togetherUX and Agile can be better together
UX and Agile can be better together
 
Hybrid project mgmt
Hybrid project mgmtHybrid project mgmt
Hybrid project mgmt
 
Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanation
 
Plunet Summit 2017 - Acclaro: Connecting the Dots - WordPress & Drupal
Plunet Summit 2017 - Acclaro: Connecting the Dots - WordPress & DrupalPlunet Summit 2017 - Acclaro: Connecting the Dots - WordPress & Drupal
Plunet Summit 2017 - Acclaro: Connecting the Dots - WordPress & Drupal
 
Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Computer aided software engineering
Computer aided software engineeringComputer aided software engineering
Computer aided software engineering
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
Class waterfall
Class waterfallClass waterfall
Class waterfall
 
Software process model
Software process modelSoftware process model
Software process model
 
Sohrab Waterfall Vs Rad
Sohrab Waterfall Vs RadSohrab Waterfall Vs Rad
Sohrab Waterfall Vs Rad
 
software process model
software process modelsoftware process model
software process model
 
Process model in Software engeneering
Process model in Software engeneering Process model in Software engeneering
Process model in Software engeneering
 

Similar to Agile software development and UML

Software engineering - Topics and Research Areas
Software engineering - Topics and Research AreasSoftware engineering - Topics and Research Areas
Software engineering - Topics and Research Areas
Techsparks
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
Abdullah al Mamun
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
DebabrataPain1
 
7.agila model
7.agila model7.agila model
7.agila model
Balasingham Karthiban
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
Abdullah al Mamun
 
Agile and Auditors
Agile and AuditorsAgile and Auditors
Agile and AuditorsVersionOne
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
Mobile media module part 6 - app development rev-mf
Mobile media module   part 6 - app development rev-mfMobile media module   part 6 - app development rev-mf
Mobile media module part 6 - app development rev-mf
Michelle Ferrier
 
agile development models IN SOFTWARE ENGINEERING
agile development models IN SOFTWARE ENGINEERINGagile development models IN SOFTWARE ENGINEERING
agile development models IN SOFTWARE ENGINEERING
AmayJaiswal4
 
DevOps Engineering.pptx
DevOps Engineering.pptxDevOps Engineering.pptx
DevOps Engineering.pptx
AbalBoot
 
L35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.pptL35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.ppt
Saraj Hameed Sidiqi
 
L35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.pptL35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.ppt
garimaarora436394
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
aboulkheir
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?
Alan Hood
 
ITFT - Software development life cycle
ITFT  -   Software development life cycleITFT  -   Software development life cycle
ITFT - Software development life cycle
Shruti Kunwar
 
Project Management
Project ManagementProject Management
Project Management
Babu Appat
 
Engineering Software Products: 2. agile software engineering
Engineering Software Products: 2. agile software engineeringEngineering Software Products: 2. agile software engineering
Engineering Software Products: 2. agile software engineering
software-engineering-book
 
Scaling Agile with the Lessons of Lean Product Development Flow
Scaling Agile with the Lessons of Lean Product Development FlowScaling Agile with the Lessons of Lean Product Development Flow
Scaling Agile with the Lessons of Lean Product Development Flow
TechWell
 
Dev ops lpi-701
Dev ops lpi-701Dev ops lpi-701
Dev ops lpi-701
Radhouen Assakra
 

Similar to Agile software development and UML (20)

The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
Software engineering - Topics and Research Areas
Software engineering - Topics and Research AreasSoftware engineering - Topics and Research Areas
Software engineering - Topics and Research Areas
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
 
7.agila model
7.agila model7.agila model
7.agila model
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
 
Agile and Auditors
Agile and AuditorsAgile and Auditors
Agile and Auditors
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Mobile media module part 6 - app development rev-mf
Mobile media module   part 6 - app development rev-mfMobile media module   part 6 - app development rev-mf
Mobile media module part 6 - app development rev-mf
 
agile development models IN SOFTWARE ENGINEERING
agile development models IN SOFTWARE ENGINEERINGagile development models IN SOFTWARE ENGINEERING
agile development models IN SOFTWARE ENGINEERING
 
DevOps Engineering.pptx
DevOps Engineering.pptxDevOps Engineering.pptx
DevOps Engineering.pptx
 
L35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.pptL35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.ppt
 
L35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.pptL35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.ppt
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?
 
ITFT - Software development life cycle
ITFT  -   Software development life cycleITFT  -   Software development life cycle
ITFT - Software development life cycle
 
Project Management
Project ManagementProject Management
Project Management
 
Engineering Software Products: 2. agile software engineering
Engineering Software Products: 2. agile software engineeringEngineering Software Products: 2. agile software engineering
Engineering Software Products: 2. agile software engineering
 
Scaling Agile with the Lessons of Lean Product Development Flow
Scaling Agile with the Lessons of Lean Product Development FlowScaling Agile with the Lessons of Lean Product Development Flow
Scaling Agile with the Lessons of Lean Product Development Flow
 
Dev ops lpi-701
Dev ops lpi-701Dev ops lpi-701
Dev ops lpi-701
 

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

  1. 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.
  2. 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.
  3. This is another option for an Overview slides using transitions.
  4. This is another option for an Overview slide.