Comments on: Software Development Team http://llun.in.th/2011/08/software-development-team/ /īm/ /ə/ /prōgræmər/ Sun, 26 Feb 2012 02:23:00 +0000 hourly 1 http://wordpress.org/?v=3.3.1 By: Process ที่ผ่านไปครึ่งปี | แนท (/næt/) http://llun.in.th/2011/08/software-development-team/#comment-673 Process ที่ผ่านไปครึ่งปี | แนท (/næt/) Sat, 07 Jan 2012 03:25:30 +0000 http://llun.in.th/?p=2235#comment-673 [...] วันแรกที่เริ่มทำจำได้ว่าการทำงานทั้งหลายมันต่างจากที่เป็นอยู่ปัจจุบันพอสมควร ยังคิดได้ไม่หมดด้วยและแทบจะไม่ฟังคนอื่นเลย ตอนนั้นคิดอย่างเดียวว่าต้องเปลี่ยนให้ได้ และจะไม่เอา Trac เข้ามายุ่งเกี่ยวเด็ดขาด (พูดง่ายๆ จะกำจัด Tools ทิ้งทั้งหมด ใครทำอะไรให้มาเล่า และ Information วิ่งหาคนแทนเข้าหาเครื่องมือ) หลังๆ พอมันวิ่งไปได้เดือนสองเดือนก็ค่อยๆ คิดถึงการปรับแก้จากของเดิมเอาเข้ามา ที่สำคัญคือช่วงน้ำท่วม เวลาว่างเยอะเลยได้อ่านหนังสือเกี่ยวกับ process พวกนี้เยอะขึ้นด้วย (Kanban, Element of Scrum, …) ก็เลยได้ปรับแก้จนเป็นรูปร่างเหมือนปัจจุบัน Task board ที่ @hybridknight เอาทุกทีมมาทำกลาง office [...] [...] วันแรกที่เริ่มทำจำได้ว่าการทำงานทั้งหลายมันต่างจากที่เป็นอยู่ปัจจุบันพอสมควร ยังคิดได้ไม่หมดด้วยและแทบจะไม่ฟังคนอื่นเลย ตอนนั้นคิดอย่างเดียวว่าต้องเปลี่ยนให้ได้ และจะไม่เอา Trac เข้ามายุ่งเกี่ยวเด็ดขาด (พูดง่ายๆ จะกำจัด Tools ทิ้งทั้งหมด ใครทำอะไรให้มาเล่า และ Information วิ่งหาคนแทนเข้าหาเครื่องมือ) หลังๆ พอมันวิ่งไปได้เดือนสองเดือนก็ค่อยๆ คิดถึงการปรับแก้จากของเดิมเอาเข้ามา ที่สำคัญคือช่วงน้ำท่วม เวลาว่างเยอะเลยได้อ่านหนังสือเกี่ยวกับ process พวกนี้เยอะขึ้นด้วย (Kanban, Element of Scrum, …) ก็เลยได้ปรับแก้จนเป็นรูปร่างเหมือนปัจจุบัน Task board ที่ @hybridknight เอาทุกทีมมาทำกลาง office [...]

]]>
By: TAP http://llun.in.th/2011/08/software-development-team/#comment-608 TAP Fri, 12 Aug 2011 15:06:00 +0000 http://llun.in.th/?p=2235#comment-608 อ่อ ที่ยกตัวอย่างการประชุม ไม่เกี่ยวกับเรื่องนี้ครับ แค่ยกตัวอย่างให้เห็นว่า สิ่งๆ นึงที่(สมมติว่า)ควรทำ มันก็ไม่ได้หมายความว่าผู้ร่วมจะรู้เสมอไปว่าต้องเป็นผู้นำ หากไม่มีคนบอก อ่อ ที่ยกตัวอย่างการประชุม ไม่เกี่ยวกับเรื่องนี้ครับ แค่ยกตัวอย่างให้เห็นว่า สิ่งๆ นึงที่(สมมติว่า)ควรทำ มันก็ไม่ได้หมายความว่าผู้ร่วมจะรู้เสมอไปว่าต้องเป็นผู้นำ หากไม่มีคนบอก

]]>
By: Anonymous http://llun.in.th/2011/08/software-development-team/#comment-607 Anonymous Fri, 12 Aug 2011 13:18:00 +0000 http://llun.in.th/?p=2235#comment-607 การประชุมเป็นงานที่อยากให้ลดลง แล้วเพิ่มการ Pair กะ Review Code แทน การประชุมควรจัดเมื่อ 1. มี Feature ใหม่ 2. Milestone สมบูรณ์จะเริ่ม Iterate ไป Milestone ถัดไป 3. เกิดเหตุฉุกเฉินเท่านั้น (Server ล่ม ต้องหาทางแก้เร่งด่วน แก้เสร็จ commit จบ) จริงยังมีงานอย่างอื่นที่ต้อง Lead ด้วยเช่นการ Merge รวม กำลังรอให้ Process ชุดแรกทุกคนชินก่อน แต่คิดไว้ว่า หลังจาก Milestone แรกเสร็จ(สิ้นเดือนนี้) จะเริ่มเปลี่ยน Role แบบนั่ง Pair ทีละอาทิตย์ๆ จนชำนาญกันหมดแล้ว ซัก 2 Milestone ก็จะลดการ Pair ลง ความสำคัญของการทำให้ Process เป็นจริงมันคือการ Pair แล้วทำคู่กันจนคู่ชำนาญอ่ะ แต่ก่อนมันไม่มีอะไรอย่างนี้เท่านั้นเอง ส่วนใหญ่จะเป็นการบอกทฤษฎี แล้วคาดหวังว่า คนที่ได้รับมอบหมายจะทำเองได้ ซึ่งมันไม่จริง การประชุมเป็นงานที่อยากให้ลดลง แล้วเพิ่มการ Pair กะ Review Code แทน

