อไจล์คืออัลไล agile introduction @mahidol ict

67
อไจล์คืออัลไล? By Proteus Agility Team For Mahidol ICT, 27-Sep-2013

Upload: kulawat-wongsaroj

Post on 13-Jan-2015

1.006 views

Category:

Documents


10 download

DESCRIPTION

Agile Introduction at @Mahidol ICT 27-Sep-2013

TRANSCRIPT

Page 1: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

อไจลค์อือลัไล?

By Proteus Agility TeamFor Mahidol ICT, 27-Sep-2013

Page 2: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

● Warm-Up (30m)○ โลกของซอฟตแ์วรท์เีปลยีนไป○ ทกัษะทสํีาคญัทสีดุของโปรแกรมเมอร์○ อไจลค์อือลัไล ทําไมฉันตอ้งแคร์

● Play Time ( 90m)○ เลน่ Factory Game○ เลน่ Ball Point Game

● Cool-Down(60m)○ แชรป์ระสบการณ์○ แลว้ไงตอ่ด?ี

อไจลค์อือลัไล?

Page 3: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

#startup #CEO#AgileCoach#Daddy

#AgileCoach #Team#Retrospective#Pomodoro#Craftman

#กบฎ

#ป่ัน

EXP 15y MP 350

EXP 10y MP 666

EXP 2y MP 999

EXP 2y MP 999

http://theeidos.com

Page 4: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

โลกของซอฟตแ์วร ์ทเีปลยีนไป

Page 5: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

MOBILEFROM PC TO

http://www.bananarecord.net/apple-girls-band/

Page 6: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

CLOUDFROM SELF-HOSTED TO

CMS -> GOOGLE DOCOFFICE 365

Page 7: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

DYNAMICFROM STATIC TO

Page 8: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

START-UPFROM ENTERPRISE

Page 9: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

ทาํไม?

MOBILE > DESKTOPCLOUD > SELF HOSTED

DYNAMIC > STATICSTART-UP > ENTERPRISE

Page 10: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

ความคลอ่งตวั(Agility)

http://animals.nationalgeographic.com/wallpaper/animals/photos/cheetahs/cheetah-jump/

Page 11: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

บรษัิทใหญ่ๆ ในโลกปัจจบุนัมอีายเุฉลยีเพยีง 11-15 ปี!

และลดลงเรอืยๆ

Page 12: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

AGILEORDIE!

Page 13: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

ทกัษะทจีาํเป็นทสีดุของโปรแกรมเมอร์(ทไีมม่ใีครเคยบอกคณุ)

Page 14: อไจล์คืออัลไล Agile Introduction @Mahidol ICT
Page 15: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

การทาํงานเป็นทมีในหอ้งเรยีน

ฝ่ายcode

ฝ่ายเอกสาร

ฝ่ายซอืขา้ว

Page 16: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

การทาํงานเป็นทมีในบรษิทัสว่นใหญ่

Marketing Sale Analyst Dev QA Deploy

Page 17: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

เรอืงเลา่ : ธกส Core Banking System

● เรมิ 2004 งบ 1,200 ลา้นบาท● กําหนด 2 ปี● ผา่นไป 3 ปี

○ ไมเ่สร็จ○ เปลยีน Vendor

● ผา่นไป 5 ปี○ ยกเลกิสญัญา○ หมดไป 900M○ ฟ้องรอ้งกนัวุน่วาย

● นมีนัอลัไล!

อา้งองิ : ฐานเศรษฐกจิ, ผูจั้ดการ, baac.or.th

Page 18: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

ผลของการทาํซอฟตแ์วรส์ว่นใหญ่

http://www.mountaingoatsoftware.com/blog/agile-succeeds-three-times-more-often-than-waterfall

CHAOS Report 2012

Page 19: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

เรอืงเลา่ : FBI Virtual Case File

● เรมิ 2006 งบ $450M ● กําหนด 3 ปี● ผา่นไป 4 ปี

○ เสร็จ 50 %○ หมดไป $350M○ ขอเพมิ $350○ ขอเพมิ 6 ปี

● โดนสอบ!

อา้งองิ : หนังสอื Software In Thirty Days, 2012 [Ken Schwaber, Jeff Sutherland]

