Getting things done

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

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

## Generation 1: Redmine
ผมจำไม่ค่อยได้ว่าใช้ตัวไหนก่อนหลัง แต่เท่าที่นึกออก โครงการแรกของผมที่จะใช้ bug tracker คือ Club Distro Package Builder (ส่ง NSC11) ที่ผมจะได้ assign งานไปให้คนอื่นได้ แต่พบว่าผู้ร่วมโครงการไม่ค่อยเข้าใจการใช้ bug tracker เท่าไร ต่อมาผมก็ใช้กับโครงการ DarkWorld ซึ่งอันนี้ทำคนเดียว

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

ตอนหลัง DarkWorld เปิดซอร์สและใช้ Trac แต่ผมไม่ได้ใช้หรอก Trac มันสับสนกว่า​ Redmine มาก

## OvzCP

OvzCP เป็นโปรเจกท์ถัดมาที่ผมทำ ปัญหาคือ ผมติดเกม ฉะนั้นผมก็ใช้ bug tracker ตอนแรกๆ จำไม่ได้ว่าใช้ตัวไหน แต่ว่าจำได้ว่าต่อมาเปลี่ยนเป็น Bugzilla โดยผมจะสร้างแต่ละส่วนในโปรแกรมเป็น bug ไว้ และพอเสร็จแล้วผมก็กำหนดเป็น done ผมบอกตัวเองว่าทำวันละ 1 task แต่จริงๆ ผมมีสองกะ คือ กะเช้า ทำงานตั้งแต่ตื่นยันประมาณห้าหกโมงที่จะต้องออกไปกินข้าวแล้วก็พ่อแม่กลับมา คือไม่หยุดไม่ได้เพราะมันจะมีการรบกวนทำงานไม่ได้อยู่ดี ส่วนกะดึกคือทำอีกงานต่อถ้ามีอารมณ์ทำ (อยู่ดีๆ มันมีไฟของมันเอง) ก็จะประมาณห้าทุ่มกว่าเป็นต้นไปจนง่วงนอน

ปัญหาของการใช้ issue อย่างนึงคือ ผมจะถือว่าทุกงานมีเครดิตให้ผมเล่นเกม ผมเล่นเกมไม่ได้ถ้างานไม่เสร็จ ฉะนั้นผมจะเผางานให้มันเสร็จ บางทีกดเทสรันได้ก็ถือว่าเสร็จแม้ไม่ได้เช็คทุกกรณี หรือมีแค่ create read จบ update delete “คิดว่าไม่ได้ใช้” ก็ไม่ต้องทำ และอีกปัญหานึงคือบางทีผมโกงตัวเองด้วยการแตก issue นึงเป็นอันย่อยเยอะๆ แล้วทำวันละอันสองอันพอ ปัญหาสุดท้ายคือเพราะ issue มีเครดิต ฉะนั้นอะไรที่ไม่อยู่ใน bug tracker จะครีใหม่ก็เสียเวลา ผมก็จะงี่เง่าไม่ทำมันเพราะทำไปก็เสียเวลาเล่นเกม

จริงๆ วิธีนี้เหมือนที่บางบริษัทบอกน่ะครับ “คุณจะลากี่วันก็ได้ แต่งานต้องเสร็จตามกำหนด”

project ถัดมาของผมคือ project Sora ปัญหาคือ project นี้ผมไม่ค่อยจะอยากทำเท่าไร ก็เลยกลายเป็นว่าผมไม่ได้สนใจจะเปิด issue tracker และแน่นอน มันไม่เสร็จ (ตอนนั้นผมใช้ bug genie ซึ่งตอนหลังผมเลิกใช้ bug genie เลย ถึงมันจะเจ๋ง แต่ผมมีตัวเจ๋งกว่า…)

## menome & Kyou

