Download
agile software development n.
Skip this Video
Loading SlideShow in 5 Seconds..
Agile Software Development PowerPoint Presentation
Download Presentation
Agile Software Development

Agile Software Development

413 Views Download Presentation
Download Presentation

Agile Software Development

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Agile Software Development K.Ingram 1 Sept 2007

  2. Contents Agile Software Development: • What is it? • Agile’s Values, Principles, Practices • The Spiral Life Cycle • Agile Methodologies • Managing an Agile Project K.Ingram 2 Sept 2007

  3. What is Agile Development? • A concept of lightweight process i.e. avoiding unnecessary overheads • Aims to avoid some of the pitfalls in software development whilst achieving good results • It is a further step forward from Rapid Applications Development (RAD) K.Ingram 3 Sept 2007

  4. Rapid Applications Development • NOT a methodology – an approach that includes user-centred design • DSDM is one methodology • recognises the 80:20 rule (Pareto’s Law) • Phases of RAD: • Requirements planning • User design • Construction • Cutover K.Ingram 4 Sept 2007

  5. The phases of RAD Construction Prototyping CASE Cutover User design Requirements planning JAD workshop JRP workshop Prototyping CASE KEY Phases Techniques Tools K.Ingram 5 Sept 2007

  6. avoids specification becoming out of date before implementation Allows speedy implementation of at least some parts of system helps meet user’s requirements  Needs good staff – highly skilled and highly focused and able to work under pressure Needs a range of good software development tools Difficult for loosely-scoped projects RAD: pros and cons K.Ingram 6 Sept 2007

  7. Agile: In General terms… • As guidance, it has sets of • Values • Principles • Practices • Recognises the 80:20 rule (Pareto’s Law) K.Ingram 7 Sept 2007

  8. The Agile Values “While there is value in the items on the right, we value the items on the left more. • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan” [http://agilemanifesto.org/] See also: http://www.ambysoft.com/essays/agileManifesto.html K.Ingram 8 Sept 2007

  9. The Agile Principles • Seehttp://agilemanifesto.org/principles.html • They include • Deliver working software frequently… • Welcome changing requirements… • Business people and developers must work together daily… • ….. K.Ingram 9 Sept 2007

  10. The Agile Practices for Modeling(1) • A range of stakeholders to be actively involved in decision-making and prioritizing • Use the appropriate artifact(s) (i.e. technique(s)) • Anyone can work on any part of any model • As the model is created, consider how each aspect can be tested • Create different models (e.g. requirements, essential use case, etc) in parallel to get different perspectives • Work on another artifact when you get stuck with 1 • Keep contents of models as simple as possible (whilst being extensible) K.Ingram 10 Sept 2007

  11. The Agile Practices for Modeling(2) • Keep the models clutter-free • Make models available for others to see • Model in small rather than large increments • Model as a team where there is a core set of models needed for understanding • Prove the model will work by coding it and testing it – use iterations • Use the simplest tools depending on the purpose of the artifact e.g. whiteboards, post-it notes as well as software modeling tools K.Ingram 11 Sept 2007

  12. Agile Model Driven Develpment [www.agilemodeling.com] K.Ingram 12 Sept 2007

  13. Some Agile Methodologies(in no particular order) • SCRUM • DSDM • eXtreme Programming K.Ingram 13 Sept 2007

  14. SCRUM www.controlchoas.com/APMG_files/slide0202.htm [8/8/02] K.Ingram 14 Sept 2007

  15. eXtreme Programming • Based on the Values of • simplicity, • communication, • feedback, • courage, • humility. See also:http://www.extremeprogramming.org/index.html K.Ingram 15 Sept 2007

  16. DSDM User functionality Tested product Tested prototype Non- functional requirements K.Ingram 16 Sept 2007

  17. Project management Estimating Timeboxing Configuration management Testing Quality Assurance Roles and Responsibilities Team structure Tool environments Risk management Building for maintainability DSDM DSDM covers all parts that standard methodologies cover: K.Ingram 17 Sept 2007

  18. Managing an Agile Project • Present a vision • Nurture resources to do the ‘best possible’ • Remove obstacles • Let the team get on with it • New techniques (e.g. burn-down charts) may be used K.Ingram 18 Sept 2007

  19. Agile Project Plan • Vision: what the business operation will look like • Identify business, functional and technical architecture • Who will do the development? • Identify product releases, milestones and ‘sprints’ • Return on Investment: what benefits will there be and how will they be assessed K.Ingram 19 Sept 2007

  20. Summary • Agile development uses a lightweight, iterative approach • Agile’s Values, Principles, Practices support the concept of ensuring skilled and motivated staff have the information, the tools and the space to get on with it • It is based on The Spiral Life Cycle • Agile Methodologies include SCRUM, DSDM and XP • Managing an Agile Project still requires identification of milestones and releases, monitoring of progress and quality, but a new approach is required. K.Ingram 20 Sept 2007

  21. Agile References • http://agilemanifesto.org/ • http://www.agilealliance.org/ • http://www.agilealliance.org/library list of categories of articles ** • http://www.methodsandtools.com/mt/download.php?summer07 • http://www.methodsandtools.com/PDF/mt200702.pdf esp the 2nd paper ‘What’s wrong with Agile methods: Some principles and values to encourage quantification’ • http://www.controlchaos.com/about about SCRUM ** • www.extremeprogramming.org K.Ingram 21 Sept 2007