ลักษณะพิเศษ

posted on 08 Aug 2008 07:35 by wonam in softdev

นักระเบียบวิธี Alistair Cockburn ได้สังเกตว่าระเบียบวิธีในการพัฒนาซอฟต์แวร์หลายแบบล้มเหลวเพราะว่าไม่สนใจลักษณะทั่วไปของคน  เขาเรียบเรียงลักษณะดังกล่าวออกมา 5 ข้อ คือ

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

ทีนี้จะทำอย่างไรให้กระบวนการใหม่ "ติด"

หลังจากไล่พิจารณาตามข้างต้น ก็มีสองทางให้เลือก: (1) สู้โดยการใส่ระเบียบวินัย กับ (2) สู้โดยการสร้างวิธีที่ทนต่อลักษณะของคนได้

เขายกตัวอย่างกระบวนวิธีสามอันคือ Cleanroom, PSP และ Extreme Programming (XP) ที่สู้ด้วยข้อ 1 และสังเกตว่าสองวิธีแรก แนวปฏิบัติที่ต้องการวินัยที่ใส่ลงไปมักไม่ค่อยติด เพราะว่าระบบไม่มีกระบวนการที่คอยช่วยรักษาให้แนวปฏิบัติดังกล่าวคงอยู่  ส่วน XP นั้นมีหน้าที่ Coach ที่คอยดูแลให้ทุกคนอยู่ในแนวปฏิบัติที่ใช้

ส่วนกระบวนวิธีที่เลือกทางที่สอง Cockburn ยกตัวอย่างมาสองแบบ (เขาบอกว่าเท่าที่ทราบมีแค่สองแบบ) คือ Adaptive Software Development กับตระกูล Crystal (ของ Cockburn เอง) 

เขาบอกว่าระบบที่ใช้ระเบียบวินัยมักยากที่จะทำให้เกิดขึ้นได้ แต่อาจจะมีประสิทธิผลดีกว่า  ส่วนระบบที่เลือกจะทนกับสภาพของคนน่าจะนำไปใช้ง่ายกว่า แต่ประสิทธิผลที่ได้อาจต่ำกว่า (สังเกตว่าเขาใช้คำว่า "อาจ/อาจจะ" ในส่วนของประสิทธิผลที่ได้)

Comment

Comment:

Tweet

"ชอบที่จะคิดค้นอะไรต่าง ๆ เอาเองแทนที่จะเลือกหาของที่มีอยู่แล้ว"
นักเรียนโปรเจคอาจารย์คนนึงเลยนะนั่น confused smile

แต่ละข้อที่ว่ามาเนี่ยโดนๆทั้งนั้น ส่วนของพวกผม อย่าว่าแต่ Process เลย แค่ดันกันให้เริ่มทำงานก็ยากแล้ว

#4 By CyberAlchemist on 2008-08-10 02:49

คุณ plynoi: อ่านแล้วสะดุ้งเหมือนกันครับ
พี่ป๊อก: ผมยังหาอ่านไม่ได้เลยครับ ตอนนี้อ่านเล่ม Agile Software Development ของเขา มีให้อ่านได้ที่วิกิของเขาครับ http://alistair.cockburn.us/index.php/ASD_book_extracts (เพิ่งเจอเหมือนกันครับ)

#3 By wonam on 2008-08-08 23:45

น่าสนใจครับ ต้องไปหาหนังสือ crystal clear มาอ่านเสียแล้ว

#2 By pphetra (58.10.90.140) on 2008-08-08 14:52

-ชอบที่จะล้มเหลวแบบธรรมดา
-ชอบที่จะคิดค้นอะไรต่าง ๆ เอาเองแทนที่จะเลือกหาของที่มีอยู่แล้ว

อืม บ. ตัวเองเลยนี่หว่า

แต่ส่วนตัวผมเองก็ผสมๆ กันนะ บางอย่างเอาที่มีอยู่แล้วมาทำต่อก็ง่ายกว่า แต่บางอย่างก็อยากทำเองตั้งแต่ต้นเลย

#1 By plynoi แว่วศรี on 2008-08-08 11:31