AGILE PROCESS INTRODUCTION Author: Nguyen Phuc Hai Created date: 1/7/2008.

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
E X treme Programming & Agile Modeling Copyright © 2003 Patrick McDermott UC Berkeley Extension
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.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
The Role of Project Managers in Agile Darren Wilmshurst ACIB CITP
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Slide Set to accompany Web Engineering: A Practitioner’s Approach
Agile Project Management with Scrum
Scrum. An evolutionary/iterative/incremental/agile software process The main roles in Scrum are: – Scrum team: Team of software developers – Scrum master.
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.
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
CONFIDENTIALITY © 2010 BA ValueBASE LLP, The concepts and methodologies contained herein are proprietary to BA ValueBASE LLP. Duplication, reproduction.
AgileCamp Presents: Scrum. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution 4.0.
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
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
AGILE Methodology. AGILE  derived from the word ‘agile manifesto’, also called the Manifesto for Agile Software Development which is a formal proclamation.
What is Scrum Process? Where is it used? How is it better?
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Project Workflow. How do you do it? -Discussion-
Chapter 5 애자일 개발 Agile Development
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,
UX meets XP. Overview of core approaches to creating interactive software Waterfall, iterative design, Agile Hybrid methods of evaluation H&P Chapter.
By salt-productions. Agenda  RUP  Agile Practices  Scrum  Putting it all together with & for People.
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.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
© 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.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Agile Project Management
Agile Project Management and the yin & yang of
Introduction to Agile Software Development
Principles for Agile Development
Agile Training Day 2 November 17, 2015.
Project Management and the Agile Manifesto
Agile Software Development Paradigms
How to Successfully Implement an Agile Project
Rosa María Torres de Paz
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
Projects, Assignments, and other Assessments
Agile Development.
Presentation transcript:

AGILE PROCESS INTRODUCTION Author: Nguyen Phuc Hai Created date: 1/7/2008

Agenda  Introduction  Software Development Process  Software Development Life Cycle  Waterfall model  Iterative model Rational Unified Process (RUP) Agile Development Process (ADP)  Scrum process

Software Development Life Cycle Waterfall model Iterative model Rational Unified Process (RUP) Agile Development Process (ADP) Software Development Process

Why we need process

Software Development Life Cycle

Waterfall model Iterative model Rational Unified Process (RUP) Agile Development Process (ADP) Software Development Process

Introduction

Definitions  The waterfall model is a sequential software development model (a process for the creation of software) in which development is seen as flowing steadily downwards through the phases of requirements, analysis, design, implementation, testing and maintenance.

Waterfall usage  Advantages  High reliable product  Reduce risk  Clear scope and contract  Disadvantages  Much over cost, resource and schedule  Lack of product can apply Waterfall (except small and short-duration projects)  Specific skill sets are required for each phase

Software Development Life Cycle Waterfall Model Iterative Model Rational Unified Process (RUP) Agile Development Process (ADP) Software Development Process

Introduction

Definitions  Iterative and Incremental development is a cyclical software development process developed in response to the weaknesses of the waterfall model.  Iterative development slices the deliverable business value (system functionality) into iterations. In each iteration a slice of functionality is delivered through cross-discipline work, starting from the model/requirements through to the testing/deployment

Usage  Advantages:  Optimize cost, schedule and resource than waterfall model  Incrementally delivery business value  Continuously improve product quality (requirements, design, code, test) via regularly feedback and learning knowledge

Software Development Life Cycle Waterfall Model Iterative Model Rational Unified Process (RUP) Agile Development Process (ADP) Software Development Process

Iterative Model Graph

Phases and Iterations  RUP life cycle organizes the tasks via phases and iterations.  RUP has four phases:  Inception  Elaboration  Construction  Transition

Static Structure of the Process  The process describes who is doing what, when and how. RUP uses the 4 modeling elements:  Workers, the ‘who’  Artifacts, the ‘what’  Activities, the ‘how’  Workflows, the ‘when’

Software Development Life Cycle Waterfall Model Iterative Model Rational Unified Process (RUP) Agile Development Process (ADP) Agile Manifesto Agile Principles Software Development Process

Manifesto of ADP  Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan

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

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

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

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

Sequence of iterations

What is Scrum Introduction Applying Scrum Preconditions to Scrum Scrum roles How to scrum Scrum Process

What is Scrum

Applying Scrum  Scrum is not silver bullet

Applying Scrum  Adopt all Scrum practices

Applying Scrum  Top-Bottom or Bottom-Up? Combine both approaches properly

What is Scrum Preconditions to Scrum Scrum roles Scrum ceremonies Scrum Process

Transparency

Ethics

Team work

Freedom

Open communication

Stakeholder engagement

Maturity

What is Scrum Preconditions to Scrum Scrum roles Product Owner Scrum Master Team Scrum ceremonies Scrum artifacts Scrum Process