การประชุมควรจัดเมื่อ

1. มี Feature ใหม่
2. Milestone สมบูรณ์จะเริ่ม Iterate ไป Milestone ถัดไป
3. เกิดเหตุฉุกเฉินเท่านั้น (Server ล่ม ต้องหาทางแก้เร่งด่วน แก้เสร็จ commit จบ)

จริงยังมีงานอย่างอื่นที่ต้อง Lead ด้วยเช่นการ Merge รวม กำลังรอให้ Process ชุดแรกทุกคนชินก่อน แต่คิดไว้ว่า หลังจาก Milestone แรกเสร็จ(สิ้นเดือนนี้) จะเริ่มเปลี่ยน Role แบบนั่ง Pair ทีละอาทิตย์ๆ จนชำนาญกันหมดแล้ว ซัก 2 Milestone ก็จะลดการ Pair ลง

ความสำคัญของการทำให้ Process เป็นจริงมันคือการ Pair แล้วทำคู่กันจนคู่ชำนาญอ่ะ แต่ก่อนมันไม่มีอะไรอย่างนี้เท่านั้นเอง ส่วนใหญ่จะเป็นการบอกทฤษฎี แล้วคาดหวังว่า คนที่ได้รับมอบหมายจะทำเองได้ ซึ่งมันไม่จริง

]]>
By: TAP http://llun.in.th/2011/08/software-development-team/#comment-606 TAP Fri, 12 Aug 2011 13:10:00 +0000 http://llun.in.th/?p=2235#comment-606 ล๊อกอินแล้วมันเด้งขึ้นมาอยู่ข้างบน ไม่ได้สังเกต ลบให้หน่อยนะครับ :D สองอันเลย ล๊อกอินแล้วมันเด้งขึ้นมาอยู่ข้างบน ไม่ได้สังเกต ลบให้หน่อยนะครับ :D สองอันเลย

]]>
By: TAP http://llun.in.th/2011/08/software-development-team/#comment-605 TAP Fri, 12 Aug 2011 13:09:00 +0000 http://llun.in.th/?p=2235#comment-605 บางอย่างมันก็ไม่ได้เป็นไปได้เองโดยอัตโนมัตินะครับ บาง role ที่พี่ทำอยู่คนเดียวอยู่ ต่อให้พี่ทำไปนานแค่ไหน แต่ถ้าพี่ไม่บอก หรือผลัดเปลี่ยนให้คนอื่นทำบ้าง เค้าก็อาจจะไม่รู้ว่าต้องทำยังไง หรือบางครั้งไม่รู้ว่าเค้าต้องเป็นคนทำก็ได้นะครับ ยกตัวอย่างเช่น สมมติมีการประชุมทุกวันโดยหัวหน้าเป็นคนเรียก ถ้าหัวหน้าไม่ว่างก็ไม่น่าจะได้ประชุม บางอย่างมันก็ไม่ได้เป็นไปได้เองโดยอัตโนมัตินะครับ บาง role ที่พี่ทำอยู่คนเดียวอยู่ ต่อให้พี่ทำไปนานแค่ไหน แต่ถ้าพี่ไม่บอก หรือผลัดเปลี่ยนให้คนอื่นทำบ้าง เค้าก็อาจจะไม่รู้ว่าต้องทำยังไง หรือบางครั้งไม่รู้ว่าเค้าต้องเป็นคนทำก็ได้นะครับ

