70
Agile 101 Introduction to Agile สยามชํานาญกิจ พุทธศักราช ๒๕๕๖ version 2.1 Tuesday, May 21, 13

Sprint3 r agile101-introduction-18052556

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Sprint3 r agile101-introduction-18052556

Agile 101

Introduction to Agile สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

version 2.1

Tuesday, May 21, 13

Page 2: Sprint3 r agile101-introduction-18052556

DisclaimerAll information in this presentation is based on

Agile manifesto + 12 principles of Agile software + speaker’s personal experience + reality (drama) that

he lives in ...

!สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 3: Sprint3 r agile101-introduction-18052556

What will you GET and NOT

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 4: Sprint3 r agile101-introduction-18052556

Who am I?Prathan (Noom) Dansakulcharoenkit

Co-Founder/Practitioner/Coach/Transformer of Agile/ITIL/Software Testing @ SPRINT3R

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Certified ScrumMaster (CSM), ScrumAlliance.org

email: [email protected]

twitter: @zyracuze

facebook: https://www.facebook.com/zyracuze

Tuesday, May 21, 13

Page 5: Sprint3 r agile101-introduction-18052556

What is your PAIN POINT of current development?

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Question 1

Tuesday, May 21, 13

Page 6: Sprint3 r agile101-introduction-18052556

What is Agile?

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 7: Sprint3 r agile101-introduction-18052556

What is your AGILE look like?Please draw the picture

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Question 2

Tuesday, May 21, 13

Page 8: Sprint3 r agile101-introduction-18052556

For us Agile is

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 9: Sprint3 r agile101-introduction-18052556

Manifesto for Agile Software Development

Tuesday, May 21, 13

Page 10: Sprint3 r agile101-introduction-18052556

Manifesto for Agile

source from: www.agilemanifesto.org สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

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 toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following the plan

That is,while there is VALUE in the items on the RIGHT, we VALUE the items on the LEFT MORE.

James GrenningJim HighsmithAndrew HuntRon Jeffries

Jon KernBrian Marick

Robet C. MartinSteve MellorKen Schwaber

Jeff SutherlandDave Thomas

Kent BeckMike Beedle

Arie van BennekumAlistair CockburnWard Cunningham

Martin Fowler

Tuesday, May 21, 13

Page 11: Sprint3 r agile101-introduction-18052556

Manifesto in Thai

source from: www.agilemanifesto.org/iso/th สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 12: Sprint3 r agile101-introduction-18052556

Be Careful

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Individuals and interactionsWorking software

Customer collaborationResponding to change

OVER , NOT “INSTEAD OF” !

over

processes and toolscomprehensive documentation

contract negotiationfollowing the plan

Tuesday, May 21, 13

Page 13: Sprint3 r agile101-introduction-18052556

Manifesto for Agile

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Individuals and interactions over

processes and tools

Tuesday, May 21, 13

Page 14: Sprint3 r agile101-introduction-18052556

Manifesto for Agile

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Working software over

comprehensive documentation

Tuesday, May 21, 13

Page 15: Sprint3 r agile101-introduction-18052556

Manifesto for Agile

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Customer collaboration over

contract negotiation

Tuesday, May 21, 13

Page 16: Sprint3 r agile101-introduction-18052556

Manifesto for Agile

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Responding to change over

following the plan

Tuesday, May 21, 13

Page 17: Sprint3 r agile101-introduction-18052556

Agile Manifesto Principles

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Satisfy the Customer

WelcomeChange

DeliverFrequently

CollaborateDaily

Support & TrustMotivated Teams

PromoteFace-to-FaceConversation

Deliver WorkingSoftware

PromoteSustainable

Pace

PromoteTechnicalExcellence

MaximizeThroughSimplicity

HaveSelf-Organized

Teams

Reflect & AdjustRegularly

Tuesday, May 21, 13

Page 18: Sprint3 r agile101-introduction-18052556

Measure of Agile

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Number of Books in Amazon.com

3731,6422,0642,9079,525Lean Software Development

Kanban

Extreme Programming

ScrumAgile

Search result as of May 2013

Tuesday, May 21, 13

Page 19: Sprint3 r agile101-introduction-18052556

Agile Myths

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 20: Sprint3 r agile101-introduction-18052556

Myths, How Come

Old habits

Previous experience

Where do myths come from?

Lack of knowledge

No hands on experience

Fear of change/responsibility/transparency

Curse of knowledge

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 21: Sprint3 r agile101-introduction-18052556

Agile is NEW

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

1943

