Confession of an Agile Addict

Preview:

DESCRIPTION

[Download .pps to view is better for animation] A story of a man who wouldn't want to go back to Waterfall, ever!

Citation preview

Confession of an Agile AddictA story of a man who wouldn’t go back to Waterfall, ever!

คำ��ส�รภ�พของคำนติ ดเอไจล์�เบื้��องหลังของคนชัง Waterfall

Kulawat Wongsaroj

kulawat@gmail.com

Hello. I’m Kulawat. I am an Agile Addict.

3 Years ago, I was involved in a 2-billion bath government contract to migrate legacy core bank system to a new one. – โปรเจคสองพันลั�าน อลังการงานสร�าง

It is so chaotic. I felt sorry for the future customer – we are not building what they want! - ทำ�าไปก�ใชั�ไม่�ได้�แน�ๆ

At one point, we went off-site to conduct a planning working. We got thousands items in MS Project defined. – ไปสม่ม่นาทำ�าแผนทำ#$พัทำยา 5 วันได้� MS Project ม่าเป'น 1,000 รายการ

Those items were hardly complete. – แทำบื้ไม่�ได้�ทำ�าตาม่แผนเลัย Project was eventually cancelled. – ส)ด้ทำ�ายก�ลั�ม่!! What is wrong with it? – ม่นอะไรกนเน�ย!!!

IT Projects are failing everywhere!

IT Projects Failure Research– 75% of projects at US DoD

following DOD-STD-2167 (waterfall model) fails (The 5th Annual JAWS S3 Proceedings, 1999)

– 87% of 1,027 IT projects in the UK fails (British Computer Society Review, 2001)

– 31.1% is canceled, 52.7% cost over 189% of original estimates(The Chaos Report, 1995)

– ลัองถาม่คนข�างๆตวัค)ณ!!! – Ask your friends!!!

ทำ��ไมม�นถึ�งย�กน�กหน�?

What is wrong with it?

Separation of Design & Construction – Traditional View

Design

Construction

drawing

Discuss Requirement

System Analysis & Design

design spec

Discuss Requirement

Architectural Design

Construct

Inspect

Code

Acceptance Test

Build a House Build Software

Design

Construction

drawing

Discuss Requirement

source code

Discuss Requirement

Architectural Design

Construct

Inspect

Design & Code

(Automated) Acceptance Test

Build a House Build Software

Compile & Link

• งานทำ#$ต�องใชั�ควัาม่ค-ด้สร�างสรรค.น�นไม่�สาม่ารถจะวัางแผนลั�วังหน�าได้�ง�าย ด้งน�นการคำ�ดก�รล์�วงหน��น�นจ/งเป็ นไป็ไม�ได�เลัย

• Creative processes are not easily planned, and so predictability may well be an impossible target.

• เราไม่�ควัรทำ#$จะใชั�ควัาม่ค-ด้ทำางวั-ศวักรแบื้บื้เด้-ม่ๆในการค-ด้สร�างซอฟต.แวัร. เน�$องจากม่นเป'นงานคนลัะอย�างแลัะม่นต�องการขบวนก�รทำ��ง�นทำ"#แติกติ��งจากเด้-ม่

•We should be very wary of the traditional engineering metaphor for building software. It's a different kind of activity and requires a different process

[The New Methodology, Martin Fowler]

Cheap (to execute)

Creativity & Talent

Separation of Design & Construction – Different View

แล์�วจะทำ��อย��งไรก�นด"?

How do we fix it?

Agile Manifesto - พ�นธะส�ญญ�เอไจล์�

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 developingsoftware 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 documentation

Customer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

agilemanifesto.org

พัวักเราได้�ค�นพับื้วั-ถ#แห�งการพัฒนาซอฟต.แวัร.ทำ#$ด้#กวั�าจากการทำ�าจร-งแลัะชั�วัยคนอ�$นๆทำ�า

จากประสพัการณ.น#� เราตกลังกนวั�าเราจะให�ค)ณค�ากบื้ติ�วคำนทำ��ง�นแล์ะก�รป็ฎิ ส�มพ�นธ� > กระบวนก�รแล์ะเคำร*#องม*อ

ซอฟติ�แวร�ทำ"#ใช้�ง�นได�จร ง > เอกส�รทำ"#คำรบถึ�วนก�รทำ��ง�นอย��งใกล์�ช้ ดก�บล์/กคำ�� > ติ�อรองส�ญญ�ก�รทำ��ง�น

ก�รติอบสนองติ�อคำว�มเป็ล์"#ยนแป็ล์ง > ก�รทำ��ติ�มแผนทำ"#ว�งไว�ทำ�งม่#เราม่-ได้�ลัะเลัยค)ณค�าทำ#$กลั�าวัทำางด้�านขวัา

