Agile Manifesto อธิบายแบบ #:P

Agile Manifesto แปลว่า แถลงการณ์แห่ง Agile ส่วนความหมาย ผมจะแยกอธิบายเป็น 2 คำ

Agile แปลว่า คล่องแคล่ว, ปราดเปรียว เป็นคำ คุณศัพย์ หรือคำขยาย คำนาน เช่น Agile Tools แปลว่าเครื่องมือที่คล่องแคล่ว, Agile Management คือ การจัดการที่คล่องแคล่ว แล้วเจ้าความหมายของ Agile ในที่นี้มันมีความหมายว่า การพัฒนาซอฟแวร์ ใดๆต้องให้ผลลัพย์ที่ส่งเสริมคุณค่า 4 ค่าที่อยู่ทางด้านซ้ายนี้ให้มากกว่าอีก 4 ค่าที่อยู่ทางขวา ดังนี้

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

ผมจะแยกพิจาณากันเป็นข้อๆ ดังนี้

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

ดังนั้น อย่าให้เครื่องมือ หรืออุปกรณ์ หรือวิธีการใดๆ มาขัดขวาง การติดต่อสื่อสารให้เข้าใจร่วมกัน เพื่อให้เราทำงานได้บรรลุเป้าหมายความสำเร็จเลย Agile จึงกำหนดไว้

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

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

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

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

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

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

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

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

ส่วนคำว่า แถลงการณ์ นั้น แปลว่า การอธิบายอย่างเป็นทางการ ดังนั้น แถลงการณ์แห่ง Agile จึงมีความหมายว่า การอธิบายคุณค่าทั้ง 4 และ หลักการทั้ง 12 ที่มีความหมายตามที่ผมอธิบายไว้ทั้งหมดออกมา อย่างเป็นทางการ คือ ให้รู้กันไปทั่วโลกเลย เมื่อกล่าวถึงการพัฒนาซอฟแวร์ ที่เป็นแบบ Agile

ขอบคุณครับ

#:P

Advertisements

#agile