agile intro for kmitl it engineer - jan 7, 2014

71
อไจลคืออัลไล? By Proteus Agility Team For KMITL ITE, 7-Jan-2014

Upload: kulawat-wongsaroj

Post on 13-Jan-2015

308 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

By Proteus Agility TeamFor KMITL ITE, 7-Jan-2014

Page 2: Agile Intro for KMITL IT Engineer - Jan 7, 2014

theeidos.com

http://youtu.be/GDjYzEKRfcw

Page 3: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

● Play Time ( 60m)○ เลน Ball Point Game

● Cool-Down(60m)○ แลวตกลงอไจลคืออัลไล○ แลวไงตอดี?

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

Page 4: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

Page 5: Agile Intro for KMITL IT Engineer - Jan 7, 2014

MOBILEFROM PC TO

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

Page 6: Agile Intro for KMITL IT Engineer - Jan 7, 2014

CLOUDFROM SELF-HOSTED TO

CMS -> GOOGLE DOCOFFICE 365

Page 7: Agile Intro for KMITL IT Engineer - Jan 7, 2014

DYNAMICFROM STATIC TO

Page 8: Agile Intro for KMITL IT Engineer - Jan 7, 2014

START-UPFROM ENTERPRISE

Page 9: Agile Intro for KMITL IT Engineer - Jan 7, 2014

ทําไม?

MOBILE > DESKTOPCLOUD > SELF HOSTED

DYNAMIC > STATICSTART-UP > ENTERPRISE

Page 10: Agile Intro for KMITL IT Engineer - Jan 7, 2014

ความคลองตัว

(Agility)

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

Page 11: Agile Intro for KMITL IT Engineer - Jan 7, 2014

บริษัทใหญๆในโลก

ปจจุบันมีอายุเฉลี่ยเพียง 11-15 ป!และลดลงเรื่อยๆ

Page 12: Agile Intro for KMITL IT Engineer - Jan 7, 2014

AGILEORDIE!

Page 13: Agile Intro for KMITL IT Engineer - Jan 7, 2014

ทักษะที่จําเปนที่สุด

ของโปรแกรมเมอร(ที่ไมมีใครเคยบอกคุณ)

Page 14: Agile Intro for KMITL IT Engineer - Jan 7, 2014
Page 15: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

ฝายcode

ฝายเอกสาร

ฝายซื้อขาว

Page 16: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

Marketing Sale Analyst Dev QA Deploy

Page 17: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

● เริ่ม 2004 งบ 1,200 ลานบาท

● กําหนด 2 ป

● ผานไป 3 ป○ ไมเสร็จ○ เปลี่ยน Vendor

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

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

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

Page 18: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

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

CHAOS Report 2012

Page 19: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

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

● ผานไป 4 ป○ เสร็จ 50 %○ หมดไป $350M○ ขอเพิ่ม $350○ ขอเพิ่ม 6 ป

● โดนสอบ!

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

Page 20: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

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

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

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

Page 21: Agile Intro for KMITL IT Engineer - Jan 7, 2014

เรื่องเลา : Facebook

● codebase 10 ลานบรรทัด ใหญขึ้นเรื่อย

● developer 1,000 คน ● สามารถผลิด feature ใหมๆออกสูตลาดได ทุกวัน

● มีวัฒนธรรมอไจล

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

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

Page 22: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

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

Page 23: Agile Intro for KMITL IT Engineer - Jan 7, 2014

อไจลคืออะไร

● การสงมอบซอฟตแวรที่ใชไดจริงทุก 2 อาทิตย

● แนวคิดการพัฒนาซอฟตแวรโดยไมหลอกตัวเอง

● วัฒนธรรมของการทําซอฟตแวรเปนทีม

● การโคนลมระบบ Command & Control● การตอบสนองการเปลี่ยนแปลงอยางรวดเร็ว

● การพัฒนาซอฟตแวรอยางยั่งยืนไมฉาบฉวย

● ฯลฯ

Page 24: Agile Intro for KMITL IT Engineer - Jan 7, 2014

AGILE MANIFESTO

INDIVIDUAL & INTERACTION > PROCESS & TOOL

WORKING SOFTWARE > DOCUMENTATION

CUSTOMER COLLABORATION > CONTRACT NEGOTIATION

RESPOND TO CHANGE > FOLLOWING PLAN

www.agilemanifesto.org

Page 25: Agile Intro for KMITL IT Engineer - Jan 7, 2014

คําแถลงอุดมการณแหงอไจล

เราคนพบวิธีที่ดีกวาในการพัฒนาซอฟทแวร

