kmitl it - intro to agile by proteus agility

68
อไจล์คืออัลไล? By Proteus Agility Team For KMITL IT, 14-Nov-2013

Upload: kulawat-wongsaroj

Post on 13-Jan-2015

848 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: KMITL IT - Intro to Agile by Proteus Agility

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

By Proteus Agility TeamFor KMITL IT, 14-Nov-2013

Page 2: KMITL IT - Intro to Agile by Proteus Agility

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

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

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

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

Page 3: KMITL IT - Intro to Agile by Proteus Agility

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

Page 4: KMITL IT - Intro to Agile by Proteus Agility

MOBILEFROM PC TO

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

Page 5: KMITL IT - Intro to Agile by Proteus Agility

CLOUDFROM SELF-HOSTED TO

CMS -> GOOGLE DOCOFFICE 365

Page 6: KMITL IT - Intro to Agile by Proteus Agility

DYNAMICFROM STATIC TO

Page 7: KMITL IT - Intro to Agile by Proteus Agility

START-UPFROM ENTERPRISE

Page 8: KMITL IT - Intro to Agile by Proteus Agility

ทาํไม?

MOBILE > DESKTOPCLOUD > SELF HOSTED

DYNAMIC > STATICSTART-UP > ENTERPRISE

Page 9: KMITL IT - Intro to Agile by Proteus Agility

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

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

Page 10: KMITL IT - Intro to Agile by Proteus Agility

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

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

Page 11: KMITL IT - Intro to Agile by Proteus Agility

AGILEORDIE!

Page 12: KMITL IT - Intro to Agile by Proteus Agility

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

Page 13: KMITL IT - Intro to Agile by Proteus Agility
Page 14: KMITL IT - Intro to Agile by Proteus Agility

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

ฝ่ายcode

ฝ่ายเอกสาร

ฝ่ายซอืขา้ว

Page 15: KMITL IT - Intro to Agile by Proteus Agility

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

Marketing Sale Analyst Dev QA Deploy

Page 16: KMITL IT - Intro to Agile by Proteus Agility

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

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

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

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

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

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

Page 17: KMITL IT - Intro to Agile by Proteus Agility

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

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

CHAOS Report 2012

Page 18: KMITL IT - Intro to Agile by Proteus Agility

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

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

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

● โดนสอบ!

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

Page 19: KMITL IT - Intro to Agile by Proteus Agility

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

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

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

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

Page 20: KMITL IT - Intro to Agile by Proteus Agility

เรอืงเลา่ : Facebook

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

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

Page 21: KMITL IT - Intro to Agile by Proteus Agility

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

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

Page 22: KMITL IT - Intro to Agile by Proteus Agility

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

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

Page 23: KMITL IT - Intro to Agile by Proteus Agility

AGILE MANIFESTO

INDIVIDUAL & INTERACTION > PROCESS & TOOL

WORKING SOFTWARE > DOCUMENTATION

CUSTOMER COLLABORATION > CONTRACT NEGOTIATION

RESPOND TO CHANGE > FOLLOWING PLAN

www.agilemanifesto.org

Page 24: KMITL IT - Intro to Agile by Proteus Agility

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

Factory GameBall Points Game

Page 25: KMITL IT - Intro to Agile by Proteus Agility

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

Factory Game

Page 26: KMITL IT - Intro to Agile by Proteus Agility

1*BA4*Dev1*Tester

Page 27: KMITL IT - Intro to Agile by Proteus Agility
Page 28: KMITL IT - Intro to Agile by Proteus Agility

Time first card presented

Time first card accepted

Number of cards accepted

Round #1(2 min)Round #2(2 min)

Page 29: KMITL IT - Intro to Agile by Proteus Agility

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

Page 30: KMITL IT - Intro to Agile by Proteus Agility

Reduce Waste

Page 31: KMITL IT - Intro to Agile by Proteus Agility

(originally by Boris Gloger)

Ball Point Game

Page 32: KMITL IT - Intro to Agile by Proteus Agility

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

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

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

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

Ball Point Game: The Rules

Page 33: KMITL IT - Intro to Agile by Proteus Agility

Ball Point Game: How To Play

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

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

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

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

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

Page 34: KMITL IT - Intro to Agile by Proteus Agility

Round Estimate Actual To Improve

1

2

3

4

5

Page 35: KMITL IT - Intro to Agile by Proteus Agility

Ball Point Game : Review

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

Page 36: KMITL IT - Intro to Agile by Proteus Agility

Ball Point Game : Insight

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

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

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

Page 37: KMITL IT - Intro to Agile by Proteus Agility

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

Page 38: KMITL IT - Intro to Agile by Proteus Agility
Page 39: KMITL IT - Intro to Agile by Proteus Agility

AgileUnique Characteristics

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

Page 40: KMITL IT - Intro to Agile by Proteus Agility

Value Driven

Value Driven

Page 41: KMITL IT - Intro to Agile by Proteus Agility

User Story

Value Driven

Page 42: KMITL IT - Intro to Agile by Proteus Agility

Early Feedback

Early Feedback

Page 43: KMITL IT - Intro to Agile by Proteus Agility

Scrum

Early Feedback

Page 44: KMITL IT - Intro to Agile by Proteus Agility

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

ContinuousImprovement

Page 45: KMITL IT - Intro to Agile by Proteus Agility

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

Retrospective

Continuous Improvement

Page 46: KMITL IT - Intro to Agile by Proteus Agility

Prioritization

Prioritization

Page 47: KMITL IT - Intro to Agile by Proteus Agility

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

Sexy Product Backlog

Prioritization

as worded by: Twin Roofimon Panichsombat

Page 48: KMITL IT - Intro to Agile by Proteus Agility

Transparency

Transparency

Page 49: KMITL IT - Intro to Agile by Proteus Agility

Standup Meeting

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

Transparency

Page 50: KMITL IT - Intro to Agile by Proteus Agility

Discovery vs Prediction

Page 51: KMITL IT - Intro to Agile by Proteus Agility

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

Burndown Chart

Discovery vs Prediction

Page 52: KMITL IT - Intro to Agile by Proteus Agility

Agile Myths

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

Page 53: KMITL IT - Intro to Agile by Proteus Agility

No Documentation?

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

Page 54: KMITL IT - Intro to Agile by Proteus Agility

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

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

Page 55: KMITL IT - Intro to Agile by Proteus Agility

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 56: KMITL IT - Intro to Agile by Proteus Agility

What about unit tests?

Page 57: KMITL IT - Intro to Agile by Proteus Agility

Quality?

Page 58: KMITL IT - Intro to Agile by Proteus Agility

Agile ❤ Automated Testing

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

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

Page 59: KMITL IT - Intro to Agile by Proteus Agility

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 60: KMITL IT - Intro to Agile by Proteus Agility

Conclusion

Page 61: KMITL IT - Intro to Agile by Proteus Agility

What the heck is Agile?

Page 62: KMITL IT - Intro to Agile by Proteus Agility

Credit: Apirak Panatkool (UX Academy)

Page 63: KMITL IT - Intro to Agile by Proteus Agility

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

Page 64: KMITL IT - Intro to Agile by Proteus Agility

แลว้ไงตอ่ดี

Page 65: KMITL IT - Intro to Agile by Proteus Agility

อา่น

Page 66: KMITL IT - Intro to Agile by Proteus Agility

คยุ

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

1788 members and growing

Page 67: KMITL IT - Intro to Agile by Proteus Agility

ทาํ mailto:[email protected]

Page 68: KMITL IT - Intro to Agile by Proteus Agility

ฝากเอาไว้