คำต้องห้าม ถ้าคิดจะเริ่มทำอไจล์

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

สองคำที่ห้ามพูดเด็ดขาดว่าจะทำ หรือกำลังทำอยู่คือ

1. Pair Programming

การทำ pair programming นั้นคือ การใช้ resource สองคน ทำงานชิ้นเดียวกัน ถ้าหากไม่สามารถการันตีได้ว่า จะได้งานออกมาสองเท่า ซึ่งไม่เคยมีใครสามารถทำได้ ก็จะถูกมองในแง่ของการใช้ resource ที่ไม่คุ้มค่า และไม่มีทาง ที่ resource manager จะอนุมัติอย่างเด็ดขาด แต่ความจริงแล้ว จากนั่งทำงานกันสองคนนั้นเป็นสิ่งที่เราทำอยู่เป็นประจำอยู่แล้ว เพราะฉะนั้น เพียงแค่อย่าพูดคำว่า pair programming แล้วนั่งทำงานด้วยกัน ตามความจำเป็น เพียงแค่นั้นเราก็ได้ประโยชน์ของการทำ pair programming โดยไม่ต้องมีปัญหาใดๆ

2. TDD

Test Driven Development คือการที่จะต้องเขียน test ให้ครอบคลุม business cases ก่อนที่จะเขียนโค้ดจริง การทำเช่นนี้จะต้องในแรงงานและเวลามาก และได้งานช้าลง ถือเป็นการลงทุนด้าน resource อย่างหนึ่งเพื่อแลกกับคุณภาพ การวัดผลทำได้โดย การหาค่า test coverage ซึ่ง resource manager จะใส่ใจกับเรื่องนี้มากว่า เมื่อลงทุนแล้ว ต้องได้ผลลัพธ์ที่ดี เพราะฉะนั้น coverage จะต้องเป็น 100% หรือใกล้เคียง 100% ให้ได้มากที่สุด แต่ความเป็นจริงแล้ว โค้ดที่สมควรม test cases นั้นคือโค้ดส่วนที่เป็น business logic เท่านั้น ซึ่งไม่มีใครบอกได้ว่า เป็นกี่ % ของโค้ดทั้งหมด และ เมื่อคำนวณค่า coverage แล้วไม่มีอะไรบอกได้ว่า test cases เหล่านั้นมีคุณภาพอย่างไร เพราะฉะนั้นถ้าหากมีการกำหนดเป้าหมาย coverage ที่ 100% หรือใกล้เคียงแล้ว ทางออกที่ดีสำหรับ programmer อย่างเราๆ คือ return true; เพื่อให้ตัวเลข % สวย และเอาเวลาไป focus กับงานที่สร้างคุณภาพจริงๆ จะดีกว่า

Advertisements

One thought on “คำต้องห้าม ถ้าคิดจะเริ่มทำอไจล์

  1. โดยส่วนตัว
    ถ้าในขั้นเริ่มจริงๆ คำว่า Agile เป็นอีกคำนึง ที่เลี่ยงไม่พูดได้ ก็จะดีมากๆ ครับ

    จากที่เจอมา คนไปรู้ผิวๆ แล้วคิดไปเองว่า Agile = scrum = no PM เยอะมากๆ ก่อ drama “กูอยู่ได้โดยไม่มีมึง” มาแล้วมากมาย แรงต้านมหาศาลถาโถมกลับมา ^_^

    แล้วเราควรทำอย่างไรล่ะ?
    ผมพูดเป็น “ผมเชื่อในตัวพี่ในเรื่อง….นะ และผมมีไอเดียจะทำเจ้า….นี่ดู น่าสนใจนะพี่ มาลงมือทำด้วยกันดีกว่าเนอะ” ^_^

ใส่ความเห็น

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 / เปลี่ยนแปลง )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s