แผนถอย แผนสำรอง แผนสอง แผนที่ไม่ใช่แผนหลัก

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

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

ในการสร้างซอฟต์แวร์เองก็ต้องมีการวางแผนเช่นกัน แต่ผมยังไม่ขอพูดถึงการวางแผนในระดับใหญ่หรอกนะ เอาแค่ระดับเล็ก ๆ ก่อน แค่ระดับการสร้างซอฟต์แวร์ของคน ๆ นึงก็พอ

แผนภาพผังงาน

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

จะเห็นว่ากลไกแผนสำรองซึ่งเป็นสีแดงนั้น กินพื้นที่ถึงหนึ่งในสามของผังงานทั้งหมด แต่มันกลับมีโอกาสเกิดขึ้นได้แค่ 1% เอง คุ้มมั้ยเนี่ยที่ต้องร่างแล้วทำมันขึ้นมา ก็ในเมื่อมันแค่ 1% เองน่ะ ฉอด ๆ ๆ ๆ ๆ ๆ

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

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

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

[tags]แผนถอย, แผนสำรอง, แผนสอง, แผนหลัก[/tags]

Related Posts

12 thoughts on “แผนถอย แผนสำรอง แผนสอง แผนที่ไม่ใช่แผนหลัก

  1. 1%ที่ทำให้งานหยุดชะยังนี้ก็ไม่คุ้มจะให้มันเกิดน่ะครับ แต่ปัญหามันอยุ่ที่ว่าเราจะมองเห็นมันทั้งหมด
    ได้ยังไงมากกว่า

  2. เห็นด้วยกับคุณ memtest ครับ
    ว่าแต่ในกรณีที่เรามี ทรัพยากรมนุษย์จำกัด ไม่ว่าจะด้วยเหตุผลใดก็แล้วแต่
    เราควรจะมีเทคนิคยังไงเพื่อที่จะ มองภาพของแผนสำรอง ออกโดยที่ ไม่กระทบกับ แผนหลักบ้างมั๊ยครับ (ผมกะลัง ผจญปัญหาอยู่ และอย่างที่พี่บอก หน้างานอย่างเดียวเลยครับ จะแย่อยู่แล้ว)

  3. ตอนนี้มีปัญหาเรื่องVersioning มากเลยครับ
    เพราะผมCodingที่เครื่องที่ห้อง แต่เวลานัดทำงานร่วมกันผมก็จะCodingที่เครื่องของเพื่อนที่เป็นserver เลย
    ทำให้งงเรื่องเวอร์ชั้นของไพล์ ไม่รู้ว่าตัวไหนเป็นตัวเวอร์ชั้นล่าสุด

  4. คุณ memtest ลองใช้ Source Safe หรือยังครับหรอใช้พวก CVS ก็ได้น่ะแต่ที่ผมใช้กับ team คือ “White Board” ครับ 🙂

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

    ส่วนเรื่อง version control ผมว่าคุณ cookievirus น่าจะแนะนำได้ดีกว่าผมน่ะคุณ memtest

  6. ปัญหามันอยุ่ที่ว่าเครื่องเซอร์เวอร์คือเครื่องเพื่อนผมน่ะครับ อยู่กันอีกหอนึง
    ส่วนเครื่องผม(Coding)อยุ่อีกหอนึง ทางกายภาพมันไ่ม่ได้น่ะครับ

  7. ถ้าเรื่องเลข version ล่ะก็หลายๆคนคงรู้แล้วคือ (ผมก็เอามาจาก internet ครับแต่ปรับๆให้เข้าใจง่ายๆ)

    เลข VERSION มันเป็นแบบนี้ครับ.

    เช่น 2.13.100.8

    2 คือเลข Major Version
    13 คือเลข Minor Version
    100 คือเลข Build Version
    8 คือเลข Reversion Number หรือเรียกว่า bug fix number.

    Major Version จะเปลี่ยนก็ต่อเมื่อมีการเปลี่ยนแปลงโปรแกรมแบบสุดๆ
    Minor Version ถ้ามี function เพิ่ม class เพิ่มอะไรอย่างนี้
    Build Version นี้ก็ build ออกมาครั้งที่เท่าไหร่ กี่ครั้งแล้ว..
    Reversion Number ก็เป็นแบบประมาณว่าออกมาเพื่อ fix bug อะไรแบบนี้

    อีกอย่างก็คือ ถ้าเป็นเลขคี่นี้มันจะใช้กับ Developer version ส่วนเลขคู่นี้คือ Release version

    -> ถึงคุณ memtest แล้วเพื่อนของคุณ memtest เขียน code ด้วยหรือเปล่าครับถ้าไม่ครับ ผมบอกได้เลยครับว่า Source Safe ของ Microsoft นั้นค่อนข้างจะ Ok เลยครับเพราะถ้าเครื่อง server ไม่มี fix ip นี้เราก็ค่อย forword port ที่อยู่ของ Server ออกไป (หา ip ของ server ไปเรื่อยๆถ้า ISP เค้าแจกมายังไงก็ต้องค่อยตามอ่ะครับ วิธีนี้ลำบาก) แต่ถ้า Fix IP สบายเลยครับงานนนี้ไม่ต้องคิดมาใส่ IP ตามที่ server ได้เลย.

    copy main sourcecode -> source-safe[server]

  8. [post ส่วนที่เหลือไม่ขึ้นเลยต้องรบกวนอีก comment]

    แต่ถ้าปฏิบัติอย่างที่บอกไม่ได้ ต้องใช้แรงคนล่ะครับคือ copy แล้วเปลี่ยน folder ตามชื่อ version ก็ ok แล้วล่ะจากนั้นก็ส่งไปให้เพื่อนคุณ memtest น่ะที่ทำงานผมใช้ทั้ง 2 แบบคือ source-safe[fix ip] กับ แรงคนเนี้ยครับแต่ตอนรวมต้องลำบากหน่อยน่ะ 🙂

    Happy Coding,
    cookievirus@hotmail.com

  9. ขอบคุณcookievirus สำหรับเรื่องVersionของไพล์และวิธีการใช้Source Safe
    แต่สงสัยตรงที่ว่าIPของServerมันเป็นipที่มาจากLanในหอน่ะซิครับ
    ไม่รู้ว่าSource Safeจะรู้จักipนี้รึเปล่า สงสัยผมคงต้องรบกวนส่งเมลไปถามคุณcookievirus
    แล้วล่ะครับ รบกวนหน่อยนะ่ครับ

  10. อืมมมม นั้นสิเนาะถ้ามีอะไรสักอย่างที่ระบุเป็นตัวเราได้บน Internet คงจะง่ายขึ้นน่ะครับ แล้วถ้าเป็นพวก free web space. ขอพื้นที่แล้ว upload ขึ้นไปจากนั้นระบุ URL ลงไป น่าจะได้(หรือเปล่าล่ะ)ครับ อันนี้ผมยังไม่เคยลองแต่คิดว่าน่าจะพอมีทางเป็นไปได้น่ะเดี๋ยวผมลองถามน้องๆที่เก่งเรื่องพวกนี้ เค้าดูให้ล่ะกันครับ.

    Happy Coding,
    cookievirus@hotmail.com

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *