Support กับการเป็นคนกลาง
posted on 04 Mar 2009 23:34 by plynoi in Life
ปัจจุบันผมเป็น Support
ในบริษัทของผมนั้น Suport จะมี 3 ระดับ ระดับ 1 นั้นคือพวก Call center ในประเทศหรือทวีปของลูกค้า ไม่ก็พวกออกไซต์ รับหน้าฉากในการแก้ปัญหา ส่วนระดับที่สองนั้นจะรับกรณีที่ระดับที่ 1 แก้ปัญหาไม่ได้ โดยระดับที่สองจะมีความรู้ทางเทคนิคสูงขึ้นและถ้ายังแก้(หรือระบุ)ปัญหาไม่ได้ก็ต้องเป็นหน้าที่ของระดับที่ 3 อย่างผม ที่มีสิทธิ์คุยกับ Dev หรือมีสิทธิ์เข้าไปดู code ของโปรแกรม
เห็นเยอะๆ หลาย Tier อย่างนี้จริงๆ คุยข้าม Tier ไม่ได้ถ้าไม่จำเป็น ถ้าอธิบายคร่าวๆ ก็
ลูกค้า <--> ระดับ 1 <--> ระดับ 2 <--> ระดับ 3 <--> Dev/Qa
แต่ละ node จะคุยได้แต่ node ที่ติดกันเท่านั้น ยกเว้น ลูกค้าที่ข้ามมาคุยได้กับทุก node ยกเว้น Dev/Qa นั่นทำให้เกิดช่องว่างโคตรพ่อโคตรแม่กว้างระหว่างทีมพัฒนาและคนใช้โปรแกรม
สมัยทำงานที่เก่า งานบริษัทผมเป็น Tailor Made คือทำสำหรับลูกค้าแต่ละเจ้าๆ ไม่เหมือนกัน ในระบบ Software House เมืองไทยส่วนมาก ไม่มีตำแหน่ง Support แต่ว่า Support ด้วย Programmer หรือ SA และแน่นอนว่าการทำโปรแกรมให้ลูกค้าเจ้าๆ เดียว การรรับรู้ธุรกิจ ลักษณะนิสัยการทำงานของคนจ่ายเงินนั้นสำคัญมากๆ ทีมพัฒนาจึงใกล้ชิดกับลูกค้าพอดู (บางครั้งลูกค้าไม่เชื่อ Sale แต่เชื่อทีมพัฒนาด้วยซ้ำ ถ้าทำงานกันบ่อยๆ)
แต่ลักษณะการขาย Software ของบริษัทปัจจุบันของผม เขียนโปรแกรมหนึ่งๆ ก็เอาไปเร่ขายให้สถาบันทางการเงิน 10ๆ แห่ง (หรือหลักร้อย)ทั่วโลก การจะทำแบบนั้นเป็นไปไม่ได้แน่ๆ จึงตั้ง Support ขึ้นมากัน แม้ว่าจริงๆ แล้วเราจะเขียนให้อิงตามลูกค้าที่ใหญ่และจ่ายเงินมากที่สุดก็ตาม (แต่เราไม่ยอมรับ ไม่บอกความจริงนี้ โอ้ บริษัทข่าวที่ห้ามหุ้นส่วนใดๆ แทรกแซงข่าว ถุย) แต่ก็อย่างที่บอก ช่องว่างกลวงโบ๋ ของคำที่เรียกว่า "ไม่รู้ว่าลูกค้าใช้ยังไง" ก็เกิดขึ้นแก่ทีมพัฒนา
จริงๆ แล้วการเก็บ Requirement เป็นหน้าที่ของทีม Business ซึ่งผมก็ไม่รู้ว่ามันไปเก็บมาจากไหน (เพราะผมมีประสบการณ์กับการเก็บ Requirement กับหัวหน้าลูกค้าที่ไม่รู้ส้นตีนอะไรเลยว่าลูกน้องตัวเองจริงๆ ทำงานและต้องการอะไร) ส่วนเรื่องลูกค้าใช้โปรแกรมยังไง ต้องการยังไง ก็เป็นหน้าที่ Support นี่แหละบอกทีมพัฒนา ซึ่งแน่นอนว่าการถ่ายถอยจาก A ไป B ไป C นี้ให้ตายยังไงมันก็ต้องมีการเปลี่ยนแปลง ไม่เข้าใจ ไม่ครบถ้วน 100% คนกลางอย่างผมจึงมีัปัญหาตลอดมา
ตอนนี้ Api ที่ผม Support มีปัญหาอยู่คือ มันทำงานไม่เป็นตามที่ลูกค้าต้องการ ซึ่งมันก็ทำงานประหลาดจริงๆ และตัวอย่างการใช้ API ที่ให้ไปนั้น ไม่สนับสนุนการทำงานบางอย่างทำให้ทำงานผิดพลาดอย่างแรง
ปัญหาคือ Dev ไม่อยากแก้ API ส่วนลูกค้าก็ไม่อยากแก้ Code ที่เรียก API และคนที่ถูกด่าจากทั้งสองทางคือคนกลาง (ไม่ต้องหันไปไหน กูนี่แหละ) ก็เหมือนคนสองคนทะเลาะกัน แต่แทนที่มันจะด่ากันตรงๆ มันกลับฝากเรามาด่ากันทั้งคู่นั้นแหละ
ทางแก้คร่าวๆ ที่ผมทำอยู่คือบ่นให้เพื่อนร่วมทีม ให้ไอ้ @kengggg ฟัง บ่นใน blog นี้ไปงั้น แต่มันคงช่วยแก้ปัญหาจริงๆ ไม่ได้ แต่ก็ได้ระบายออก
ทางแก้จริงๆ คือผมคงต้องคุยให้เข้าใจสถานะการณ์ของลูกค้าให้ท่องแท้ แล้วนำมาคุยกับ Dev ชนิดไม่ลดทอน ไม่บิดเบือน ไม่เปลี่ยนคำพูดใดๆ ของลูกค้า และถ้าผมต้องเลือกว่าจะเข้าข้างไหน
ผมจะเดินไปหาลูกค้า แล้วหยิบดาบในมือเค้ามาฟัน Dev ในฐานะที่ผมต้อง Support ให้ลูกค้าใช้งานได้ตามที่เค้าต้องการมากที่สุด
ในบริษัทของผมนั้น Suport จะมี 3 ระดับ ระดับ 1 นั้นคือพวก Call center ในประเทศหรือทวีปของลูกค้า ไม่ก็พวกออกไซต์ รับหน้าฉากในการแก้ปัญหา ส่วนระดับที่สองนั้นจะรับกรณีที่ระดับที่ 1 แก้ปัญหาไม่ได้ โดยระดับที่สองจะมีความรู้ทางเทคนิคสูงขึ้นและถ้ายังแก้(หรือระบุ)ปัญหาไม่ได้ก็ต้องเป็นหน้าที่ของระดับที่ 3 อย่างผม ที่มีสิทธิ์คุยกับ Dev หรือมีสิทธิ์เข้าไปดู code ของโปรแกรม
เห็นเยอะๆ หลาย Tier อย่างนี้จริงๆ คุยข้าม Tier ไม่ได้ถ้าไม่จำเป็น ถ้าอธิบายคร่าวๆ ก็
ลูกค้า <--> ระดับ 1 <--> ระดับ 2 <--> ระดับ 3 <--> Dev/Qa
แต่ละ node จะคุยได้แต่ node ที่ติดกันเท่านั้น ยกเว้น ลูกค้าที่ข้ามมาคุยได้กับทุก node ยกเว้น Dev/Qa นั่นทำให้เกิดช่องว่างโคตรพ่อโคตรแม่กว้างระหว่างทีมพัฒนาและคนใช้โปรแกรม
สมัยทำงานที่เก่า งานบริษัทผมเป็น Tailor Made คือทำสำหรับลูกค้าแต่ละเจ้าๆ ไม่เหมือนกัน ในระบบ Software House เมืองไทยส่วนมาก ไม่มีตำแหน่ง Support แต่ว่า Support ด้วย Programmer หรือ SA และแน่นอนว่าการทำโปรแกรมให้ลูกค้าเจ้าๆ เดียว การรรับรู้ธุรกิจ ลักษณะนิสัยการทำงานของคนจ่ายเงินนั้นสำคัญมากๆ ทีมพัฒนาจึงใกล้ชิดกับลูกค้าพอดู (บางครั้งลูกค้าไม่เชื่อ Sale แต่เชื่อทีมพัฒนาด้วยซ้ำ ถ้าทำงานกันบ่อยๆ)
แต่ลักษณะการขาย Software ของบริษัทปัจจุบันของผม เขียนโปรแกรมหนึ่งๆ ก็เอาไปเร่ขายให้สถาบันทางการเงิน 10ๆ แห่ง (หรือหลักร้อย)ทั่วโลก การจะทำแบบนั้นเป็นไปไม่ได้แน่ๆ จึงตั้ง Support ขึ้นมากัน แม้ว่าจริงๆ แล้วเราจะเขียนให้อิงตามลูกค้าที่ใหญ่และจ่ายเงินมากที่สุดก็ตาม (แต่เราไม่ยอมรับ ไม่บอกความจริงนี้ โอ้ บริษัทข่าวที่ห้ามหุ้นส่วนใดๆ แทรกแซงข่าว ถุย) แต่ก็อย่างที่บอก ช่องว่างกลวงโบ๋ ของคำที่เรียกว่า "ไม่รู้ว่าลูกค้าใช้ยังไง" ก็เกิดขึ้นแก่ทีมพัฒนา
จริงๆ แล้วการเก็บ Requirement เป็นหน้าที่ของทีม Business ซึ่งผมก็ไม่รู้ว่ามันไปเก็บมาจากไหน (เพราะผมมีประสบการณ์กับการเก็บ Requirement กับหัวหน้าลูกค้าที่ไม่รู้ส้นตีนอะไรเลยว่าลูกน้องตัวเองจริงๆ ทำงานและต้องการอะไร) ส่วนเรื่องลูกค้าใช้โปรแกรมยังไง ต้องการยังไง ก็เป็นหน้าที่ Support นี่แหละบอกทีมพัฒนา ซึ่งแน่นอนว่าการถ่ายถอยจาก A ไป B ไป C นี้ให้ตายยังไงมันก็ต้องมีการเปลี่ยนแปลง ไม่เข้าใจ ไม่ครบถ้วน 100% คนกลางอย่างผมจึงมีัปัญหาตลอดมา
ตอนนี้ Api ที่ผม Support มีปัญหาอยู่คือ มันทำงานไม่เป็นตามที่ลูกค้าต้องการ ซึ่งมันก็ทำงานประหลาดจริงๆ และตัวอย่างการใช้ API ที่ให้ไปนั้น ไม่สนับสนุนการทำงานบางอย่างทำให้ทำงานผิดพลาดอย่างแรง
ปัญหาคือ Dev ไม่อยากแก้ API ส่วนลูกค้าก็ไม่อยากแก้ Code ที่เรียก API และคนที่ถูกด่าจากทั้งสองทางคือคนกลาง (ไม่ต้องหันไปไหน กูนี่แหละ) ก็เหมือนคนสองคนทะเลาะกัน แต่แทนที่มันจะด่ากันตรงๆ มันกลับฝากเรามาด่ากันทั้งคู่นั้นแหละ
ทางแก้คร่าวๆ ที่ผมทำอยู่คือบ่นให้เพื่อนร่วมทีม ให้ไอ้ @kengggg ฟัง บ่นใน blog นี้ไปงั้น แต่มันคงช่วยแก้ปัญหาจริงๆ ไม่ได้ แต่ก็ได้ระบายออก
ทางแก้จริงๆ คือผมคงต้องคุยให้เข้าใจสถานะการณ์ของลูกค้าให้ท่องแท้ แล้วนำมาคุยกับ Dev ชนิดไม่ลดทอน ไม่บิดเบือน ไม่เปลี่ยนคำพูดใดๆ ของลูกค้า และถ้าผมต้องเลือกว่าจะเข้าข้างไหน
ผมจะเดินไปหาลูกค้า แล้วหยิบดาบในมือเค้ามาฟัน Dev ในฐานะที่ผมต้อง Support ให้ลูกค้าใช้งานได้ตามที่เค้าต้องการมากที่สุด







#1 By vee (115.67.79.65) on 2009-03-05 00:03