https://www.spokesman.com/stories/2009/sep/05/laboata-only-way-cruise-spokane/
ใครคือหัวหน้าทีมในทีมพัฒนา?
ตามกฎแล้ว ในทีมพัฒนา Team Lead เป็นหนึ่งในโปรแกรมเมอร์ที่มีประสบการณ์ (แม้ว่าหัวหน้าทีมจะไม่ใช่ผู้เขียนโค้ดเสมอไป) ซึ่งรับผิดชอบไม่เพียงแต่การเขียนโค้ดและงานทางเทคนิคอื่นๆ เท่านั้น แต่ยังประสานงานกิจกรรมของทั้งทีมด้วย บ่อยครั้งที่นักพัฒนาหรือผู้ทดสอบ QA ที่มีความรู้ดีทั้งในด้านเทคโนโลยีและความสามารถและคุณลักษณะของสมาชิกในทีมแต่ละคนจะได้รับการแต่งตั้งให้ดำรงตำแหน่งหัวหน้าทีมTeam Lead แตกต่างจาก Tech Lead อย่างไร?
เนื่องจากตำแหน่งทั้งสองนี้มีความคล้ายคลึงกันในหลายๆ ด้าน และความรับผิดชอบของผู้เชี่ยวชาญที่ครอบครองตำแหน่งเหล่านี้ส่วนใหญ่ทับซ้อนกัน เราขอชี้แจงว่าพวกเขาแตกต่างกันอย่างไร- หัวหน้าทีมไม่จำเป็นต้องมีพื้นฐานด้านเทคนิคต่างจากหัวหน้าฝ่ายเทคโนโลยี นี่อาจเป็นได้ทั้งผู้จัดการหรืออดีตโปรแกรมเมอร์ที่เลิกเขียนโค้ดโดยตรงไปนานแล้ว
- หัวหน้าทีมสามารถจัดการทีมจากระยะไกลได้
- หัวหน้าทีมให้ความสำคัญกับงบประมาณ แผนงาน และด้านอื่นๆ ที่ไม่ใช่ด้านเทคนิคของทีมมากกว่า
- มีส่วนร่วมในงานทรัพยากรบุคคลมากขึ้น เช่น การวางแผนวันหยุด การทบทวนเงินเดือน ฯลฯ
หัวหน้าทีมแตกต่างจากผู้จัดการโครงการอย่างไร
อีกตำแหน่งที่ทับซ้อนกับ Team Lead ทำให้เกิดความสับสนคือตำแหน่งผู้จัดการโครงการ กล่าวโดยสรุป ความแตกต่างก็คือ หัวหน้าทีมควรมุ่งเน้นไปที่ผู้คนเป็นหลัก ซึ่งก็คือทีม ในขณะที่ผู้จัดการโครงการมุ่งเน้นไปที่โครงการโดยตรง นี่แสดงให้เห็นความจริงที่ว่าหัวหน้าทีมจัดการกับปัญหาที่เกี่ยวข้องกับการดำเนินการด้านเทคนิคของโครงการโดยทีมพัฒนา ในขณะที่ผู้จัดการโครงการแก้ไขปัญหาที่เกี่ยวข้องกับโครงการ เช่น การรักษาทางการเงิน กลยุทธ์ระยะสั้นและระยะยาว ด้านกฎหมาย และอื่นๆ
ความรับผิดชอบของหัวหน้าทีม
ตอนนี้เรามาดูความรับผิดชอบหลักของหัวหน้าทีมของทีมพัฒนากันดีกว่า-
ตรวจสอบการปฏิบัติตามมาตรฐานคุณภาพในระหว่างการพัฒนา
เป็นหน้าที่ของหัวหน้าทีมเพื่อให้แน่ใจว่าทีมเขียนโค้ดที่ตรงตามมาตรฐานของบริษัทและผลิตผลิตภัณฑ์คุณภาพสูง
-
ติดตามการปฏิบัติตามลำดับความสำคัญ
นอกจากนี้ หัวหน้าทีมต้องแน่ใจว่าทีมปฏิบัติตามลำดับความสำคัญเมื่อทำงาน และโดยทั่วไปรู้ว่าอะไรที่สำคัญที่สุดในแต่ละขั้นตอนของการผลิตผลิตภัณฑ์ซอฟต์แวร์
-
จัดทีม.
ดังที่หัวหน้าทีมที่มีประสบการณ์หลายคนตั้งข้อสังเกตว่า งานของพวกเขาประการแรกคือต้องแน่ใจว่าทีมได้รับการจัดระเบียบด้วยตนเอง และผู้เข้าร่วมแต่ละคนมีส่วนช่วยในเรื่องเดียวกัน
-
รับผิดชอบทุกปัญหาหรือความยากลำบากในทีม
เป็นหัวหน้าทีมที่รับผิดชอบทุกปัญหาในทีมพัฒนาที่อาจส่งผลต่อคุณภาพของผลิตภัณฑ์ขั้นสุดท้าย
-
เป็นตัวอย่างหนึ่งของความเป็นมืออาชีพและการยึดมั่นในแนวทางปฏิบัติในการเขียนโค้ดที่ดีที่สุด
บทบาทที่สำคัญอีกประการหนึ่งของหัวหน้าทีมคือการเป็นตัวอย่างให้สมาชิกในทีมคนอื่นๆ ปฏิบัติตามหลักการและแนวทางปฏิบัติที่ดีที่สุดในการเขียนโค้ด
-
เข้าใจและสามารถประยุกต์ใช้กระบวนการและวิธีการต่างๆ ในการเขียนโค้ดได้
นอกจากนี้ หัวหน้าทีมจะต้องมีความเข้าใจและสามารถใช้วิธีการต่างๆ ในทีมโปรแกรมเมอร์ เช่น Scrum, Kanban, XP, Lean และอื่นๆ เพื่อประโยชน์ของโครงการ
-
กระจายความรับผิดชอบ
หน้าที่ของหัวหน้าทีมคือจัดระเบียบภาระงานในลักษณะที่ไม่มีสมาชิกในทีมเพียงคนเดียวที่สามารถดำเนินการส่วนใดส่วนหนึ่งของโครงการได้ เพื่อให้ทีมงานมีประสิทธิภาพและทำงานต่อไปแม้ว่าผู้เชี่ยวชาญคนใดคนหนึ่งจะไม่ได้อยู่ที่ไซต์งานก็ตาม
-
รักษาการสื่อสารกับลูกค้าและ/หรือฝ่ายบริหาร
งานที่สำคัญอีกประการหนึ่งของหัวหน้าทีมคือการรักษาการสื่อสารอย่างต่อเนื่องกับลูกค้าหรือฝ่ายบริหารเพื่อให้แน่ใจว่าทีมพัฒนาเข้าใจเป้าหมายและปัญหาของโครงการอย่างชัดเจนจากมุมมองทางธุรกิจ
รับผิดชอบการทำงานในโครงการ
แต่หน้าที่ที่สำคัญที่สุดและกำหนดนิยามอย่างหนึ่งของหัวหน้าทีมคือการดูแลให้มีการทำงานที่มั่นคงและต่อเนื่องในโครงการ เพื่อให้มองเห็นความคืบหน้าได้ชัดเจนและเข้าใจได้สำหรับทั้งสมาชิกในทีมและผู้บริหาร/ลูกค้า
-
รักษาวินัยในทีม
และแน่นอนว่า หัวหน้าทีมมีหน้าที่ตรวจสอบวินัย เช่น สมาชิกในทีมมีปฏิสัมพันธ์กัน เข้าร่วมการประชุม เกี่ยวข้องกับการทำงานอย่างไร ฯลฯ

จะเป็นหัวหน้าทีมที่ดีได้อย่างไร? คำแนะนำ
ตอนนี้เรามาดูเคล็ดลับในการเป็นหัวหน้าทีมที่ดีจริงๆ จากผู้เชี่ยวชาญในอุตสาหกรรมและนักพัฒนาที่มีประสบการณ์กันดีกว่า-
มุ่งเน้นไปที่ผู้คน ไม่ใช่แค่การเขียนโปรแกรม
“บ่อยครั้งที่ตำแหน่งหัวหน้าทีมถูกครอบครองโดยนักพัฒนาที่อาวุโสและมีประสบการณ์มากที่สุด นี่อาจเป็นข้อผิดพลาด เพียงเพราะบุคคลมีทักษะและความรู้ด้านเทคนิคที่แข็งแกร่งไม่ได้หมายความว่าพวกเขาจะเก่งในการเป็นผู้นำด้วย” Mike Honeycutt ผู้เชี่ยวชาญด้านการสนับสนุนทางเทคนิคที่ University of North Carolina แบ่งปัน ประสบการณ์ของเธอในเว็บไซต์ถาม & ตอบ Quora
แม้ว่าด้านเทคนิคในการทำงานในโครงการก็มีความสำคัญอย่างยิ่งสำหรับหัวหน้าทีม แต่บทบาทที่สำคัญที่สุดในตำแหน่งนี้ยังคงมีบทบาทโดยความเป็นผู้นำนั่นคือการจัดการบุคลากรและการจัดระเบียบการทำงานของทีมโปรแกรมเมอร์และผู้เชี่ยวชาญอื่น ๆ ดังนั้นจึงเป็นสิ่งสำคัญที่จะต้องพัฒนาทักษะการสื่อสารและการจัดการ
-
Контролируйте свое эго.
Не стоит воспринимать данную позицию How место большого босса. На самом деле она оставляет крайне мало места для контроля. “Для меня было большим сюрпризом, что у тимлида на самом деле очень мало власти над проектом в целом. Тем, кто получает удовольствие от власти, это можно быть сложно понять. Позиция тимлида оставляет очень мало пространства для эго,” — отметил Чак Кариш (Chuck Karish), релиз-инженер компании Google.
-
Учитесь выступать посредником и договариваться.
“Для меня самой большой сложностью всегда была необходимость быть посредником между командой разработчиков и всеми остальными. Каждое, даже самое простое решение, может иметь далеко идущие последствия, поэтому очень важно обсуждать его со всеми заинтересованными сторонами,” — говорит Линда Брэнаган (Linda Branagan), в прошлом опытный тимлид из компании Construct Internet Design.
- Обсуждайте детали и договаривайтесь обо всем заранее.
Поскольку коммуникации — это важная часть функциональности тимлида, старайтесь по-максимуму обсуждать все аспекты работы над проектом и договариваться обо всем заранее, советует Майк Скэнлин (Mike Scanlin), СЕО американской компании Born to Sell и бывший тимлид в целом ряде ИТ-компаний, среди которых T/Maker и General Magic.
“Нет ничего хуже, чем работать в течение года над проектом, и, продемонстрировав результаты своей работе на очередной спринте, услышать от членов команды что-то вроде “А How насчет этих функций?” or “Мы забыли, что нам нужно будет реализовать вот это.” Постарайтесь убедиться в том, что все известно и четко спланировано еще до начала работы над проектом,” — рекомендует он.
-
Не провоцируйте конфликты, но будьте готовы к ним.
Также важно помнить о том, что будучи на позиции тимлида, очень сложно угодить всем сторонам, а поэтому конфликты в той or иной форме практически неизбежны. “Работа на позиции тимлида означает, что на Howом-то этапе вам придется принимать решения, касающиеся членов команды, и эти решения неизбежно будут вызывать конфронтацию. Этот аспект работы часто оказывается неожиданным для многих тимлидов, потому что далеко не все умеют и способны решать конфликты,” — сказал Стив Морс (Steve Morse), разработчик поддержки в компании Tealeaf Technology.

GO TO FULL VERSION