เริ่มอไจล์อย่างไรดี

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

อไจล์นั้นถึงแม้จะมีอยู่หลายกระบวนวิธี ที่เป็นที่รู้จักกันมาก ก็มี สกรัม เอ๊กซ์พี ลีน แต่ไม่ว่าจะใช้วิธีไหนก็มีจุดร่วมกันคือ AgileManifesto หรือพันธสัญญาแห่งอไจล์ ซึ่งมีใจความว่า

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on

the right, we value the items on the left more.

พันธสัญญานี้ พอจะสรุปเป็นภาษาไทย ได้ 4 ข้อว่า

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

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

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

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

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

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

เอาพอหอมปากหอมคอ ถ้าอยากได้ละเอียดกว่านี้พบกันที่ ซอฟแวร์ปาร์ค วันที่ 28 นี้ครับ

Advertisements

ใส่ความเห็น

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out /  เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out /  เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out /  เปลี่ยนแปลง )

w

Connecting to %s