อไจลคืออัลไล?
By Proteus Agility TeamFor KMITL ITE, 7-Jan-2014
theeidos.com
http://youtu.be/GDjYzEKRfcw
● Warm-Up (30m)○ โลกของซอฟตแวรที่เปลี่ยนไป○ ทักษะที่สําคัญที่สุดของโปรแกรมเมอร○ อไจลคืออัลไล ทําไมฉันตองแคร
● Play Time ( 60m)○ เลน Ball Point Game
● Cool-Down(60m)○ แลวตกลงอไจลคืออัลไล○ แลวไงตอดี?
อไจลคืออัลไล?
โลกของซอฟตแวร ที่เปลี่ยนไป
MOBILEFROM PC TO
http://www.bananarecord.net/apple-girls-band/
CLOUDFROM SELF-HOSTED TO
CMS -> GOOGLE DOCOFFICE 365
DYNAMICFROM STATIC TO
START-UPFROM ENTERPRISE
ทําไม?
MOBILE > DESKTOPCLOUD > SELF HOSTED
DYNAMIC > STATICSTART-UP > ENTERPRISE
ความคลองตัว
(Agility)
http://animals.nationalgeographic.com/wallpaper/animals/photos/cheetahs/cheetah-jump/
บริษัทใหญๆในโลก
ปจจุบันมีอายุเฉลี่ยเพียง 11-15 ป!และลดลงเรื่อยๆ
AGILEORDIE!
ทักษะที่จําเปนที่สุด
ของโปรแกรมเมอร(ที่ไมมีใครเคยบอกคุณ)
การทํางานเปนทีมในหองเรียน
ฝายcode
ฝายเอกสาร
ฝายซื้อขาว
การทํางานเปนทีมในบริษัทสวนใหญ
Marketing Sale Analyst Dev QA Deploy
เรื่องเลา : ธกส Core Banking System
● เริ่ม 2004 งบ 1,200 ลานบาท
● กําหนด 2 ป
● ผานไป 3 ป○ ไมเสร็จ○ เปลี่ยน Vendor
● ผานไป 5 ป○ ยกเลิกสัญญา○ หมดไป 900M○ ฟองรองกันวุนวาย
● นี่มันอัลไล!
อางอิง : ฐานเศรษฐกิจ, ผูจัดการ, baac.or.th
ผลของการทําซอฟตแวรสวนใหญ
http://www.mountaingoatsoftware.com/blog/agile-succeeds-three-times-more-often-than-waterfall
CHAOS Report 2012
เรื่องเลา : FBI Virtual Case File
● เริ่ม 2006 งบ $450M ● กําหนด 3 ป
● ผานไป 4 ป○ เสร็จ 50 %○ หมดไป $350M○ ขอเพิ่ม $350○ ขอเพิ่ม 6 ป
● โดนสอบ!
อางอิง : หนังสือ Software In Thirty Days, 2012 [Ken Schwaber, Jeff Sutherland]
เรื่องเลา : FBI Virtual Case File
● ป 2010 (ผานไป 4 ป)○ เปลี่ยนเปน Agile○ ลดคน 400 เหลือ 40○ เสร็จใน 1 ป○ ใชเพียง $30M
● นี่มันอัลไล!
อางอิง : หนังสือ Software In Thirty Days, 2012 [Ken Schwaber, Jeff Sutherland]
เรื่องเลา : Facebook
● codebase 10 ลานบรรทัด ใหญขึ้นเรื่อย
● developer 1,000 คน ● สามารถผลิด feature ใหมๆออกสูตลาดได ทุกวัน
● มีวัฒนธรรมอไจล
● นี่มันอัลไล!
อางอิง : บทความ Development and Deployment at Facebook, 2013 [ Dror Feitelson, Eitan Frachtenberg, Kent Beck ]
อไจลคืออัลไล?
image from: http://agilesherpa.org/intro_to_agile/what_is_agile_development/http://msdn.microsoft.com/en-us/library/dd997578.aspx
อไจลคืออะไร
● การสงมอบซอฟตแวรที่ใชไดจริงทุก 2 อาทิตย
● แนวคิดการพัฒนาซอฟตแวรโดยไมหลอกตัวเอง
● วัฒนธรรมของการทําซอฟตแวรเปนทีม
● การโคนลมระบบ Command & Control● การตอบสนองการเปลี่ยนแปลงอยางรวดเร็ว
● การพัฒนาซอฟตแวรอยางยั่งยืนไมฉาบฉวย
● ฯลฯ
AGILE MANIFESTO
INDIVIDUAL & INTERACTION > PROCESS & TOOL
WORKING SOFTWARE > DOCUMENTATION
CUSTOMER COLLABORATION > CONTRACT NEGOTIATION
RESPOND TO CHANGE > FOLLOWING PLAN
www.agilemanifesto.org
คําแถลงอุดมการณแหงอไจล
เราคนพบวิธีที่ดีกวาในการพัฒนาซอฟทแวร
จากการลงมือทําจริงและชวยเหลือผูอื่น
นั่นคือ เราใหความสําคัญกับ:
คนและการมีปฎิสัมพันธกัน มากกวาการทําตามขั้นตอนและเครื่องมือ
ซอฟตแวรที่นําไปใชงานไดจริง มากกวาเอกสารที่ครบถวนสมบูรณ
รวมมือทํางานกับลูกคา มากกวาการตอรองใหเปนไปตามสัญญา
การตอบรับกับการเปลี่ยนแปลง มากกวาการทําตามแผนที่วางไว
ทั้งนี ้แมเราจะเห็นความสําคัญในสิ่งที่กลาวไวทางดานขวา
แตเราใหความสําคัญกับสิ่งที่กลาวไวทางดานซายมากกวา
http://agilemanifesto.org/iso/th/
(originally by Boris Gloger)
Ball Point Game
ทําใหบอลผานมือทุกคนในทีมใหมากที่สุด
● บอลตองผานมือทุกคนในทีม ● บอลจะครบรอบเมื่อกลับไปที่คนแรกที่สงบอล● ผานครบได 1 แตม
● เวลาผานบอลไปยังเพื่อน ตองมีเวลาที่บอลลอยอยูกลางอากาศ (air time) หามสงไปที่มือเพื่อนโดยตรง
● หามสงใหคนที่อยูติดกับเรา● คนทําบอลตกหามหยิบขึ้นมาเอง● ทําผิดกฎโดนตัดแตม
Ball Point Game: The Rules
Ball Point Game: How To Play
● เลนกัน 5 รอบ● แตละรอบ:
○ 2 นาที - วางแผน■ ตกลงกันในทีมวาจะเลนอยางไร■ estimate แตมที่จะได และ บันทึกไว
○ 2 นาที - ทํา■ เลนจริง■ บันทึกวาทําไดจริงเทาไหร
○ 1 นาที■ คุยกันในทีมวาจะปรับปรุงทีมอยางไรสําหรับรอบตอไป■ บันทึกขอตกลงของทีม
● สรุปผลรวม 5-10 นาที
Demo
Estimate
20Actual
15To Improve
do something
Tracking
Ball Point Game : Review
● รูสึกอยางไรกับเกม
● รอบไหนฟนสสุด
● หาคอขวดเจอไดอยางไร
● ทํางานหนักขึ้นชวยไหม
Ball Point Game : Insight
● Inspect & Adapt● ทุกระบบม ีNatural Velocity● จะผลักใหเกิน Natural Velocity ตองปรับ process
ไมใชทํางานหนักขึ้น
● flow จะเกิดถา○ เปนความทาทายที่ไมเกินความสามารถ○ ทีมไมถูกรบกวน○ เปนงานที่มีความหมาย
แลวตกลง
อไจลคืออัลไล
อไจลคือ
การคนหาสิ่งที่เหมาะกับทีมของคุณ
AgileUnique Characteristics
http://images6.fanpop.com/image/photos/34100000/One-P13c3-one-piece-34104398-1920-1080.jpg
Value Driven
Value Driven
User Story
Value Driven
Early Feedback
Early Feedback
Scrum
Early Feedback
http://www.cqeacademy.com/cqe-body-of-knowledge/continuous-improvement/
ContinuousImprovement
http://agile-and-testing.chriss-baumann.de/wp-content/uploads/2012/02/starfish_retrospective.png
Retrospective
Continuous Improvement
Prioritization
Prioritization
http://www.romanpichler.com/wp-content/uploads/2010/02/Backlog-prioritization.jpg
Sexy Product Backlog
Prioritization
as worded by: Twin Roofimon Panichsombat
Transparency
Transparency
Standup Meeting
http://www.xqa.com.ar/visualmanagement/wp-content/uploads/standup2.jpg
Transparency
Discovery vs Prediction
http://niksilver.files.wordpress.com/2008/01/burn-down-chart-small1.jpg?w=750
Burndown Chart
Discovery vs Prediction
Agile Myths
http://geoheritagescience.files.wordpress.com/2013/01/skyrim-mountains.jpg
No Documentation?
http://edudemic.com/wp-content/uploads/2012/07/library.jpg
Good code is its own best documentation. -- Steve McConnell --
http://www.construx.com/Thought_Leadership/
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."
What about unit tests?
Quality?
Agile ❤ Automated Testing
http://www.coolest-gadgets.com/20090721/flossie-motorcyletesting-robot/
http://www.youtube.com/watch?v=CeGhoIFvD-E
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
Conclusion
แลวไงตอดี
อาน
คุย
https://www.facebook.com/groups/agile66/Since 2010
1788 members and growing
ทํา mailto:[email protected]
ฝากเอาไว
Q&A
Backup
http://www.efanyc.org/assembly-line/
Factory Game
1*BA4*Dev1*Tester
Time first card presented
Time first card accepted
Number of cards accepted
Round #1(2 min)Round #2(2 min)
http://www.kellykuhn.com/wp-content/uploads/2013/05/One-thing-e1368108176820.jpg
Reduce Waste