Product Owner  Product owner has the following responsibilities:  Define the features of the product;  Decide on release date and content;  Be responsible for the profitability of the product (ROI);  Prioritize features according to market value;  Adjust features and priority every 30 days, as needed;  Accept or reject work results.

Scrum Master  The Scrum Master is a facilitative team leader working closing with the Product Owner. He must:  Ensure that the team is fully functional and productive;  Enable close cooperation across all roles and functions;  Remove barriers;  Shield the team from external interferences; and  Ensure that the process is followed, including issuing invitations to Daily Scrum, Sprint Review and Sprint Planning meetings.

Scrum Master (continue)  The Scrum Master has three primary responsibilities in addition to leading the Daily Scrum meeting:  Needs to know what tasks have been completed, what tasks have started, any new tasks that have been discovered, and any estimates that may have changed. The Scrum Master must also look carefully at the number of open tasks in progress.  Needs to surface dependencies and blocks which are impediments to the Scrum. They need to be prioritized and tracked.

Scrum Master (continue)  Last but not least, the Scrum Master may notice personal problems or conflicts within the Scrum that need resolution. These need to be clarified by the Scrum Master and be resolved by dialogue within the team, or the Scrum Master may need help from management or the Human Resources.

Team  Is cross-functional, with seven (plus/minus two) members;  Selects the Sprint goal and specifies work results;  Has the right to do everything within the boundaries of the project guidelines to reach the Sprint goal; Organizes itself and its work; and  Demos work results to the Product Owner

What is Scrum Preconditions to Scrum Scrum roles Scrum ceremonies Sprint Planning Meeting Daily Scrum Meeting Sprint Review Meeting Scrum artifacts Scrum Process

Sprint Planning Meeting  Preparation for a Scrum sprint begins when the Product Owner develops a plan for a product or a project.  The team reviews the estimates for features on the Product Backlog and confirms that they are as accurate as possible  Be used to develop a detailed plan for the iteration  Be time-boxed to a maximum of four hours.

Daily Scrum Meeting  Be the fifteen-minute meeting designed to clarify the state of the Scrum.  Each team member speaks to three questions:  What did I do yesterday  What did I do today, and  What impediments got in my way?  Only team members who have committed to deliver work to the Scrum are allowed to speak. The goal is to get a global snapshot of the project, discover any new dependencies, address any personal needs of committed individuals, and adjust the work plan in real time to the needs of the day.

Daily Scrum Meeting  Pig and chicken issue in Scrum

Sprint Review Meeting  Be held at the end of each Sprint.  Product Owner determines which items on the Product Backlog have been completed in the Sprint, and discusses with the Scrum team and stakeholders how best to reprioritize the Product Backlog for the next sprint  Be time-boxed to a maximum of four hours.

What is Scrum Preconditions to Scrum Scrum roles Scrum ceremonies Scrum artifacts Product Backlog Sprint Backlog Burn-down Chart Scrum Process

Product Backlog  A single list of features prioritized by value delivered to the customer.  The Product Backlog includes business and technical requirements needed to build the product. The highest priority items in the Product Backlog need to be broken down into small enough chunks to be estimable and testable. Features that will be implemented further out in time can be less detailed.

Product Backlog  Sprint Backlog may change for several reasons:  The development team gains a better understanding of work to be done as time progresses and may find that they need to add new tasks to the Sprint Backlog.  Defects may be identified and logged as additional tasks.  The Product Owner may work with the team during the Sprint to help refine team understanding of the Sprint goal. The Scrum Master and Team may decide that minor adjustments that do not lengthen the Sprint are appropriate to optimize customer value.

Product Backlog  Example

Sprint Backlog  The list of tasks that the Scrum team is committing that they will complete in the current sprint. Items on the sprint backlog are drawn from the Product Backlog, by the team based on the priorities set by the Product Owner and the team's perception of the time it will take to complete the various features.

Sprint Backlog  Example

Burn-down Chart  The Burn-down Chart is used as a tool to guide the development team to successful completion of a Sprint on time.  Shows the cumulative work remaining in a Sprint, day- by-day.  The total of all Sprint Backlog estimates of work remaining to be completed is the cumulative backlog. When tasks are completed as the Sprint proceeds, the Scrum Master recalculates the remaining work to be done and the Sprint Backlog decreases, or burns down over time. It the cumulative Sprint Backlog is zero at the end of the Sprint, the Sprint is successful.

Burn-down Chart  Example

References

 Software Development Process, nt_process nt_process  Waterfall Model,  RUP, Best Practices for Software Development Team, ary/content/03July/1000/1251/1251_bestpracti ces_TP026B.pdf ary/content/03July/1000/1251/1251_bestpracti ces_TP026B.pdf  Agile Manifesto,

References  Darrel Norton, Scrum overview /50339.aspx /50339.aspx  ScrumAlliance,  Implementing Scrum,

References  Pictures are gotten from:  another_big.html another_big.html  RUP.htm RUP.htm  g g