AGILE METHODS Curtis Cook CS 569 Spring 2003.

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
Chapter: 3 Agile Development
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
E X treme Programming & Agile Modeling Copyright © 2003 Patrick McDermott UC Berkeley Extension
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
Agile Project Management with Scrum
Agile development By Sam Chamberlain. First a bit of history..
Agile Architecture? Paul Lund 24 th Nov Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Agile Methods.
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
Does it work with Data Warehouses?. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we.
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
How Agile Are You? Larry Apke Agile Expert
The Two Faces of Project Management Bendik Bygstad, NITH IFI, 16.Sept 2008.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Chapter 4 Agile Development
AGILE Methodology. AGILE  derived from the word ‘agile manifesto’, also called the Manifesto for Agile Software Development which is a formal proclamation.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Project Workflow. How do you do it? -Discussion-
CS1: Classic Software Life Cycle “Waterfall” method: 1.Requirements/Analysis Determine the problem to be solved – client-centered 2.Specification.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
1 11/21/2015 ã 2007, Spencer Rugaber Agile Manifesto February, 2001 XP, SCRUM, DSDM, Adaptive Software Development,
Why (or When) Agile Fails Creating high performance software delivery teams.
Jeff Briggs Senior Consultant Capstone Consulting.
#2-What is Agile? Why Agile? Subtopics 1- Agile motivation for software / systems 2- Agile tenets and principles 3- Agile as a risk mitigation strategy.
- Discussion of Chapter 1 in Martin and Martin.  We are uncovering better ways of developing software by doing it and helping others do it. Through this.
Chapter 3 Agile Development
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
The Agile Manifesto Some thought starters for Ogilvy on how to work with Agile and SCRUM approaches to managing projects.
Agile Introduction Emerson Murphy-Hill. Agile Manifesto/Alliance XP, SCRUM, DSDM, Adaptive Software Development, Crystal, FDD February 2001 (Snowbird,
By: Isuru Abeysekera AGILE DEVELOPMENT. WHAT IS AGILE DEVELOPMENT? Broad term used to describe several methods for a development process Introduced in.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
© 2014 IBM Corporation “Leaders Guide to Radical Management” for DevOps with Steve Denning Chapters 6 and 7: From Bureaucracy to Dynamic Linking by Delivering.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Project Workflow.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Project Management
Agile Project Management and the yin & yang of
Agile Methodology and Scrum
AGILE SCRUM METHODOLOGY
Introduction to Agile Software Development
Principles for Agile Development
Jenna Maghie, Policy Officer
Agile Training Day 2 November 17, 2015.
Project Workflow.
#2-What is Agile? Why Agile?
Teaching Agile Methods CSEE&T 2017, Savannah, Georgia
Chapter 5 Agile Development
Project Management and the Agile Manifesto
Agile Software Development Paradigms
Rosa María Torres de Paz
The Agile Manifesto is based on 12 principles
Introduction to Agile Blue Ocean Workshops.
How Strong is Your Agile Foundation
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
The Manifesto for Agile Software Development
Projects, Assignments, and other Assessments
Agile software development
Agile Development.
Presentation transcript:

AGILE METHODS Curtis Cook CS 569 Spring 2003

Overview Motivation What is an agile method? Agile manifesto Examples of Agile methods XP Scrum

Motivation Robert’s Rules of Order Henry Martyn Robert - engineering officer No single correct parliamentary procedures for meetings Devised set of rules to solve problem 1870s 10 editions

Robert’s Rules of Order Examples of rules How would you characterize the rules? How would you describe the process dictated by these rules? What have you used in meetings you have attended or presided over? When are Robert’s Rules appropriate and when are they inappropriate?

What is an agile method? Agile proponents believe Current software development processes are too heavyweight or cumbersome Too many things are done that are not directly related to software product being produced Current software development is too rigid Difficulty with incomplete or changing requirements Short development cycles (Internet applications) More active customer involvement needed CMM focuses on process

What is an agile method? Agile methods are considered Lightweight People-based rather than Plan-based Several agile methods No single agile method XP most popular No single definition Agile Manifesto closest to a definition Set of principles Developed by Agile Alliance

Agile Manifesto 1. Our highest priority is to satisfy the costumer through early and continuous delivery of valuable software 2. Welcome changing requirements, even late in development. Agile process harness change for the customer´s competitive advantage 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale

Agile Manifesto 4. Business people and developers must work together daily throughout the project 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation

Agile Manifesto 7. Working software is the primary measure of progress 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely 9. Continuous attention to technical excellence and good design enhances agility

Agile Manifesto 10. Simplicity – the art of maximizing the amount of work not done – is essential 11. The best architectures, requirements, and designs emerge from self-organizing teams 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly

XP (Extreme Programming) XP by far most common agile method XP phases Exploration - customers write story cards. Project team becomes familiar with tools, technology and practices Planning - set priority of stories and contents first release Iterations to Release - iterations before releases Productionizing - extra testing and checking before release to customer Maintenance and Death - new iterations and no more more customer stories

XP (Extreme Programming) XP roles and responsibilities Programmer - writes tests and then code Customer - writes stories and functional tests Tester - helps customer write tests and runs them Tracker - gives feedback on estimates and process on iterations Coach - person responsible for whole process Consultant - supplies specific technical knowledge needed Manager - makes decisions

XP (Extreme Programming) XP Practices Planning game - programmers estimate effort of implementing customer stories and customer decides about scope and timing of releases Short releases - new release every 2-3 months Simple design - emphasis on simplest design Testing - development test driven. Unit tests before code Refactoring - restructuring and changes to simplify Pair Programming - 2 people at 1 computer

XP (Extreme Programming) XP Practices (cont) Collective ownership - anyone can change any part of the code at any time. Continuous integration - new builds as soon as code ready 40 hour week - maximum 40-hour week. No overtime On-site customer - customer present and available full-time for team Coding standards - rules exist and are followed Open workspace - large room small cubicles Just rules - team has own rules but can be changed any at time

Scrum Phases Pregame Development Postgame Planning - define system. Product Backlog Architecture - high level design of system Development Iterative cycles (sprints) - new or enhanced functionality Postgame Requirements satisfied - no new items or issues

Scrum Roles and Responsibilities Scrum Master - project following rules and practices Product owner -officially responsible for project Scrum Team - project team. Free to organize as they see fit to achieve goals of each sprint Customer - participates in Backlog items Management - Makes final decisions

Scrum Practices Product Backlog -Current prioritized list of work to be done Effort Estimation - iterative on Backlog items Sprint - 30 day iteration Sprint Planning Meeting - decide goals for next spring and how team will implement Sprint Backlog -Product Backlog items for sprint Daily Scrum meeting - what doing, what will do, and any problems Sprint Review Meeting -present results of sprint