Taiichi OhnoToyota Production SystemKanban

1950-1960

USAF & NASAX-15 hypersonic jetIteration IncrementalDelivery

1985

Hirotaka Takeuchi & Ikujiro NonakaThe New New Product Development Game

1990

Sutherland & SchwaberScrum Framework

1995

DSDN ConsortiumDynamic System Development Method

1997

Jeff de LucaFeature Driven Development

2000

Robert CharetteLean Development

1996

Beck Cunningham, JeffriesExtreme Programming

1998

Alistair CockburnCrystal Methodologies

2001

Agile Manifesto

Hardware Software

True or FalseXTuesday, May 21, 13

Page 22: Sprint3 r agile101-introduction-18052556

Agile is Quick Fix

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

True or FalseXTuesday, May 21, 13

Page 23: Sprint3 r agile101-introduction-18052556

Agile is Simple Switch

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

True or FalseXTuesday, May 21, 13

Page 24: Sprint3 r agile101-introduction-18052556

Agile is Fast

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

True or FalseXTuesday, May 21, 13

Page 25: Sprint3 r agile101-introduction-18052556

Agile is Easy

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

True or FalseXTuesday, May 21, 13

Page 26: Sprint3 r agile101-introduction-18052556

Agile is No Documentation

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

True or FalseXTuesday, May 21, 13

Page 27: Sprint3 r agile101-introduction-18052556

Agile is No Plan

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

True or FalseX

Product / ProjectWhat business objective will

this fulfill?

Vision/MissionGoals

ReleaseHow can we release value

incrementally?What subset of business objectives

will each release achieve?Which user(s) will the release serve?

What general capabilities will the release offer?

Release RoadmapRelease Plan

IterationWhat specifically will we build?How will this iteration move us toward release objectives?

Iteration PlanDevelopment Tasks

Backlog ItemWhat user or stakeholder need will the backlog item server?How will I know if it is done?

Backlog Item DetailAcceptance Tests

Tuesday, May 21, 13

Page 28: Sprint3 r agile101-introduction-18052556

Introduction to Methodology to be Agile

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 29: Sprint3 r agile101-introduction-18052556

Ready to use Methodology

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Extreme Programming, Scrum and Kanban

Tuesday, May 21, 13

Page 30: Sprint3 r agile101-introduction-18052556

Extreme Programming

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 31: Sprint3 r agile101-introduction-18052556

Scrum

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 32: Sprint3 r agile101-introduction-18052556

Kanban

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 33: Sprint3 r agile101-introduction-18052556

Definition of Done

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 34: Sprint3 r agile101-introduction-18052556

Traditional vs Agile

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 35: Sprint3 r agile101-introduction-18052556

Traditional vs Agile

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Where the RISK lies

Tuesday, May 21, 13

Page 36: Sprint3 r agile101-introduction-18052556

Impediment to do Agile

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 37: Sprint3 r agile101-introduction-18052556

How about Quality in Agile

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 38: Sprint3 r agile101-introduction-18052556

Software QUALITY

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 39: Sprint3 r agile101-introduction-18052556

Quality Triangle

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

SpecificationRequirements

Software

Gap

Tuesday, May 21, 13

Page 40: Sprint3 r agile101-introduction-18052556

Quality Triangle

Requirements Specification

Software

It’s an IDEAL!!!

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 41: Sprint3 r agile101-introduction-18052556

How many figure of triangle can TRANSFORM?

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Question 2

SpecificationRequirements

Software

Tuesday, May 21, 13

Page 42: Sprint3 r agile101-introduction-18052556

Quality Triangle

In the real WORLDSPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Software

Requirements Specification

Tuesday, May 21, 13

Page 43: Sprint3 r agile101-introduction-18052556

Quality Triangle

In the real WORLDSPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Software

Requirements Specification

Tuesday, May 21, 13

Page 44: Sprint3 r agile101-introduction-18052556

Quality Triangle

In the real WORLDSPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Requirements

Software

Specification

Tuesday, May 21, 13

Page 45: Sprint3 r agile101-introduction-18052556

Quality Triangle

In the real WORLDSPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Software

Requirements Specification

Tuesday, May 21, 13

Page 46: Sprint3 r agile101-introduction-18052556

Where Do Bug Come?

Requirements definition

System design

Implementation

Support systems

Lack of software testing skills

Evolution

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 47: Sprint3 r agile101-introduction-18052556

Some Facts of TestingALWAYS be a chance that software will have bugs

CANNOT prove software works by testing it

DOES NOT prove that software is bug-free

Testing after software has been created DOES NOT improve its quality