จากการลงมือทําจริงและชวยเหลือผูอื่น

นั่นคือ เราใหความสําคัญกับ:

คนและการมีปฎิสัมพันธกัน มากกวาการทําตามขั้นตอนและเครื่องมือ

ซอฟตแวรที่นําไปใชงานไดจริง มากกวาเอกสารที่ครบถวนสมบูรณ

รวมมือทํางานกับลูกคา มากกวาการตอรองใหเปนไปตามสัญญา

การตอบรับกับการเปลี่ยนแปลง มากกวาการทําตามแผนที่วางไว

ทั้งนี ้แมเราจะเห็นความสําคัญในสิ่งที่กลาวไวทางดานขวา

แตเราใหความสําคัญกับสิ่งที่กลาวไวทางดานซายมากกวา

http://agilemanifesto.org/iso/th/

Page 26: Agile Intro for KMITL IT Engineer - Jan 7, 2014

(originally by Boris Gloger)

Ball Point Game

Page 27: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

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

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

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

Ball Point Game: The Rules

Page 28: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Ball Point Game: How To Play

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

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

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

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

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

Page 29: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Demo

Page 30: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Estimate

20Actual

15To Improve

do something

Tracking

Page 31: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Ball Point Game : Review

● รูสึกอยางไรกับเกม

● รอบไหนฟนสสุด

● หาคอขวดเจอไดอยางไร

● ทํางานหนักขึ้นชวยไหม

Page 32: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Ball Point Game : Insight

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

ไมใชทํางานหนักขึ้น

● flow จะเกิดถา○ เปนความทาทายที่ไมเกินความสามารถ○ ทีมไมถูกรบกวน○ เปนงานที่มีความหมาย

Page 33: Agile Intro for KMITL IT Engineer - Jan 7, 2014

แลวตกลง

อไจลคืออัลไล

Page 34: Agile Intro for KMITL IT Engineer - Jan 7, 2014
Page 35: Agile Intro for KMITL IT Engineer - Jan 7, 2014

อไจลคือ

การคนหาสิ่งที่เหมาะกับทีมของคุณ

Page 36: Agile Intro for KMITL IT Engineer - Jan 7, 2014

AgileUnique Characteristics

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

Page 37: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Value Driven

Value Driven

Page 38: Agile Intro for KMITL IT Engineer - Jan 7, 2014

User Story

Value Driven

Page 39: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Early Feedback

Early Feedback

Page 40: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Scrum

Early Feedback

Page 41: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

ContinuousImprovement

Page 42: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

Retrospective

Continuous Improvement

Page 43: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Prioritization

Prioritization

Page 44: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

Sexy Product Backlog

Prioritization

as worded by: Twin Roofimon Panichsombat

Page 45: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Transparency

Transparency

Page 46: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Standup Meeting

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

Transparency

Page 47: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Discovery vs Prediction

Page 48: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

Burndown Chart

Discovery vs Prediction

Page 49: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Agile Myths

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

Page 50: Agile Intro for KMITL IT Engineer - Jan 7, 2014

No Documentation?

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

Page 51: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

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

Page 52: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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 53: Agile Intro for KMITL IT Engineer - Jan 7, 2014

What about unit tests?

Page 54: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Quality?

Page 55: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Agile ❤ Automated Testing

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

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

Page 56: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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 57: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Conclusion

Page 58: Agile Intro for KMITL IT Engineer - Jan 7, 2014
Page 59: Agile Intro for KMITL IT Engineer - Jan 7, 2014

แลวไงตอดี

Page 60: Agile Intro for KMITL IT Engineer - Jan 7, 2014

อาน

Page 61: Agile Intro for KMITL IT Engineer - Jan 7, 2014

คุย

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

1788 members and growing

Page 62: Agile Intro for KMITL IT Engineer - Jan 7, 2014

ทํา mailto:[email protected]

Page 63: Agile Intro for KMITL IT Engineer - Jan 7, 2014

ฝากเอาไว

Page 64: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Q&A

Page 65: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Backup

Page 66: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

Factory Game

Page 67: Agile Intro for KMITL IT Engineer - Jan 7, 2014

1*BA4*Dev1*Tester

Page 68: Agile Intro for KMITL IT Engineer - Jan 7, 2014
Page 69: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Time first card presented

Time first card accepted

Number of cards accepted

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

Page 70: Agile Intro for KMITL IT Engineer - Jan 7, 2014

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

Page 71: Agile Intro for KMITL IT Engineer - Jan 7, 2014

Reduce Waste