Introduction to Agile Software Development Process. Software Development Life Cycles



Similar documents
How to manage agile development? Rose Pruyne Jack Reed

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Lean QA: The Agile Way. Chris Lawson, Quality Manager

Agile Scrum Training. Nice to meet you. Erik Philippus. Erik Philippus (1951)

The Agile Manifesto is based on 12 principles:

Testing in Agile methodologies easier or more difficult?

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

Agile Development Overview

The Agile Movement An introduction to agile software development

Introduction to Agile Scrum

Introduction to Agile and Scrum

26 May 2010 CQAA Lunch & Learn Paul I. Pazderski (CSM/CSP, OD-CM, CSQA) spcinc13@yahoo.com Cell: AGILE THROUGH SCRUM

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

History of Agile Methods

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Agile Project Management Mapping the PMBOK Guide to Agile Practices. Michele Sliger

Software Development Methodologies

Agile and Secure: Can We Be Both?

Applying Agile Project Management to a Customized Moodle Implementation

Agile Software Development

Agile Scrum Workshop

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Agile Software Development Methodologies and Its Quality Assurance

D25-2. Agile and Scrum Introduction

LEAN AGILE POCKET GUIDE

Agile Information Management Development

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development

CSSE 372 Software Project Management: More Agile Project Management

RISK MANAGMENT ON AN AGILE PROJECT

Java course - IAG0040. Unit testing & Agile Software Development

Agile Projects 7. Agile Project Management 21

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT

Agile Project Management and Agile Practices Training; with a Scrum Project that you will do.

An Agile Project Management Model

Mastering the Iteration: An Agile White Paper

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Software Engineering I (02161)

Agile Development with C#

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Introduction to Agile Software Development. EECS 690 Agile Software Development

Agile Blending. Rachel Davies

Agile Project Management

AGILE & SCRUM. Revised 9/29/2015

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre

AGILE vs. WATERFALL METHODOLOGIES

Scrum: A disciplined approach to product quality and project success.

Agile Scrum and PMBOK Compatible or Contrary?

Agile Contracts. NK Shrivastava, PMP, RMP, ACP, CSM, SPC CEO/Consultant - RefineM. Agenda

Continuous Integration Processes and SCM To Support Test Automation

Agile and the Seven Deadly Sins of Project Management

Agile Software Development in the Large

How Product Management Must Change To Enable the Agile Enterprise

Software Requirements and Specification

Preparation Guide. EXIN Agile Scrum Foundation

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

Role of the Business Analyst in an Agile Project

Agile with XP and Scrum

Certified Scrum Master Workshop

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Agile and lean methods for managing application development process

Issues in Internet Design and Development

Using Perforce to Facilitate Agility

AGILE - QUICK GUIDE AGILE - PRIMER

How can I be agile and still satisfy the auditors?

Agile Project Management By Mark C. Layton

Software processes that are:

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

Sustainable Software Development in Agile and CMMI: Apply Lessons Learned today

Agile Testing and Extreme Programming

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

Software Life Cycles and Configuration Management

Extreme Programming, an agile software development process

Lean Agile Scrum Business Value Development and Delivery using Agility. Brenden McGlinchey Software Done Right, Inc.

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

How To Plan An Agile Project

Agile Software Development. Stefan Balbo / Patrick Dolemieux

MTAT Software Engineering

SECC Agile Foundation Certificate Examination Handbook

Agile Project Management: Adapting project behaviors to the software development environment

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

Boosting Agile Methodology with webmethods BPMS

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

The Agile Project Manager

Agile Development with Agile Business Suite

Agile QA s Revolutionary Impact on Project Management

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Introduction to Agile Software Development

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

Certified Agile Software Test Professional (CASTP)

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Requirement Gathering for small Projects using Agile Methods

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

Agile in Financial Services A Framework in Focus

Transcription:

Introduction to Agile Software Development Process Presenter: Soontarin W. (Senior Software Process Specialist) Date: 24 November 2010 AGENDA Software Development Life Cycles Waterfall Model Iterative & Incremental Model Agile What is Agile? Agile Principles Agile Practices Retrospective result from Agile Team 2 1

Waterfall Model Traditional Model (since 1970) Requirement Design Implementation Testing Release 3 Waterfall Model Customized in Real Life Requirement Design Implementation Testing Release 4 2

Iterative & Incremental Model Waterfall in Small Pieces Initiation Requirement Initiation High-level Design Iteration 1 - N Integration Testing Iteration 1 to N Review 5 In early 2001, a group of industry experts in light-weight process like XP, Scrum, FDD, Crystal, DSDM, and etc, formed the Agile Alliance and created The Manifesto of the Agile Alliance. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. agilemanifesto.org 3