Page 20: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

เรอืงเลา่ : FBI Virtual Case File

● ปี 2010 (ผา่นไป 4 ปี)○ เปลยีนเป็น Agile○ ลดคน 400 เหลอื 40○ เสร็จใน 1 ปี○ ใชเ้พยีง $30M

● นมีนัอลัไล!

อา้งองิ : หนังสอื Software In Thirty Days, 2012 [Ken Schwaber, Jeff Sutherland]

Page 21: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

เรอืงเลา่ : Facebook

● codebase 10 ลา้นบรรทดั ใหญข่นึเรอืย● developer 1,000 คน ● สามารถผลดิ feature ใหม่ๆ ออกสูต่ลาดได ้ทกุวนั● มวีฒันธรรมอไจล์● นมีนัอลัไล!

อา้งองิ : บทความ Development and Deployment at Facebook, 2013 [ Dror Feitelson, Eitan Frachtenberg, Kent Beck ]

Page 22: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

อไจลค์อือลัไล?

image from: http://agilesherpa.org/intro_to_agile/what_is_agile_development/http://msdn.microsoft.com/en-us/library/dd997578.aspx

Page 23: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

อไจลค์อือะไร

● การสง่มอบซอฟตแ์วรท์ใีชไ้ดจ้รงิทกุ 2 อาทติย์● แนวคดิการพัฒนาซอฟตแ์วรโ์ดยไมห่ลอกตวัเอง● วฒันธรรมของการทําซอฟตแ์วรเ์ป็นทมี● การโคน่ลม้ระบบ Command & Control● การตอบสนองการเปลยีนแปลงอยา่งรวดเร็ว● การพัฒนาซอฟตแ์วรอ์ยา่งยงัยนืไมฉ่าบฉวย● ฯลฯ

Page 24: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

AGILE MANIFESTO

INDIVIDUAL & INTERACTION > PROCESS & TOOL

WORKING SOFTWARE > DOCUMENTATION

CUSTOMER COLLABORATION > CONTRACT NEGOTIATION

RESPOND TO CHANGE > FOLLOWING PLAN

www.agilemanifesto.org

Page 25: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

เรยีนรูอ้ไจลผ์า่นเกม

Factory GameBall Points Game

Page 26: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

http://www.efanyc.org/assembly-line/

Factory Game

Page 27: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

1*BA6*Dev1*Tester

Page 28: อไจล์คืออัลไล Agile Introduction @Mahidol ICT
Page 29: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

http://www.kellykuhn.com/wp-content/uploads/2013/05/One-thing-e1368108176820.jpg

Page 30: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Reduce Waste

Page 31: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

(originally by Boris Gloger)

Ball Point Game

Page 32: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

ทาํให้บอลผา่นมือทุกคนในทีมให้มากท่ีสุด

● บอลตอ้งผา่นมือทุกคนในทีม ● บอลจะครบรอบเม่ือกลับไปท่ีคนแรกท่ีสง่บอล● ผา่นครบได ้1 แตม้

● เวลาผา่นบอลไปยังเพ่ือน ตอ้งมีเวลาท่ีบอลลอยอยูก่ลางอากาศ (air time) ห้ามสง่ไปท่ีมือเพ่ือนโดยตรง

● ห้ามสง่ให้คนท่ีอยูติ่ดกับเรา● คนทาํบอลตกห้ามหยบิข้ึนมาเอง● ทาํผิดกฎโดนตัดแตม้

Ball Point Game: The Rules

Page 33: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Ball Point Game: How To Play

● เลน่กนั 5 รอบ● แตล่ะรอบ:

○ 2 นาท ี- วางแผน■ ตกลงกนัในทมีวา่จะเลน่อยา่งไร■ estimate แตม้ทจีะได ้และ บนัทกึไว้

○ 2 นาท ี- ทํา■ เลน่จรงิ■ บนัทกึวา่ทําไดจ้รงิเทา่ไหร่

○ 1 นาที■ คยุกนัในทมีวา่จะปรับปรงุทมีอยา่งไรสําหรับรอบตอ่ไป■ บนัทกึขอ้ตกลงของทมี

