Values ของ Framework ต่าง ๆ
ผมหาคุณค่า (Values) ของผมเจอจากการสังเกตความต้องการที่มักจะมาหาผมบ่อย ๆ ทั้งตอนที่มันได้รับการตอบสนองและทำให้ผมรู้สึกดีมาก ๆ รวมถึงตอนที่มันไม่ได้รับการตอบสนองและทำให้ผมปั่นป่วนมาก ๆ
พอความต้องการไหนมาเคาะประตูใจผมบ่อย ๆ ผมก็เริ่มพิจารณาว่าความต้องการนี้แหละที่เป็น Value หนึ่งสำหรับผม เช่น ความอ่อนโยนเป็น Value หนึ่งที่สำคัญสำหรับผม
Framework ต่าง ๆ ก็มี Values ที่ Framework นั้นยึดถือ ซึ่งถ้าเราจะเลือกใช้มัน เราก็คาดหวังได้ว่ามันจะนำคุณค่าเหล่านั้นเข้ามาในบริบทการทำงานของเรา ถ้าเราไม่ชอบคุณค่าเหล่านั้น ก็ไม่ควรใช้ Framework นั้น
Scrum Values
Focus ตอนที่ทีมหยิบ item จาก Product Backlog เข้า Sprint Backlog แล้ว ทีมจะโฟกัสกับการแก้ปัญหาในรอบนี้ พฤติกรรมของทีมเหมือนม้าลำปางที่เค้าเอาฉากมากั้นข้าง ๆ ตาม้าเลย คือ ทีมแทบจะมองไม่เห็นอะไรอีกเลย นอกจากพยายามทำของใน Sprint Backlog ให้เสร็จก่อนถึง Sprint Review
ที่สกรัมออกแบบมาแบบนี้ เพราะถ้าตอน Review ทีมทำไม่เสร็จ เราก็จะไม่ได้ Review อารมณ์เหมือนขับรถไป sprint หนึ่ง แล้วพอจะหยิบแมพมาเช็กทิศทาง กลับเจอว่า GPS ไม่อัปเดตเลย มันทำให้ไม่รู้ว่าจะไปต่อยังไง แล้วก็ต้องมั่วไปอีก sprint ซึ่งจะทำให้สกรัมไม่เวิร์กอีกต่อไป
Openness คือความโปร่งใส สกรัมอยากให้ Sprint Backlog และ Product Backlog เป็นของที่ใคร ๆ ก็เข้าถึงได้ ดูได้ เพื่อให้เกิดความโปร่งใสของทีมที่กำลังทำงานนี่แหละ
มี Daily Scrum ให้ทุกคนในทีม sync กัน ก็เป็นความโปร่งใสเหมือนกัน ถ้าใช้สกรัม คนในทีมแทบจะรู้ชัดมากเลยว่าใครทำอะไร ช่วยได้แค่ไหน เรียกว่าอู้งานได้ยากมาก เพราะมันโปร่งใสเหลือเกิน ใครเก่งอะไร อ่อนอะไร ไม่สามารถซ่อนได้เลย
Commitment คือ ถ้ารับปากแล้วก็ทำให้ได้ เพราะเหตุนี้ สกรัมถึงให้ทีมเป็นคนเลือกเองว่าจะแก้ได้กี่ปัญหาใน Sprint นี้ เพราะอยากได้คำมั่นจากทีมนี่แหละ ทีมที่เลือกเองว่าจะทำแค่ไหน พอเจออุปสรรคเค้าจะหาทางแก้ ทีมที่ไม่ได้เลือกเองจะหาคำแก้ตัว
Respect ในสกรัมคือการเคารพความเป็นมนุษย์ แต่ละคนมีบทบาทหน้าที่ต่างกัน มุมมองต่างกัน มาอยู่รวมกันต้องขัดแย้งกันอยู่แล้ว ความเคารพนี่แหละที่จะทำให้เราได้ยินกัน ความเคารพนี่แหละที่จะเป็นตัวตัดสินว่าความขัดแย้งจะนำไปสู่การเติบโตหรือความแตกแยก
Courage คือความกล้าที่จะทำตามสกรัม สิ่งเดียวที่สกรัมสัญญาคือ ไม่ว่าอนาคตจะรุ่งเรืองหรือวอดวาย เราจะเห็นมันเนิ่น ๆ ในทุก Sprint Review เลย ซึ่งบางครั้งความจริงมันสะเทือนใจมาก การเห็นปัญหาตำตาแต่แก้ไขไม่ได้ จะเพราะเหตุใดก็ตาม มันขัดกับสัญชาตญาณของมนุษย์ ทำให้หลายทีมเลือกจะบิดสกรัมไป เพื่อให้ Feedback มันไม่ชัด ไม่ทิ่มตาเท่าเดิม
Extreme Programming Values
Communication คือการสื่อสาร XP ตระหนักว่า XP เป็น framework สำหรับผู้คน การสื่อสารเป็นปัจจัยสำคัญสำหรับทั้งงานและคน การสื่อสารช่วยป้องกันการตัดสินใจผิดพลาดจากข้อมูลที่ไม่ครบในงาน และการสื่อสารช่วยสานสัมพันธ์และทำให้ทีมเป็นทีม
Simplicity คือความเรียบง่าย เราไม่รู้ว่าซอฟต์แวร์ที่กำลังทำจะมี requirement อะไรเข้ามาในอนาคต เพราะเดาไม่ถูก เลยอยากให้ทุกส่วนในระบบเป็นส่วนที่ซับซ้อนน้อยที่สุด เพื่อวันที่มี requirement เข้ามามากกว่านี้แล้วระบบจะต้องซับซ้อนขึ้น จะได้ไม่ยากเกินกว่าที่เราจะดูแลมันไหว
Respect หรือความเคารพ คนที่ใช้ XP ตั้งใจจะส่งมอบคุณค่าอยู่ตลอดเวลา ทำให้ release แต่ละครั้งมันเล็ก ๆ การทำแบบนี้นอกจากจะลดความเสี่ยงของ release ได้แล้ว ยังเป็นการดูแลผู้ใช้งาน ไม่ให้ได้รับผลกระทบจากความเปลี่ยนแปลงของซอฟต์แวร์มากเกินไปจนปรับตัวไม่ทันด้วย
นอกจากให้ความเคารพกับผู้ใช้งานแล้ว XP ก็ให้ความสำคัญกับความเคารพของคนทำงานด้วย XP เชื่อว่าทุกคนมีค่าเท่ากัน ไม่มีความเห็นของใครหรือเวลาของใครสำคัญกว่าใคร และความเคารพนี้ทำให้ทีมเติบโตแทนที่จะแตกแยก
Feedback จากการส่งมอบคุณค่าอยู่ตลอดเวลา XP จึงให้ความสำคัญกับ Feedback มาก คนใช้ XP เหมือนคนที่กำลังขับรถไปในที่ที่ไม่เคยไปมาก่อน จึงเช็กแมพและอาศัย Feedback ในการนำทางตลอดเวลา
มีตั้งแต่ Feedback ที่ได้จากการลองทำมันแล้วดูเอง Feedback ที่ได้จากเพื่อนร่วมทีม หรือ Feedback ที่ได้จากคนอื่น
Courage คือความกล้า สำหรับ XP Courage หมายถึงการลำเอียงเข้าข้างการกระทำ ถ้าเห็นปัญหา ก็ลองทำอะไรสักอย่างกับมัน แทนที่จะวิเคราะห์หรือบ่นเฉย ๆ ไม่ต้องแก้ทั้งหมดก็ได้ ทำให้มันดีขึ้นกว่าเดิมนิดหนึ่งก็พอแล้ว
ความกล้าเป็นเหรียญด้านตรงข้ามของการวิเคราะห์ ถ้าเสี่ยงลองทำก็จะได้เรียนรู้ ถ้าวิเคราะห์ก็ได้ความปลอดภัยจากความระแวดระวัง คุณค่าเรื่องความกล้านี้ทำให้ XP เอียงไปทางการกระทำมากกว่ายึดมั่นกับความปลอดภัย
Large-Scale Scrum Values
LeSS ไม่มี Values มีแต่ optimization goal เพียงหนึ่งเดียว คือ อยากให้ค่าใช้จ่ายในการปรับเปลี่ยนทิศทางขององค์กรต่ำที่สุด
Values เป็นเหมือนดาวเหนือที่บ่งบอกว่า Framework ที่เราเลือกใช้กำลังมุ่งไปหาอะไร สิ่งนี้สำคัญ เพราะเวลาเราเลือกใช้ Framework จะได้รู้ว่ามันกำลังนำทางองค์กรของเราไปในทิศทางไหน และถูกใจเราไหม