หากแต�เพั#ยงเราให�ค)ณค�าแก�ทำางด้�านซ�ายม่ากกวั�า

Individuals & interactions over processes and tools

ติ�วคำนทำ��ง�นแล์ะก�รป็ฎิ ส�มพ�นธ� > กระบวนก�รแล์ะเคำร*#องม*อ

Plan and design together in team rather than a project manager

Encourage face-to-face communication rather than formal meeting

Use story board as project planning and tracking tool rather than MS Project

วัางแผนแลัะออกแบื้บื้กนทำ�1งทำ"มแทำนทำ#$จะให� PM เป'นคนวัางแผนให�

เน�นการพ/ดคำ2ยก�นติ�วติ�อติ�วม่ากกวั�าการจด้ประชั)ม่อย�างเป'นทำางการ

ใชั� story board แทำน MS Project ในการวัางแผนแลัะต-ด้ตาม่งาน

User Story

User stories consist of three parts:– Card – The place holder we use to remind us of the story (above)– Conversation – The conversation to follow that will cover the detail– Confirmation – The tests that confirm the story’s satisfactory completion

Consider using a template– “As a <user role>,

I want to <do something> (so that <achieve some business value>)” – WHO/WHAT/WHY

13 51 1

31 2

2155

HIGH PRIORITY LOW PRIORITYRelease

Story

Release in an Agile project

13 51 1

31 2

2155

Iteration 1 Iteration 2 Iteration 3Velocity=10 Velocity=10 Velocity=10

HIGH PRIORITY LOW PRIORITYRelease

Release in an Agile project

ติ�องม" Daily Report แล์ะส�งม�ทำ�ง e-mail ได�ด�วย

นะ

Requirement Design Code Test

R D C T

I

R D C T R D C T R D C T

I I I I I I I I I I I I I I I

a b c d a b c d a b c d a b c d

a a a a b b b b c c c c d d d d

a a a a b b b b c c c c d d d dX X X X

Waterfall

Iterative

Agile

Responding to change over following a plan

ก�รติอบสนองติ�อคำว�มเป็ล์"#ยนแป็ล์ง > ก�รทำ��ติ�มแผนทำ"#ว�งไว�

Customer collaboration over contract negotiation

ก�รทำ��ง�นอย��งใกล์�ช้ ดก�บล์/กคำ�� > ติ�อรองส�ญญ�ก�รทำ��ง�น

a a a a

Requirement Design Code Test

a b c d e f g h a b c d e f g h a b c d e f g h a b c d e f g h

plan Due Date

Waterfall

Requirement Design Code Test

a b c d e f g h a b c d e f g h a b c d e f g h a b c d e f g h

actual

b b b b

f f f f

c c c c

e e e e

I

AgileI I I I I I I

g g g g

Feedback &Re-prioritize

d d d d

h h h h

i

Features

This is what we really want!

Working softwareover comprehensive documentation

ซอฟติ�แวร�ทำ"#ใช้�ง�นได�จร ง > เอกส�รทำ"#คำรบถึ�วน

I

AgileI I I I I I I

Test Driven Development (TDD)- NO BUGS = Working Software- Unit Test = Best Design Doc

Track Progress with Working SoftwareNOT how much plan has progressed

a a a a b b b b c c c c

Agile Benefit

เก�บื้ Requiremen

tเห�นหน�าบื้�อย

ทำะเลัาะกนม่ากชั�วัง UAT

ใกลั� Deliver

เปลั#$ยนยาก

Working Software ใชั�

งานได้�จร-งต�งแต�แรก

RISK ทำ#$จะ FAIL ลัด้อย�าง

รวัด้เร�วัเพัราะค)ยกนตลัอด้

คำ��ส�รภ�พ

A confession

I’d like to confess that …

Agile is not a really a process, but a “way of thinking” (วั-ธี#ค-ด้)

Agile is direction (วั-ถ#ทำาง), not destination (จ)ด้หม่าย) Agile is not a silver bullet (แก�ป5ญหาทำ)กอย�าง) Agile is not easy – self-organizing team means

management has less power – (อาจโด้นข�อหากบื้ฏ) I love Agile and I never want to go back to Waterfall!

If you want to start being Agile

Study and REALLY understand the PRINCIPLES behind it before implementing it-- เข�าใจจร-งๆ

No need to start big – Use pilot to convince your management – ไม่�ต�องเร-$ม่ใหญ�ก�ได้� ทำ�าให�ด้8จร-งๆ

Practices what good for you – เลั�อกใชั�ในส-$งทำ#$เหม่าะ

Who’s using Agile?

Books I like

Mike Cohn Venkat Subramaniam & Andy Hunt (Author)

Robert C. Martin

Mary & Tom Poppendick

Thank You

Q & A

Recommended