K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
SDLC – Beyond the Waterfall
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Agile development By Sam Chamberlain. First a bit of history..
1 Software Testing and Quality Assurance Lecture 34 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
COMP 350: Object Oriented Analysis and Design Lecture 2
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.
Chapter 4 Agile Development
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Chapter 4 An Agile View of Process
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
Tuesday, June 8 th, Agile Development-Successful Delivery & Implementing Across the Enterprise.
Current Trends in Systems Develpment
1. 2  Have a basic understanding of the fundamental principles of object-oriented software development.  Understand a selection of the design patterns.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
1 The Manifesto for Agile Software Development “We are uncovering better ways of developing software by doing it and helping others do it. Through this.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
CS3100 Software Project Management Agile Approaches.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Software Engineering (CSI 321) An Agile View of Process 1.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Lecture 3 – Agile Approach
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Agile febrian | erlien | beny | ragnar | billy. SLDC Methodologies.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Agile Gintarė Bernotaitytė © 2013.
Project Management Software development models & methodologies
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
AGILE SCRUM METHODOLOGY
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Ernest Cachia Department of Computer Information Systems
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Agile Software Development Brian Moseley.
Software Engineering (CSI 321)
COMP 350: Object Oriented Analysis and Design Lecture 2
Agile Software Development
How to Successfully Implement an Agile Project
Rosa María Torres de Paz
Lecture 2 Revision of Models of a Software Process
Agile Process: Overview
Introduction to Agile Blue Ocean Workshops.
Projects, Assignments, and other Assessments
Project Lifecycle and IT Product Life Cycle
Topic 1: Introduction to the Module and an Overview of Agile
Chapter 5: New and Emerging Process Methodologies
System Development Methods
Presentation transcript:

K.Ingram 1 Sept 2007 Agile Software Development

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

K.Ingram 3 Sept 2007 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 4 Sept 2007 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 5 Sept 2007 The phases of RAD User design JAD workshop Prototyping CASE Requirements planning JRP workshop Cutover Construction Prototyping CASE KEY Phases Techniques Tools

K.Ingram 6 Sept 2007 RAD: pros and cons 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

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

K.Ingram 8 Sept 2007 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” [ See also:

K.Ingram 9 Sept 2007 The Agile Principles See They include –Deliver working software frequently… –Welcome changing requirements… –Business people and developers must work together daily… –…..

K.Ingram 10 Sept 2007 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 11 Sept 2007 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

Agile Model Driven Develpment K.Ingram 12 Sept 2007 [

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

K.Ingram 14 Sept 2007 SCRUM [8/8/02]

K.Ingram 15 Sept 2007 eXtreme Programming Based on the Values of –simplicity, –communication, –feedback, –courage, –humility. See also:

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

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

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

K.Ingram 19 Sept 2007 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 20 Sept 2007 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 21 Sept 2007 Agile References list of categories of articles ** mer07http:// mer07 esp the 2nd paper ‘What’s wrong with Agile methods: Some principles and values to encourage quantification’ about SCRUM **