AGILE SOFTWARE DEVELOPMENT AND UML
John O. Iyaniwura BSc (Hons), MScNew Vision Labs
Thursday 11th October, 2012
Agile Software Development With UML 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 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 toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan
• That is, while there is value in the items onthe right, we value the items on the left more’.
• Source: http://agilemanifesto.org/ Accessed: 09/10/2012
Agile Software Development With UML 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 5
Agile Software Development, Main Features
Agile Software Development With UML 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 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 8
UML, Key Components• UML Structure
Agile Software Development With UML 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 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 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 12
Questions?
Top Related