Tag Archives: software

จุดประกาย : ทำไม Softwareต้องมี bug (ตอนที่ 2)

จุดประกาย : ทำไม Softwareต้องมี bug (ตอนที่ 2)

– การพัฒนาระบบอย่างต่อเนื่องเพื่อไล่ตาม requirement

จุดประสงค์ของ software ที่ใช้ในธุรกิจส่วนใหญ่ ทำออกมาเพื่อตอบรับความต้องการของธุรกิจหลักขององค์กรที่ใช้ระบบนั้นๆ เพื่อให้ธุรกิจเป็นไปอย่างแข่งขัน (low cost + high efficiency) กลยุทธ์ของธุรกิจจึงมีการเปลี่ยนแปลงตลอดเวลา ส่งผลให้ระบบ software requirement ต่างๆจำเป็นจะต้องมีการปรับเปลี่ยนอยู่บ่อยๆ หากแต่การปรับเปลี่ยนโครงสร้างของระบบให้สอดคล้องกับความเปลี่ยนแปลงที่เกิดขึ้นเรื่อยๆนั้น นับมีความท้าทายอยู่อย่างมาก โดยเฉพาะอย่างยิ่ง เมื่อเวลาผ่านไปจนบุคคลกรที่พัฒนา software เกิดการหมุนเวียน บางคนถูกย้ายไปทำงาน project อื่น บางคนลาออกจากบริษัท หรือบริษัท/ตัว product ถูกซื้อไป การรับช่วงต่อเปลี่ยนมือคนทำ software ที่ไม่ได้มีการดำเนินการที่ดี โดยเฉพาะเอกสารที่ไม่ครบถ้วนหรือ update ก็เป็นการเปิดโอกาสที่ทำให้เกิดbug ได้เช่นเดียวกัน

– การ test ทุกอย่างที่เป็นไปไม่ได้
ลองนึกถึง web application ตัวนึงที่มี 5 use case แต่ละ use case มี 20 test cases เท่ากับว่าเรามีทั้งหมด 100 test cases หากในตลาดมี browser เป็น ie, firefox, safari ก็คูณไปอีก 3 = 300 แต่ว่าแต่ละ browser ก็ยังมีการ settings/addon (javascript, flash, security options) ต่างๆกัน และมี major/minor version ก็ทวีคูณกันขึ้นไปอีก (นี่ยังไม่รวม version ของ OS, screen resolution และลำัดับการกรอกข้อมุลและอื่นๆ) การ test ทุกอย่างในทุก environment จึงเป็นไปไม่ได้ที่จะทำให้เกิดขึ้นใน timelineของprojectและคุ้มค่ากับต้นทุนการ testได้ ดังนั้นการออกแบบกลยุทธ์ในการ test (test strategy)ที่ทำให้เกิด Smart Testing โดยไม่testทุกอย่างแต่ยังได้ testสิ่งที่ควรจะถูกtest และให้ได้coverage ที่ดีที่สุดจึงเป็นหัวใจสำคัญและเป็นความท้าทายที่ถูกถกเถียงกันในวงการ testing มานาน อย่างไรก็ตาม แม้ว่า test strategy จะถูกคัดสรรค์มาดีแค่ไหน การที่ไม่ได้ test ทุกอย่างและเว้นไปในแค่รายละเอียดย่อยเล็กน้อยล้วนก็เป็นการเปิดช่องให้มีโอกาสให้มี software bug เกิดขึ้นได้ หากแต่ว่าผลกระทบของการมี bug เหล่านั้นน่าจะส่งผลที่น้อยที่สุดต่อผู้ใช้และธุรกิจของผู้ใช้ระบบนั่นเอง พบกับการบรรยายหลากหลายมุม เรื่อง Smart Testing ได้ในงาน SPIN Day เดือน พ.ค นี้ครับ

Continue reading จุดประกาย : ทำไม Softwareต้องมี bug (ตอนที่ 2)

จุดประกาย : ทำไม Softwareต้องมี bug (ตอนที่ 1)

ผมขอเริ่มต้นการจุดประกายครั้งแรก ด้วยหัวข้อ “ทำไม Softwareต้องมี bug” ด้วยเหตุผลสองประการครับ

หนึ่งการมีตัวตนของ software bug เป็นต้นกำเนิดของอาชีพ software tester (สงสัยนี่ก็อาจเป็นส่วนนึงที่ทำให้ชื่อ webนี้เป็น welovebug กระมังครับ 555)

สอง เคยมีคน(นอกวงการ IT)ถามผมว่า ทำไมคนในวงการ ITก็มีแต่เก่งๆทั้งนั้น projectแต่ละอันก็ราคาหลายแสนหลายล้านแต่ก็ยังทำระบบที่ไม่มีbugออกมากันไม่ได้ แม้กระทั่งบริษัทชื่อดังและรวยที่สุดอย่าง Microsoftก็ตาม (ตอนโดนถามก็จุกใช่เล่นครับ)

ก่อนที่จะไปไล่ดูสาเหตุของ software bug/defect กัน เรามาลองทำความเข้าใจให้ตรงกันก่อนดีมั๊ยครับ ว่า bug คืออะไรผมได้ไปรวบรวมมาจาก 3 แหล่งซึ่งความหมายค่อนข้างใกล้เคียงกันครับ

Continue reading จุดประกาย : ทำไม Softwareต้องมี bug (ตอนที่ 1)

รับจ้างพัฒนาเว็บไซต์ จะคิดราคาอย่างไรดี?

ประเดิมบล็อกใหม่ ด้วยเรื่องเงินๆ ทองๆ ฉลองศักราชใหม่นี้กันเลยน่ะค่ะเผื่อว่า หลายๆ คนอย่างเปิดธุรกิจส่วนตัว หรือ รับงานนอกในอนาคตจะได้มีสูตรในการคำนวณหารายได้เข้ากระเป๋ากันงัยค่ะ….งั้นถือโอกาสอวยพรปีใหม่ด้วยเลยดีกว่า ขอให้ รวย…ร่วย…ร๊วย ทุกข์หาย…หนี้หด กันทุกคนเลยน่ะค่ะ ในปีนี้ โชคดีค๊าาา

เขียนโดย MacroArt เมื่อ November 5, 2007 – 0:08 น.

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

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

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

วิธีการแจกแจงชั่วโมงการทำงานที่ดีควรจะแบ่งออกมาตามประเภทของงานว่าต้องใช้เวลาออกแบบเว็บกี่ชั่วโมง ใช้เวลาเขียนโปรแกรมกี่ชั่วโมง เป็นต้น ไม่ใช่สรุปออกมาเป็นตัวเลขเดียวว่า project นี้ใช้เวลาทั้งหมด 100 ชั่วโมง ซึ่งมันแทบไม่ต่างอะไรกับการบอกตัวเลขราคาเพียงอย่างเดียว

ผมมีตัวอย่างตัวเลขจากบริษัทรับพัฒนาเว็บแห่งหนึ่ง เป็นบริษัทอเมริกาที่มีออฟฟิศอยู่ในไทย (outsource งานมาที่ประเทศไทย) แต่รับงานจากลูกค้าในอเมริกา

Continue reading รับจ้างพัฒนาเว็บไซต์ จะคิดราคาอย่างไรดี?