Agile Is It the New Thing???? Iterative & Incremental + Something == Agile 7 What is Agile? Group of software development methodologies based on iterative development Collection of values, principles, and practices for modelling software that can be applied on a software development project in an effective and light-weight manner Examples of software development methodologies which are based on agile development are below: Extreme Programming (XP) Scrum Feature-Driven Development (FDD) 4

Agile Principles Customer satisfaction by rapid, continuous delivery of useful software Working software is delivered frequently Working software is the principal measure of progress Even late changes in requirements are welcome Regular adaptation to changing circumstances Close, daily, cooperation between business people and developers Face-to-face conversation is the best form of communication Projects are built around motivated individuals, who should be trusted Self-organizing teams Simplicity Continuous attention to technical excellence and good design Agile The Way Application is Made Waterfall Growing of application Req. Design Code + UT Test Release Time Agile Growing of application feedback & change feedback & change Growing of application Growing of application Req. UT + Code Test Demo Req. UT + Code Test Demo Req. UT + Code Test Demo Iterative functionality 5

Agile Development Cycle Add to backlog Plan Release Plan iteration Build / Reflect / Adapt Do it again (iterate) Project ( 6 12 months ) Project charter Product backlog Reflect & improve Releases (1 3 months ) Planning Reflect & improve Iterations (1 4 weeks) Plan Build Review Reflect & improve Daily stand-up Update board Reflect & improve Agile Practices User Story Requirement is the story of user Basic Structure Example - As a librarian, I want to be able to search for books by author name. - As a system admin, I can configure permissions and user groups. - As a buyer, I want to search a product online, so that I can see which one I like. Reference: http://thesherpaproject.com/2009/04/09/user-stories-for-user-experience/ 12 6

REQUIREMENT ~ STORY Agile Practices Story Point Agile Size Estimation X 2X Story A - 1 story point Story B - 2 story points A 2-point story should be twice size of an 1-point story (e.g. considering from dependency, complexity, etc.). 3X Story C - 3 story points 13 Agile Practices Planning Game User story: As a shopper, I want to pay by credit card. Let s define exit criteria of this user story. How many story points you will give for this story? Why 2 and why 5? Then re-estimate I think because... QA 23 Dev 3 53 3 QA 53 I think because... Dev Customer/ Product manager 7

Agile Practices TDD Test Driven Development Changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure 15 Agile Practices Traditional Technique vs. TDD Technique 16 8

Agile Practices Pair Programming Example Steps: 1. Well-defined before sit down 2. Agree on solution 3. Agree on tiny goal at a time 4. Rely on & support your partner 5. Talk a lot 6. Often sync. Up 7. Take a moment to celebrate when accomplishing a thing 8. Switch role frequently Observer / Navigator driver Reference: http://www.wikihow.com/pair-program 17 Agile Practices Scrum Meeting (Scrum) Daily Stand Up Meeting What will be discussed in daily stand up meeting? What I did yesterday is. I found X issues, they are. Today I plan to do. I have finished test module 1, there are 5 bugs need to fix. Today I will work on module 2. There is a problem on Test server, I don t know how to fix it yet. I have finished code module 2, it is ready for test. Today I will work on module 3. QA Dev I faced it last time, I can help Dev Customer/ Product manager QA 9

Agile Practices Story Board Burndown Chart Story Point 35 30 25 Velocity = 8 Velocity = 6 20 1 2 3 44 5 Iteration Velocity Remove Add Estimated Requirement: increase: user Release story: Release Story planfinish point earlyin added iteration 4 10

Agile Practices Testing in Agile Project Automated Unit Tests Small, Testable Chunks of Work Agile Practices Continuous Integration a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily leading to multiple integrations per day [Martin Fowler 2006] Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible 22 11

Agile Practices Continuous Integration Example Software Cruise Control Java-bsed framework for a continuous build process CruiseControl.NET -.NET-based automated continuous integration server Apache Continuum a continuous integration server supporting Apache Maven and Apache Ant Hudson MIT licensed, written in Java, runs in servlet container, support CVS, Subversion, Ant, Maven, and shell scripts 23 Agile Practices Retrospective Reference: http://www.it-zynergy.dk/scrum-overview-of-process.aspx 24 12

Retrospective result from Agile team Positive Feedback Found and solved defects earlier Focus on each specific task Better understanding on requirement Able to release value software as chunk works Easy and fast track on stand up meeting Good collaboration between Dev & QA Get more attention and increase participation from team Sharing knowledge between team as a community Retrospective result from Agile team Challenging Feedback Difficult to apply user story and story point Difficult to provide all metrics Require time for changing team culture and learning technique Require coach to provide consult on techniques and process No product manager or customer involvement 13

No Best Technique, Only Suitable Technique Team Find out THANK YOU 28 14