Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,

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 DEVELOPMENT Outlines : Quick Look of agile development Agility
SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Systems Analysis and Design in a Changing World, 6th Edition
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Agile Project Management with Scrum
BTS530: Major Project Planning and Design Iterative Development References: Agile & Iterative Development, by Craig Larman, 2004, Addison Wesley. Agile.
NAUG NAUG Knowledge Evening – th February 2007.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Agile development By Sam Chamberlain. First a bit of history..
Radu Poenaru Ijaz Ahmet
Agile Software Development. Traditional Software Development 1.Initiation (RFP) 2.Feasibility study Technical – can we build it? Economic – should we.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Introduction to Agile.
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Trusted IT Group. The challenge: 40 active, concurrent IT projects  Unsatisfactory Project Delivery.
Agile Software Development What is Agile? And How are we implementing Agile?
Software Development Landscape
1 Agile Methodology & Programming Ric Holt July 2009.
Agile Software Development Brian Link
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
1 SCRUM 22/02/2009 By Siemen Bastiaens >>
Tuesday, June 8 th, Agile Development-Successful Delivery & Implementing Across the Enterprise.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 8 - Approaches to System Development.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Agile
Computer Science and Software Engineering© 2014 Project Lead The Way, Inc. Software Design Process.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
OFFICE OF INFORMATION AND TECHNOLOGY Mobile Applications Scrum Framework November 21, :00 am (EST) Seal of the U.S. Department of Veterans Affairs.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Systems Analysis and Design in a Changing World, 6th Edition
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
CS3100 Software Project Management Agile Approaches.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
SCRUM.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
PV213 EIS in Practice: 06 – Development process 1 PV213 Enterprise Information Systems in Practice 06 – Development process.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Agile 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Embedded Systems Software Engineering
Approaches to Systems Development
Software Development.
AGILE SCRUM METHODOLOGY
Scrum.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Agile Software Development Brian Moseley.
Information Technology Project Management – Fifth Edition
Approaches to Systems Development
Introduction to Software Engineering
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
Summarizing Our Models to Date
System DEVELOPMENT LIFE CYCLE MODELS
Introduction to Agile Blue Ocean Workshops.
Scrum in Action.
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

Agile Development Chapter 10 - part 2

Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown, rapidly changing environment − complements Adaptive SDLCs & Methodologies − makes sure developers are fast to respond to changes “Manifesto for Agile Development”  agilemanifesto.org − Value responding to change over following a plan − Value individuals and interactions over processes and tools − Value working software over comprehensive documentation − Value customer collaboration over contract negotiation

Agile Methodologies  These are complete adaptive development methodologies that incorporate Agile principles: Unified Process Extreme Programming Scrum 3

Unified Process (UP)  Object- Oriented systems development methodology Invented by 3 Amigos: − Grady Booch, James Rumbaugh, & Ivar Jacobson Rational Software, which is now owned by IBM Also, invented UML 4

Unified Process (UP)  4 Phases  Phases are made up of iterations 5 InceptionElaborationConstructionTransition A&D and Implementation of Core Reqs -Use Cases Design & Implementation of Tech, Perf, Reliability of each use case o Data validation o Data maint. o Help o User preferences Scope & Prelim est. User acceptance testing Preparing for & deploying InceptionElaborationConstructionTransition Each phase can consist of one or more iterations.

Unified Process (UP) 6 9 Disciplines Incep- tion ElaborationConstruction Transi- tion Business Modeling Requirements Design Implementation Testing Deployment Configuration & change Project management Environment System Development Project Management

Extreme Programming (XP)  XP An iterative and incremental agile SW development methodology − With frequent releases in short development cycles − Main Concepts: 4 Core Values 12 Software Engineering Practices extends these “to the extreme” Emphasizes Software quality 7 Open & frequent Keep it simple From Client, users, developers Courage to do it right; re-do if necessary 4 Core Values

XP's 12 Software Engineering Practices  Planning – quick rough plan; develop user stories; heavily involve users  Testing – "user stories" tests written before coding; can be re-run anytime  Test-Driven Development & Automated Testing  Pair Programming – one writes, one inspects, trade turns  Simple Designs – few classes & methods, no duplicate code  Refactoring – improving code quality without changing what it does  Owning Code Collectively – allows anyone to improve code  Continuous integration – unit-tested code is integrated daily  On-site customer – customer must commit to the project  System metaphor –have an easily-understood vision in laymen's terms – e.g. assembly line  Small Releases – small & frequent deployment  40-Hour Work Week – don’t overload the developers  Coding standards – follow standards 8

XP Project Approach  Outer layer – 1x per PROJECT Create all user stories − Create class diagrams to support each Create system metaphor Create all acceptance tests Plan all releases − Each release has certain user stories Loop thru each RELEASE (Middle Layer)  Middle Layer – 1x per RELEASE Plan all iterations Loop thru each ITERATION (Inner Layer) Acceptance testing (of the Release) Finish -> Deploy the Release!  Inner Layer – 1x per ITERATION Code & unit test (each user story) Integration testing (for all user stories in Iteration) 9 1x per PROJECT 1x per RELEASE 1x per ITERATION Project ends when the final release is completed!

Scrum  Scrum An iterative and incremental agile SW development methodology − With frequent releases in short development cycles − Main Concepts: Team has complete control over organization & work processes Product Backlog - Prioritized list of user requirements Organization Product Owner - client stakeholder who controls the Product Backlog Scrum Master - Scrum project manager a facilitator, removes impediments, resolves issues However, the Scrum Team does the schedule Development Team - 5 to 9 developers Small self-organizing teams; have all the skills necessary Only they ultimately decide what goes in a Sprint Can have more than 1 team in larger projects 10

Scrum Sprint  Sprint - A time-controlled mini-project to implement part of the system Scope is frozen (but can be reduced) Time period is kept constant 11 Sprint Planning Meeting Sprint Review Sprint Retrospective Daily Scrum In Progress DoneTo Do Task Board

Scrum Meetings  All attended by: Scrum Master, Development Team, Product Owner  Time: assumptions are for a 1-month sprint  Sprint Planning - 8 hours before the Sprint Purpose: Creating of the Sprint Backlog − Finalizes the user stories they will work on & all the tasks − Product Owner attends to explain User Stories; Team gets to say if there are detail lacking & cant work on certain user stories yet  Daily Scrum (aka Stand-Up) - 15 beg of day Purpose: Daily status update between the development team − Yesterday − Today − Barriers  Sprint Review (aka Demo) – 4 hours at the end of the Sprint Purpose: a demo; additions to product backlog may be identified − Product Owner was part of the sprint so it isn't an approval meeting Also Attended by: stakeholders, management and developers from other teams  Sprint Retrospective - 3-hours at the end of the Sprint Purpose: process improvement - lessons learned, successes and failure 12

XP vs Scrum XPScrum Work Units  Iterations; 1-2 weeks  Sprints; 2-4 weeks Rate of Change  Can add a feature of equal size (for an unstarted feature within an iteration)  No changes allowed once sprint has started (i.e. to the sprint backlog) but can remove a feature Order of Features within an iteration  Features prioritized by the customer  Must work on features in order!  Features prioritized by the Scrum product owner  Team determines the sequence (but typically works on priority) SW Engineering Practices  12 Principles: test-driven development, pair programming, etc.  No engineering practices prescribed 13