ยกตัวอย่างเช่น สมมติมีการประชุมทุกวันโดยหัวหน้าเป็นคนเรียก ถ้าหัวหน้าไม่ว่างก็ไม่น่าจะได้ประชุม

]]>
By: Anonymous http://llun.in.th/2011/08/software-development-team/#comment-603 Anonymous Fri, 12 Aug 2011 04:13:00 +0000 http://llun.in.th/?p=2235#comment-603 sustainability มันจะเกิดขึ้นมาเองเมื่อเวลาผ่านไปอ่ะ คือถ้าทุกคนเข้าใจและทำจนชินแล้ว เมื่อมีคนเข้ามาใหม่คนที่เคยทำและต้องให้คนนั้นทำต่อก็จะเข้าไป pair เองพร้อมทำให้ดูเป็นตัวอย่าง เรื่องพวกนี้ต้องทำกันยาวๆ และต่อเนื่องแฮะ จริงๆ process นี้ยังขาดไปอีกเรื่องคือการจัดการ code เก่า, project เก่า ยังนึกไม่ออกจะเข้าไปจัดการยังไง  sustainability มันจะเกิดขึ้นมาเองเมื่อเวลาผ่านไปอ่ะ คือถ้าทุกคนเข้าใจและทำจนชินแล้ว เมื่อมีคนเข้ามาใหม่คนที่เคยทำและต้องให้คนนั้นทำต่อก็จะเข้าไป pair เองพร้อมทำให้ดูเป็นตัวอย่าง เรื่องพวกนี้ต้องทำกันยาวๆ และต่อเนื่องแฮะ

จริงๆ process นี้ยังขาดไปอีกเรื่องคือการจัดการ code เก่า, project เก่า ยังนึกไม่ออกจะเข้าไปจัดการยังไง 

]]>
By: Visibletrap http://llun.in.th/2011/08/software-development-team/#comment-602 Visibletrap Fri, 12 Aug 2011 01:14:00 +0000 http://llun.in.th/?p=2235#comment-602 ดูดีทีเดียวครับ ปัญหาสุดท้ายที่พี่เหลือคือ sustainability ทำให้ถึงไม่มีพี่ process ก็ดำเนินต่อไปได้ และพัฒนาด้วย ดูดีทีเดียวครับ ปัญหาสุดท้ายที่พี่เหลือคือ sustainability ทำให้ถึงไม่มีพี่ process ก็ดำเนินต่อไปได้ และพัฒนาด้วย

]]>