ต่อมาผมเห็น @llun ทำโปรแกรมชื่อ [Taskboard](https://github.com/llun/taskboard) ก็เลยมาลงดู และย้าย issue menome ทั้งหมดไปลงใน Taskboard โดยระบบนี้เรียกว่า Kanban (ไม่เกี่ยวกับการบ้านแต่อย่างใด) โดยกระดานมันจะมี 4 อัน คือ Todo, In progress, Verify, Done (จริงๆ มี Pending แต่ไม่ใช้หรอกเพราะมันลับตา) งานก็เหมือนแผ่นที่แปะ ลากข้ามอันไปมาได้เลย

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

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

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

# การบ้าน

ผมไม่ชอบสมุดจดการบ้าน มีอดีตที่ไม่ค่อยดี และผมไม่ชอบจด มันเลยกลายเป็นว่าทำการบ้านเสียเวลาเล่นคอม ผมไม่ทำดีกว่า แต่พอม. ปลายมี Nexus One ใช้ เลยลองใช้ [Astrid](http://astrid.com) ดู พบว่าทำงานได้ดีขึ้น

คืออย่างนี้ครับ ผมไม่ชอบจด แต่จิ้มๆ เนี่ยชอบ ผมเลยจดงานใส่ Astrid เคยมีครูถามว่าเธอไม่จดงานหรอครูบอกงานทั้งเทอมไปแล้วนะ ผมก็ชูเนี่ยผมจดแล้วในมือถือ ครูก็ถามต่อว่าไม่กลัวมันหายหรอ ผมบอกว่ามัน sync ครับไม่หายหรอก (ผมว่าจดใส่กระดาษ หายแน่นอน..) แล้วพอมันอยู่ในมือถือ มันจะขึ้นใน home screen บางทีเผลอปัดไปก็จะเห็น อ้าว มีงาน ก็จัดเวลาทำเอาเองตามกำหนดส่ง ฉะนั้นตอนไหนที่ astrid โล่งมันจะแบบว่า HELL YES!!!

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

เทอมนี้ว่าจะลองใช้ Any.Do ครับ ก็รอดูว่าจะดีกว่า Astrid ไหม

ปล. บล็อคโค้ดแจมขอดองนะครับ อิอิกำ

SBG: What I learned

“การเรียนทำให้มีงานทำ กิจกรรมทำให้ทำงานเป็น”

ผมเคยถามพ่อว่าผมเขียน PHP เป็นตั้งแต่ป. 4 (ไปเที่ยวแล้วไม่อยากไป ตอนนั้นบ้านไม่มี laptop เลยตัดสินใจซื้อหนังสือ PHP มาอ่านมาทำ แต่ผมก็จำไม่ได้นักหรอกว่าเขียนเป็นคือเขียนตามหนังสือหรืออะไร แต่ว่าผมเริ่มจากตรงนั้น) เนี่ยผมจะเขียนได้มั้ยว่าวันนี้ประสบการณ์ PHP ผม 7 ปี พ่อบอกว่า ถ้าเขียนแล้วมันมีคนใช้มันมีคนให้ทำอันนั้นสิถึงจะนับ (ก็คงอาจจะต้องเริ่มนับจาก project scale ใหญ่อันแรกของผม Monster Land v1 ตอนป. 6)

ตอนทำ project scale โตๆ พวกนี้ผมทำแบบ Bodyslam ครับ Bodyslam บอกว่า “ชื่อวงเรามาจากที่เราขึ้นคอนเสิร์ทเราจะทุ่มสุดตัว” เช่นเดียวกันผมทิ้งเวลาให้เลย เช่นตอนป. 6 กลับจากโรงเรียนผมไม่สนใจเรื่องโรงเรียนแล้วทำ Monster Land อย่างเดียว เขียน Beta 2 ในสามวัน เขียน Beta 3 และรุ่นสุดท้ายเป็นสัปดาห์ สมัยนั้นผมเปิคดอมหลังเลิกเรียนไม่ได้ผมก็ต้องแอบเปิดและทำเพื่อให้งานมันเสร็จ บางทีพ่อมาปิดปลั๊กทันที

Monster Land ทุกครั้งที่ผ่านมาทำให้ผมเห็นคำว่า Trust ผมเชื่อมั่นว่าเขาโค้ดได้เขาจะมาช่วยงานผม สุดท้ายเขาโค้ดได้ไก่เขี่ย เขาไม่เคยเข้าใจเอนจิ้นเกมสักตัว แม้แต่ระบบสมัคร ระบบ invite ทำงานยังไงก็ไม่รู้ เค้ารู้แค่ว่า admin ui ทำงานยังไง เข้า ftp ยังไง และวันนึงเค้าทำระบบมันพัง ผมต้องเข้าไปแก้หลังเลิกเรียน สุดท้ายพอถึง beta 3 ออกมาเขาบอกว่าผมทำทำไมเสียเวลาทำแล้วตัดของออกแล้วคนเล่นเลิกเล่นหมด ผมวางแผนว่า beta 3 เป็น rewrite ui ใหม่และให้ 4 ออกมาสมบูรณ์แบบซึ่งเอนจิ้นรุ่น beta 2 ไม่มีทางทำได้ ปรากฎว่าได้ยินคำนี้ไปผมเสียกำลังใจและตัดสินใจปิดเกมในวันนั้น..

หลายปีต่อมาเราได้คุยกันอีกครั้งหลังจบป. 6 ไป วันนั้นที่จบป. 6 มีการแจกภาพรุ่นของห้อง ผมให้เพื่อนๆ เซ็นหลังภาพ แล้วหลังกิจกรรมของโรงเรียนผมกลับบ้านไปโดยไม่ได้บอกลาใครเลย แม้เราจะไม่ได้เจอกันอีกเลยหลังจากวันนั้น วันที่ผมเจอเขาอีกครั้งเขาชวนผมทำเกมอีก ผมก็โอเคทำก็ทำเพราะผมเบื่อๆ อยู่ เลยทำเกมขึ้นมาใหม่ คราวนี้ผมใช้ Python ซึ่งเขาทำอะไรไม่ได้แน่ แต่คือผมบอกเองเลยว่าผมเห็นจาก Monster Land แล้วว่าผมทำงาน scale ใหญ่ไม่ได้ถ้าไม่มีคนเร่ง ตอนนั้นเพื่อนผมโทรมาถามความคืบหน้าเกือบทุกวัน ก็เลยต้องยอมให้เขามาทำและสุดท้ายมันซนเอารหัสในฐานข้อมูล (ไม่มี salt) ไปใส่ md5 cracker เล่นแล้วเอามาล็อคอิน ผมตัดสินใจทันทีที่มันเอารหัสผมมาอวดกดปิดเซิร์ฟเวอร์ทันที และหลังจากนั้นเกมนี้ก็หายไปจากโลกไม่มีอีกเลย

หลังจากนั้นมี project DEngine อีก แต่ผมจำไม่ค่อยได้ว่าเราเลิกกันไปเพราะเหตุผลอะไร

ครั้งสุดท้ายที่เราร่วมงานกันคือ DBot ผมบอกว่าผมเห็นแล้วอยากบอต เลยเขียนบอตมา ตอนแรกผมลองแล้วล้มเหลวเขาก็โทรมาหลายๆ ครั้งจนผมคิดว่าเอาวะก็ได้ เลยเปลี่ยนวิธีการและก็เปิดซอร์สการพัฒนามาตลอดบน github แต่แน่นอนว่าไม่ใช่ทุกคนที่จะหัว open source เพื่อนผมต้องการ monetize โครงการ ผมตกลงว่าผมจะ ship core + example เท่านั้น ส่วนฟีเจอร์ advance ให้ไปเขียนเอาเอง ซึ่งที่ผม ship คือออกจากเมืองไปตีมอนในด่านนอกเมืองแล้วฮีลได้ ซึ่งระบบตีและระบบฮีลเป็น core engine ปรากฎว่าเขาพยายามจะแก้ไขแต่ด้วยความที่เขียนโปรแกรมไม่เป็นเลยได้แต่เปลี่ยน string อะไรนิดหน่อยและมันไม่ work เขาว่าของผมไม่ดี ขนาด captcha มันยังถอดไม่ได้ (ต่อมาผมบอกว่าผมทำให้ว่า captcha ขึ้นแล้วขึ้นเตือนแล้ว เขาก็บอกว่าไม่ดีพอ) สุดท้ายผมโมโหว่าถ้าคุณไม่คิดจะเขียนอะไรเลยจะมาหลอกใช้ผม แถมจะเอาสิ่งที่เป็นไปไม่ได้คุณก็ไปทำเอาเอง

เวลาผ่านไปผมรู้จักเพื่อนกลุ่มใหม่และเราจัดตั้งทีม Sunburn Group กัน ตอนแรกเราคุยเรื่องจะทำนิตยสารกัน เราแนะนำว่าจะทำ HTML5 ไปเลย ในกลุ่มก็โอเคกัน ต่อมาผมแนะนำกันในกลุ่มนักพัฒนาในกรุ๊ปว่าจะทำ myAnimeList clone และเพื่อให้มีทีมงานเลยเอาเข้า SBG กันและก็เป็นที่มาของ menome

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

ผมเริ่มเฟสตัวเองออกและให้ทีมกราฟฟิคทำงานได้เต็มที่ แต่ด้วยปัญหาอุทกภัยเราต้องย้ายกันไปทำให้เน็ตเราไม่ได้เต็มสปีด ทีมกราฟฟิคที่ควรจะเริ่มงานแล้วก็หยุดหายไปมาเป็นระยะๆ และปลายเดือนหายไปเลย ผมเริ่มบ่นๆ กับเพื่อนเรื่องนี้และพอพ่อถามผมก็เล่าให้ฟัง พ่อบอกว่า โครงการนี้มันมีแต่คนอยากเห็น แต่ไม่มีคนอยากทำ เลิกทำเถอะ ผมก็ทวิตไปตามที่ได้ยินมานั้นก็ทำให้โครงการนิตยสารมันกระตุ้นมาอีกครั้ง หลังจากประชุมสุดท้ายกำหนดวันออกไว้เดือนนี้แล้วก็เงียบหาย ผมทวงไปสองสามรอบว่าจะเอาคอลัมน์ก็ไม่มีใครทำ สุดท้ายผมได้เจอพี่ผมที่ทำงานที่ mars magazine เลยได้ไอเดียมาลองทำเอง ทำเองหมายถึงว่าผมทำทั้งหมดคนเดียวตั้งแต่กราฟฟิค layout content พอออกมาได้รับเสียงตอบรับ “คำแปลไม่ดีเหมือน Google Translate” มีคนมาช่วยเหลือจากนอกกลุ่ม แต่ผมเองชอบคำแปลอันนั้น (ผมไม่ได้รู้ญี่ปุ่นเลยไม่รู้ว่าคำแปลมันดีแค่ไหน แต่ว่ามันเป็น first impression เลยมีค่าสำหรับผมอยู่บ้าง) ก็เลยไม่ได้ตอบไป (จริงๆ คือผมเห็นแล้วแต่ว่าพอมันไม่ใช่ format ที่ผมสนใจเลยปิดเลยแล้วก็ไม่ได้ตอบอะไรเพราะในทวิตก็ไม่ได้เมนชั่นผม) แล้วก็มางอนผมซะอีกว่าเสียเวลาให้แล้วผมไม่ยอมทำอะไร ผมไปขอโทษเค้าก็คงงอนแล้วและไม่ได้ตอบอะไร ก็เลยเอาเถอะช่างมันแล้วกัน แต่ผมก็คิดอยู่ว่าในสถานะตอนนี้เราไม่ได้อยู่ในสถานะที่เลือกได้ว่าคนนี้ช่วยเรารับมั้ยหรือไม่รับ

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

จนมาถึงวันนี้ที่ทำให้ผมยั้วะจนต้องมาเขียนบล็อคอันนี้ ผมทำ .anime อยู่ตามที่กำหนดไว้และบอกว่าใครก็ได้ไปอัพเดตข้อมูลใน menome ให้หน่อย เพราะเรื่องที่เป็นตอนๆ มันต้องอัพเดตตลอดถ้ายังฉาย ผมทำทุกวันเสาร์แต่วันเสาร์ผมไม่ค่อยมีเวลาเพราะทำ .anime ด้วย สิ่งที่ผมได้? Like หนึ่งอันและสุดท้ายผมต้องนั่งคีย์เอง

แถมวันก่อนตอนผมทำ .anime ผมบอกว่าใครก็ได้จับภาพ ben-to มาให้หน่อยของผมมันเป็น hardsub คำตอบที่ได้ “ไปโหลด raw มาแคปเอง”

นี่มันอะไร.. ผมตำแหน่งอะไรกันแน่ ผมไม่ใช่พระเจ้าผมมีขีดจำกัดอยู่ สุดท้ายทั้งหมดที่ผมเขียนไปผมก็ทำเองได้ แต่ว่าถ้าผมหยุดและทำงานเท่ากับคนอื่นจะเกิดอะไรขึ้น? ที่ผมไม่ทำแบบนั้นเหลือเพียงแค่เหตุผลเดียวคือผมรักสิ่งที่ผมสร้าง menome เป็นเหมือนลูกรักที่ผมต้องดูแลให้รอดในช่วงทารกแบบนี้ แต่ .anime ไม่ใช่ ถ้าผมเสร็จเล่มนี้แล้วถ้ายังทำตัวแบบนี้ผมไม่รับประกันว่าเล่มหน้าผมยินดีจะออกให้อีก แล้วผม *เชื่อ* ว่ามันจะมีคนมาทำแบบตอนผมทวงงานว่าเฮ้ยทำไมส่งงานแล้วไม่ยอมทำ กลายเป็นว่าผมเป็นตัว blocker อีก

สิ่งที่ผมได้จากการทำงานเป็นกลุ่มกับนักเรียนคือ

– นักเรียนทำงานแบบทำการบ้าน ผมเคยพูดเล่นๆ ไปแล้วว่าทำอันนี้คือเราทำด้วยใจไม่มีใครบังคับ อย่าทำส่งมาแบบการบ้านที่แบบว่าครูสั่งเปิดเทอมให้ส่งก่อนสอบแล้วใกล้สอบค่อยทำแล้วบอกไม่มีเวลา ตอนแรกผมก็คิดว่าเออกลุ่มนี้น่าจะเข้าใจเพราะทุกคนชอบอนิเมะ แต่กลายเป็นว่าสุดท้ายมีเรากับพี่แมวที่ทำตลอดถ้ามีคำสั่งนอกนั้นทุกคนลอยตัว
– Assign อะไรจี้ถึงตัวเท่านั้น ถ้าผมบอกใครก็ได้ปุ๊บมันจะไม่ใช่ธุระกูแล้วสุดท้ายไม่มีใครรับไปทำแล้วมันก็ไม่เสร็จ ที่ผมไม่ชี้ตัวเพราะไม่รู้จะชี้ใครและมันไม่ดีเพราะเขาจะมองว่าทำไมต้องเป็นกู (เสียใจด้วยเธอเป็นแพะรับบาปที่ทั้งกลุ่มไม่ยอมทำงาน)
– Roadmap เขียนให้ชัดเจนเสมอให้เราเห็นว่างานยังอีกเยอะ งานนี้เสร็จแล้วทำอันนี้ ตอนนี้ไม่มี roadmap .anime ผมต้องมาถามเรื่อยๆ ว่าเสร็จอันนี้แล้วเนี่ยให้ทำอะไรต่อ ไม่มีคำตอบผมก็ลอยตัวบ้างละ
– Issue tracker เป็นกุญแจสู่ความสำเร็จ ตอน OvzCP ผมใช้ bugzilla file ทุกงานไว้ วันนึงผมตื่นมาผมบอกตัวเองว่าวันนี้จะทำอะไรก็ได้แต่ต้องปิด 1 issue และ issue บางอันง่ายขี้ไก่ทำห้านาทีเสร็จก็มี ผมก็ถือว่าทำแล้ว บางทีดึกๆ มาปิดเองอีก 1 issue ก็มีเพราะมันสนุก แต่คือพอถึงวันนึง issue ขี้ไก่จะโดน issue ยากๆ block และผมไม่มีทางเลือกนอกจากจะทำ สุดท้ายงานจึงเสร็จตามกำหนดเวลาได้แน่นอนและมีคุณภาพเพราะไม่ได้ฝืนตัวเอง ตอน DEngine ผมก็ใช้ model นี้ สำหรับกลุ่มนี้ผมเคยลากเข้าไป issue ทีนึงสุดท้ายไม่มีใครใช้เป็นและเลิกใช้กัน ผมเคยหลายครั้งแล้วที่พาเด็กมัธยมเข้าไปใช้ issue tracker แต่ไม่เคยรอดกลับมาสักครั้ง กลุ่มนี้ก็เหมือนกันผมเคยลากเข้าไปและไม่มีใครใช้สุดท้ายใช้ fb docs อยู่ดี แต่มัน assign ชี้เป้าหมายไม่ได้
– VCS สำคัญมากเวลาทำงานกลุ่ม ผมต้องมานั่ง sync ขึ้น sync ลงเสียเวลา บางทีอัพทับกัน บางทีต้องรอคนโน้นทำงานให้เสร็จไฟล์นี้เพียงแค่ข้ออ้างว่าคอมแรงไม่พอจะรัน git (ขอโทษ เครื่อง 333MHz ram 256 ผมมี svn git hg และรัน apache mysql นะครับ) แต่ปัญหาอีกอันนึงที่จะเจอคือ programmer ไม่มาจากสาย unix จะไม่เข้าใจ vcs อันนี้ผมไม่รู้จะแก้ยังไง จะบอกใช้ gui ก็จะบอกเครื่องไม่แรง จะบอกใช้ github for mac ก็ไม่มี mac -_-‘ ทั้งๆ ที่จริงๆ ถ้าเข้าใจแล้วจะพบว่าใช้แค่ add commit push
– อันนี้จากประสบการณ์ที่โรงเรียนคือหัวหน้ากลุ่มควรจะ assign งานให้เป็นเพราะถ้าปล่อยไว้สมาชิกในกลุ่มจะลอยตัว ผมก็ลอยตัว คือถ้าเข้าไปยุ่งเหมือนจะไปเสือกงานเขา เหมือนแกว่งเท้าหาเสี้ยนมากกว่าเลยไม่มีใครอยากยุ่ง ฉะนั้นคนที่เป็นหัวหน้าจะต้อง assign ชี้ไปเลย หรือไม่ชี้ก็ต้องตกลงกันให้ได้ว่าใครจะทำเดี๋ยวนั้น ถ้าแปะ task ไว้หนึ่งอันไม่มีใครหยิบไปหรอก