บันทึก Agile Manifesto และ ความสัมพันธ์กับหลักธรรมของศาสนา

สำหรับผมแล้วการทำ Agile นั้นก็เปรียบเสมือน “การนับถือศาสนา” คือ เพื่อเป็นหลักในการดำเนินชีวิต หรือ ดำเนินธุรกิจ ไปในทิศทางที่ถูกต้อง ซึ่งมันต้องอาศัย “ความเชื่อ” ก่อนว่าศาสนานั้นๆ หรือ หลักการนั้นๆ จะนำพาเราไปในทางที่ดี ถ้าดูดีๆจะเห็นได้ว่าทุกศาสนาจะมี “บัญญัติ” หรือ “แถลงการ” หรือ “อุดมการณ์” ความเชื่อ หรือที่ภาษาอังกฤษเรียกว่า “Manifesto” กำหนดไว้เสมอ เช่น ศาสนาคริสต์ ก็จะมีบัญญัติ 10 ประการ ศาสนาพุทธก็จะมีเบญจศีล ศาสนาอิสลามก็จะมีหลักธรรมที่บัญญัติไว้ เพื่อให้ผู้คนที่นับถือศาสนานั้นๆได้นำเอาไปเป็นแนวทางในการปฏิบัติตาม

โดย Agile ก็เป็นเช่นเดียวกันกับศาสนาที่มีบทบัญญัติ หรือ Manifesto ไว้นำทางการบริหารจัดการการทำงาน และ การตัดสินใจของคนในองค์กร ให้ไปในทิศทางเดียวกัน และเห็นพ้องต้องกัน ซึ่งถ้าองค์กรใดๆเลือกที่จะใช้ Agile ในการทำงานก็จะมีบทบัญญัติของการทำ Agile มีดังต่อไปนี้

ref: http://agilemanifesto.org/iso/th/manifesto.html


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

เราค้นพบวิธีที่ดีกว่าในการพัฒนาซอฟท์แวร์
จากการลงมือทำจริงและช่วยเหลือผู้อื่น
นั่นคือ เราให้ความสำคัญกับ:

คนและการมีปฏิสัมพันธ์กัน มากกว่าการทำตามขั้นตอนและเครื่องมือ
ซอฟต์แวร์ที่นำไปใช้งานได้จริง มากกว่าเอกสารที่ครบถ้วนสมบูรณ์
ร่วมมือทำงานกับลูกค้า มากกว่าการต่อรองให้เป็นไปตามสัญญา
การตอบรับกับการเปลี่ยนแปลง มากกว่าการทำตามแผนที่วางไว้

ทั้งนี้ แม้เราจะเห็นความสำคัญในสิ่​งที่กล่าวไว้ทางด้านขวา
แต่เราให้ความสำคัญกับสิ่งที่กล่าวไว้ทางด้านซ้ายมากกว่า

หลักการเบื้องหลังคำแถลงอุดมการณ์แห่งอไจล์

พวกเราทำตามหลักการเหล่านี้:

ความสำคัญสูงสุดของพวกเราคือความพึงพอใจของลูกค้า
ที่มีต่อการส่งมอบซอฟท์แวร์ที่มีคุณค่าต่อลูกค้า ตั้งแต่ต้นอย่างต่อเนื่อง

ยอมรับการเปลี่ยนแปลงความต้องการของลูกค้าแม้ในช่วงท้ายของการพัฒนา
เพราะอไจล์สามารถแปรเอาความเปลี่ยนแปลง มาเป็นความได้เปรียบในการแข่งขันของลูกค้า

ส่งมอบซอฟท์แวร์ที่ใช้งานได้จริงอย่างสม่ำเสมอ
อาจเป็นทุกสองถึงสามสัปดาห์หรือทุกสองถึงสามเดือน
โดยควรทำให้ระยะเวลาระหว่างการส่งมอบนั้นสั้นที่สุดเท่าที่เป็นไปได้

ตัวแทนจากฝ่ายธุรกิจและนักพัฒนา
จะต้องทำงานร่วมกันเป็นประจำทุกวันตลอดโครงการ

ทำให้แน่ใจว่าสมาชิกโครงการเข้าใจและมีจุดมุ่งหมายของโครงการร่วมกัน
สร้างสภาวะแวดล้อมและให้การสนับสนุนในสิ่งที่พวกเขาต้องการ
และให้ความไว้วางใจแก่พวกเขาในการที่จะทำงานให้บรรลุเป้าหมายนั้น

วิธีที่มีประสิทธิภาพและประสิทธิผลสูงสุดในการถ่ายทอดข้อมูลต่างๆ
ไปสู่ทีมพัฒนาและภายในทีมพัฒนาเองคือการพูดคุยแบบซึ่งหน้า

ซอฟท์แวร์ที่ใช้งานได้จริงเป็นตัวหลักในการวัดความก้าวหน้าของโครงการ

กระบวนการอไจล์สนับสนุนให้เกิดการพัฒนาแบบยั่งยืน 
กล่าวคือผู้สนับสนุนนักพัฒนา และตัวแทนผู้ใช้ 
ควรจะสามารถรักษาอัตราเร็วในการทำงานร่วมกันให้คงที่ได้ตลอดไป

การใส่ใจในความเป็นเลิศทางเทคนิค
และงานออกแบบที่ดีอย่างต่อเนื่องจะช่วยเพิ่มความเป็นอไจล์

ความเรียบง่าย หรือศิลปะในการทำงานอย่างพอเพียง นั้นสำคัญยิ่ง

สถาปัตยกรรมซอฟต์แวร์ ความต้องการของลูกค้า และงานออกแบบที่ดีที่สุด เกิดจากทีมที่บริหารจัดการตัวเองได้

ทุกช่วงเวลาหนึ่งเป็นประจำ ทีมจะต้องย้อนกลับไปตรองดูสิ่งที่ผ่านมา
เพื่อหาทางที่จะพัฒนาความมีประสิทธิผลของทีม
แล้วนำสิ่งเหล่านั้นมาปรับปรุงและเปลี่ยนแปลงพฤติกรรมของทีม


ซึ่งถ้าเราสังเกตให้ดี Agile Manifesto มันคือสิ่งเดียวกับหลักธรรมของศาสนาต่างๆ แถมยังมี website ให้ลงนามให้เป็นสาวก Agile อีกด้วย ตาม link นี้เลย http://agilemanifesto.org/display/index.html

จะว่าไปแล้วบทบัญญัติเหล่านี้มันก็สวยงามจริงๆในเรื่องของการบริหารจัดการองค์กร และ Tools ต่างๆที่เกิดขึ้นมาระยะหลังนี้ เช่น DepOps, CD/CI, Automate Tools ต่างๆ ก็ถูกสร้างขึ้นมาเพื่อ Support หลักการเหล่านี้แบบเต็มๆ ซึ่งถ้าเราประกาศตนเป็นสาวกของ Agile แล้วก็ไม่สามารถที่จะปฏิเสธ Tools เหล่านี้ได้เลย ถึงแม้ว่าการ Set up มันจะยากเย็นแสนเข็ญ หรือ ราคา Pricing มันจะสูงเท่าใด ก็ต้องหามาใช้ให้ได้เพื่อให้มันตอบสนองกับ “Manifesto” เหล่านั้น

จากประสบการณ์ที่ได้นำเอา Agile มาใช้ในองค์กรตัวเอง และไปทำงานร่วมกับองค์กรอื่นที่ใช้ Agile มาอยู่แล้วเป็นระยะเวลาหนึ่ง ก็รู้สึกว่าการทำงานมันเร็วขึ้น ดีขึ้นจริง และ ช่วยทำให้การจัดการกับธุรกิจ Software House มีรูปแบบ มีแบบแผนที่ดีขึ้น แต่ทั้งนี้เหรียญมันก็ย่อมมีสองด้านเสมอ ในด้านที่ Agile ยังมีข้อเสีย หรือ ข้อจำกัดก็มีอยู่มาก จึงต้องปรับและประยุกต์ Agile ให้เข้ากับบริบทขององค์กรนั้นๆอยู่เสมอ ตัวอย่างปัจจัยและบริบทที่ต้องนำมาประยุกต์การทำ Agile ก็อย่างเช่น ขนาดของทีม, ความสามารถของทีม, เงินทุน, Tools เป็นต้น โดยส่วนตัวยังคิดว่า Agile เป็นสิ่งที่ใหม่ และยังคงต้องถูกปรับปรุงอีกมากมาย เหมือนหลักธรรมของศาสนาที่ Run มาซักระยะหนึ่งก็จะเกิดมี “นิกาย” ใหม่ๆเพิ่มขึ้นมาในศาสนานั้นๆอยู่เสมอ หรือไม่แน่ว่าในอนาคตอาจจะมีศาสนาใหม่ๆเกิดขึ้นอีกก็เป็นได้ หรือ เราอาจจะต้องเลือกเชื่อในสิ่งที่เหมาะสมกับตัวเอง(ศาสนาอื่น) มากกว่าที่จะเชื่อในสิ่งที่คนส่วนมากเชื่อ สวัสดี