Feature นี้ใช้เวลาเท่าไร?

Pallat Anchaleechamaikorn
2 min readSep 27, 2022

--

คำถามที่คนอยากรู้ แต่ตอบยังไงให้ถูก ถ้างานที่อยากได้ มันเป็นงานที่สามารถประเมินได้ง่าย เช่นเอาน๊อตใส่รูแล้วขันสามรอบ งานแบบนี้ค่อนข้างประเมินง่าย เพราะเรารู้ flow รู้ speed รู้ความสามารถของคนที่ทำว่าทำได้กี่ตัวต่อนาที และยิ่งรู้จำนวนคน แบบนี้ก็ยังพอประเมินได้บ้าง

แต่ว่า งานแบบเขียนโปรแกรม มันต่างออกไปอย่างมาก มันทำให้การประเมินทำได้ยากแบบที่ ถ้าจะให้ประเมินได้ถูก มันต้องมีสักคนที่เจ็บตัว ไม่ว่าจะเป็นกลุ่ม Developer ที่ถ้าประเมินวันมาน้อยเกินไป ก็ต้องทำงานกันหามรุ่งหามค่ำ และก็อย่างที่รู้ๆกันว่า OT มันมีแค่ทำงานล่วงเวลา แต่ค่าล่วงเวลามันไม่มี หรือถ้ามันไม่ทันจริงๆในที่สุด คนที่เจ็บก็ต้องเป็น Business เพราะส่วนมากจะไปสร้าง commitment เอาไว้ โดยเฉพาะอย่างยิ่ง ถ้ามีการตลาดเข้ามาเกี่ยวด้วยจะยิ่งเจ็บหนัก

เวลาได้ยินคำถามนี้

ช่วยประเมินให้หน่อยว่าฟีเจอร์นี้ใช้เวลาเท่าไหร่

ผมเดาไว้ก่อนเลยว่า คนที่ตั้งคำถามนี้ ไม่ว่าจะเป็นฝั่ง Business หรือแม้แต่ฝั่ง IT ด้วยกันเองก็ตาม น่าจะไม่ได้ทำงานเป็นทีมเดียวกัน และอาจจะไม่ได้มองว่า Tech หรือ IT เป็นทีมงานเดียวกันกับเขาด้วยซ้ำ

Clear Glass with Red Sand Grainer · Free Stock Photo (pexels.com)

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

ซึ่งนั่นเป็นภาพที่อาจจะพบเจอได้บ่อย และผมไม่คิดว่าจะเป็นรูปแบบของการทำงานเป็นทีมเดียวกันที่ควรจะเป็น

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

ข้อต่อมา การที่มี Requirement เข้ามาในทีมและให้ทีม Surprise แบบตั้งตัวไม่ติด เป็นเรื่องที่ไม่น่าจะเกิดขึ้นกับทีมที่ทำงานร่วมกันจริงๆ การเตรียมการเพื่อจะให้มีของออกไปใช้งาน มันควรจะมีขั้นตอนที่ยาวกว่า 1 เดือน และการที่ทีม IT/Tech ไม่เคยรู้เรื่องนี้เลย นั่นแปลว่า เรากำลังมองทีม IT/Tech เป็นลูกน้อง หรือลูกจ้าง ที่เมื่อเราคิดงานเสร็จ ก็แค่ไปสั่งให้ได้สิ่งที่ต้องการออกมา ซึ่งนั่นมันไม่ถูกต้อง

งานพัฒนา Software มันมีขั้นตอนน้อยหรือมาก ขึ้นอยู่กับปัจจัยหลายสิ่งมาก แต่ก็ไม่ควรตีขลุมไปว่า

ก็เคยมีแบบนี้อยู่แล้ว Copy/Paste ไม่น่าจะนานไม่ใช่เหรอ

เออ มันทำแบบนั้นไม่ได้ทุกครั้ง ถึงแม้บางที ฟรีเจอร์จะเหมือนเป๊ะ หน้าตาเหมือนเป๊ะ แต่มันก็มีหลายอย่างที่ต่างกัน และ Software ไม่ใช่น๊อต ที่ขนาดเหมือนกัน เกลียวเท่ากัน ก็น่าจะใช้ด้วยกันได้แบบนั้น

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

แทบจะทุกๆวันที่เรานั่งทำงานอยู่คนเดียว แล้วในใจก็คิดว่า ลองท่านี้ดู ลองแบบนี้ดู คู่มือมันไม่ละเอียดเลยวะ google หาตัวอย่างก็ไม่เจอ ใครมันจะทำได้

เราทำการทดลองกันทุกวัน งานของเรามันออกแนวผสมสารเคมี ที่ต้องกะปริมาณ และเดาว่าจะเกิดอะไรขึ้น จนกว่าจะได้ของที่ต้องการ ต้องทำการทดลอง(เขียนเทส) อย่างหนักหน่วง สุดท้าย เอาของขึ้นไปให้ใช้งานจริง ยังต้องกังวลเรื่องความปลอดภัย ความเสถียร ความเร็ว การดูแลรักษา กับแก้ไขเมื่อเกิดปัญหา ฯลฯ

และความที่เราต้องทำร้อยแปดอย่างนี้แหล่ะ ผมขอความเห็นใจคนที่เข้ามาอ่านเลยว่า งาน Software มันไม่ได้ง่ายระดับที่จะพูดได้ว่า Copy/Paste หรือ Re-Use สิ เราต้องคิดต้องวางแผนเหมือนกัน เหมือนที่ Business ก็ต้องการเวลาคิด ตัดสินใจ และใช้เวลาลงมือทำ อาจจะไม่น้อยไปกว่าที่คุณได้ทำมา

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

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

--

--