● สรปุผลรวม 5-10 นาที

Page 34: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Ball Point Game : Review

● รูส้กึอยา่งไรกบัเกม● รอบไหนฟินสส์ดุ● หาคอขวดเจอไดอ้ยา่งไร● ทํางานหนักขนึชว่ยไหม

Page 35: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Ball Point Game : Insight

● Inspect & Adapt● ทกุระบบม ีNatural Velocity● จะผลกัใหเ้กนิ Natural Velocity ตอ้งปรับ

process ไมใ่ชทํ่างานหนักขนึ● flow จะเกดิถา้

○ เป็นความทา้ทายทไีมเ่กนิความสามารถ○ ทมีไมถ่กูรบกวน○ เป็นงานทมีคีวามหมาย

Page 36: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

แลว้ตกลงอไจลค์อือลัไล

Page 37: อไจล์คืออัลไล Agile Introduction @Mahidol ICT
Page 38: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

AgileUnique Characteristics

http://images6.fanpop.com/image/photos/34100000/One-P13c3-one-piece-34104398-1920-1080.jpg

Page 39: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Value Driven

Value Driven

Page 40: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

User Story

Value Driven

Page 41: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Early Feedback

Early Feedback

Page 42: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Scrum

Early Feedback

Page 43: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

http://www.cqeacademy.com/cqe-body-of-knowledge/continuous-improvement/

ContinuousImprovement

Page 44: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

http://agile-and-testing.chriss-baumann.de/wp-content/uploads/2012/02/starfish_retrospective.png

Retrospective

Continuous Improvement

Page 45: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Prioritization

Prioritization

Page 46: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

http://www.romanpichler.com/wp-content/uploads/2010/02/Backlog-prioritization.jpg

Sexy Product Backlog

Prioritization

as worded by: Twin Roofimon Panichsombat

Page 47: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Transparency

Transparency

Page 48: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Standup Meeting

http://www.xqa.com.ar/visualmanagement/wp-content/uploads/standup2.jpg

Transparency

Page 49: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Discovery vs Prediction

Page 50: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

http://niksilver.files.wordpress.com/2008/01/burn-down-chart-small1.jpg?w=750

Burndown Chart

Discovery vs Prediction

Page 51: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Agile Myths

http://geoheritagescience.files.wordpress.com/2013/01/skyrim-mountains.jpg

Page 52: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

No Documentation?

http://edudemic.com/wp-content/uploads/2012/07/library.jpg

Page 53: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Good code is its own best documentation. -- Steve McConnell --

http://www.construx.com/Thought_Leadership/

Page 54: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

http://agile2012.agilealliance.org/program/no-bull-know-how-stage/no-bull-with-bob-martin/

ถา้เขยีน comment เมอืไหร่รูไ้วซ้ะวา่ code แกมนักาก"Every time you write a comment, you should grimace and feel the failure of your ability of expression."

(หยก แปล)

Robert C. Martin (AKA Uncle Bob)

"Truth can only be found in one place: the code."

Page 55: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

What about unit tests?

Page 56: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Quality?

Page 57: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Agile ❤ Automated Testing

http://www.coolest-gadgets.com/20090721/flossie-motorcyletesting-robot/

http://www.youtube.com/watch?v=CeGhoIFvD-E

Page 58: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Agile ❤ Automated Testing

Test Driven Development(TDD)

Behavior Driven Development(BDD)

Automated Performance Test

Acceptance Test Driven Development(ATDD)

DSL for Acceptance (eg Cucumber)

Mocks/Stubs

Continuous Deployment

Continuous Integration

JUnit

Spock

Page 59: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Conclusion

Page 60: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

What the heck is Agile?

Page 61: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

Credit: Apirak Panatkool (UX Academy)

Page 62: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

แชรป์ระสบการณ์

Page 63: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

แลว้ไงตอ่ดี

Page 64: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

อา่น

Page 65: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

คยุ

https://www.facebook.com/groups/agile66/Since 2010

1788 members and growing

Page 66: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

ทาํ mailto:[email protected]

Page 67: อไจล์คืออัลไล Agile Introduction @Mahidol ICT

ฝากเอาไว้