Cost of removing bugs rises DRAMATICALLY in the later phases of the software development process

QUALITY depends on 3 factors; People, Process and Tool

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 48: Sprint3 r agile101-introduction-18052556

Some Goals of TestingDetermine a product MEET business expectation

MINIMIZE the risk of error occurs

IS NOT the process to verify software work correct

Testing must be to DEMONSTRATE that software does have bug

Tester must find bug as EARLY as possible and make sure that they are fixed

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 49: Sprint3 r agile101-introduction-18052556

Some Facts in NASA

as the 120-tons space shuttle sits surrounded by almost 4 million pounds of rocket fuel..

...the last three versions of the program -- each 420,000 lines long-had just one error each. The last 11 versions of this software had a total of 17 errors...

Source: http://www.fastcompany.com/magazine/06/writestuff.htmlสยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 50: Sprint3 r agile101-introduction-18052556

Some Facts in NASA

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 51: Sprint3 r agile101-introduction-18052556

Some Goals of TestingDetermine a product MEET business expectation

MINIMIZE the risk of error occurs

IS NOT the process to verify software work correct

Testing must be to DEMONSTRATE that software does have bug

Tester must find bug as EARLY as possible and make sure that they are fixed

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 52: Sprint3 r agile101-introduction-18052556

Test Case

inputs to test system and verify with expected outputs

Test Case = Test Rule + Test Data

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 53: Sprint3 r agile101-introduction-18052556

Test IterationsTest to Pass

Test to Failสยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 54: Sprint3 r agile101-introduction-18052556

Team Organization

DomainExpert

Tester

Programmer

Traditional Organization

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 55: Sprint3 r agile101-introduction-18052556

SOMEONE

Who feel responsible for QUALITY in traditional development (Waterfall)?

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 56: Sprint3 r agile101-introduction-18052556

Team OrganizationAgile Organization

DomainExpert

Programmer

Tester

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 57: Sprint3 r agile101-introduction-18052556

WHOLE TEAM

Who feel responsible for QUALITY in alternative development (Agile)?

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 58: Sprint3 r agile101-introduction-18052556

Whole Team ApproachTeam commitment to quality

Team responsible for testing

Tester get support, training

Programmers do testing activities

Tester and programmer pair

Get the right person

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 59: Sprint3 r agile101-introduction-18052556

3Cs

Card

Conversation

Confirmation

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 60: Sprint3 r agile101-introduction-18052556

Self-Organizing Team

info

Guide

info info info

infoinfoinfo

Guide Guide Guide

GuideGuide

Guide

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 61: Sprint3 r agile101-introduction-18052556

Agile vs CI vs CD vs DevOps

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 62: Sprint3 r agile101-introduction-18052556

Conclusion

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 63: Sprint3 r agile101-introduction-18052556

Agile TeamDo same development waterfall team, but do it

very difference

Do same functions as the waterfall method; requirement-gathering, design, coding and testing

Test as you go, not at the end

Deliver product early and often, as only by demonstrating working software to customer

Document as you go, and only needed

Build cross-functional team to break down siloสยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 64: Sprint3 r agile101-introduction-18052556

Starting use Agile

Start small and Solving problem one by oneสยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 65: Sprint3 r agile101-introduction-18052556

Are you ready to NUDE?

Transparency

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 66: Sprint3 r agile101-introduction-18052556

What is your AGILE look like?Please draw the picture

Question 3

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 67: Sprint3 r agile101-introduction-18052556

All you NEED is Coach

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 68: Sprint3 r agile101-introduction-18052556

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

สยามชํานาญกิจ = ชุมเกรียนส์

Tuesday, May 21, 13

Page 69: Sprint3 r agile101-introduction-18052556

SOURCESINSPIRATION

Web, Agilemanifesto.org

Book, The Elements of Scrum by Chris Sims and Hillary Louise Johnson

Book, An Agile Adoption and Transformation Survive by Michael Sahota

Book, Agile Retrospective by Esther Derby and Diana Larsen

Presentation, An Alternative Software Development Methodology, by @Roofimon

Presentation, Agile 101: What is Agile and What is Agile Not by Derek Huether

Presentation, Agile Myths by Dmistry Buzdin

Presentation, Agile Myth by Marc Loffler

IMAGE CREDIT

Flickr

Google

SPRINT3R by สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13

Page 70: Sprint3 r agile101-introduction-18052556

Thanks Youกราบ (-/\-)

สยามชํานาญกิจ พุทธศักราช ๒๕๕๖

Tuesday, May 21, 13