Extreme Programming in Agile – คู่มือปฏิบัติสำหรับผู้จัดการโครงการและ nTaskers

เผยแพร่แล้ว: 2020-07-08

เราได้รับคำขอมากมายเกี่ยวกับการเขียนโปรแกรมสุดขีดใน Waterfall – และวิธีที่เราจะได้รับประโยชน์จากโปรแกรมนี้ในฐานะผู้จัดการโครงการ ในกรณีที่คุณไม่รู้ว่าการเขียนโปรแกรมขั้นสูงคืออะไร มันเป็นรูปแบบหนึ่งของเฟรมเวิร์กที่คล่องตัวซึ่ง PMs ใช้ประโยชน์จากทรัพยากรที่มีอยู่อย่างดีที่สุดในสภาพแวดล้อมการพัฒนาซอฟต์แวร์

Extreme Programming (XP) ในสภาพแวดล้อม SDLC ที่คล่องตัว

ที่มา: Udacity.com

Extreme Programming (XP) ซึ่งเป็นเฟรมเวิร์กการพัฒนาซอฟต์แวร์แบบ Agile ได้รับการออกแบบมาโดยเฉพาะสำหรับการปรับปรุงคุณภาพของซอฟต์แวร์ กระบวนการทำงานสำหรับทีมพัฒนา และเพิ่มความพึงพอใจของลูกค้า

เป็นวิธีการที่คิดค้นขึ้นสำหรับวงจรการพัฒนาซอฟต์แวร์ (SDLC) ที่ราบรื่นและมีประสิทธิภาพสำหรับโครงการของคุณ และได้นำมาใช้ครั้งแรกในโครงการเมื่อวันที่ 6 มีนาคม พ.ศ. 2539

ทำไมต้อง Extreme Programming (XP)

Extreme Programming ทำงานเพื่อให้บริการซอฟต์แวร์ที่ทำซ้ำและเกิดขึ้นซ้ำตลอดโครงการ แทนที่จะรวมทุกอย่างเข้าด้วยกันหลังจากวงจรการพัฒนาโครงการเดียวที่ยาวนาน

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

Extreme Programming (XP) ทำมาจากอะไร?

ค่านิยม

XP ประกอบด้วย 5 ค่าต่อไปนี้:

  • การสื่อสาร : โครงการพัฒนาซอฟต์แวร์หรือโครงการในอุตสาหกรรมใด ๆ พึ่งพาการสื่อสารเป็นอย่างมาก XP มุ่งเน้นไปที่การสื่อสารที่มีประสิทธิภาพระหว่างทีมและลูกค้า
  • ความ เรียบง่าย : XP มองหาวิธีที่ง่ายที่สุดในการทำสิ่งต่างๆ ให้สำเร็จ ซึ่งหมายถึงการทำสิ่งที่สำคัญซึ่งจะช่วยลดของเสีย จัดการเฉพาะปัญหาที่ทราบแล้ว และทำให้การออกแบบเรียบง่ายเพื่อสร้างและบำรุงรักษาอย่างมีประสิทธิภาพ
  • คำติชม : คำติชมมีบทบาทสำคัญในการปรับปรุงโครงการ XP สนับสนุนการตอบรับทันที ซึ่งจะช่วยให้ทีมระบุพื้นที่สำหรับการปรับปรุงและแก้ไขแนวทางปฏิบัติได้
  • ความเคารพ : ทีมต้องเคารพซึ่งกันและกันทั้งส่วนตัวและในอาชีพเพื่อให้บรรลุเป้าหมาย
  • ความกล้าหาญ : XP รับรองความกล้าหาญในทุกระดับ ซึ่งอาจรวมถึงการพูดถึงสิ่งที่ใช้ไม่ได้และสิ่งที่ส่งผลต่อประสิทธิภาพของโครงการ หรือยอมรับข้อเสนอแนะและปรับปรุงวิธีการ

แนวทางปฏิบัติ

การเขียนโปรแกรมขั้นสูง

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

แนวทางปฏิบัติสิบสองประการดั้งเดิมสำหรับ XP ประกอบด้วย:

  • เกมวางแผน
  • รุ่นเล็ก
  • คำอุปมา
  • การออกแบบที่เรียบง่าย
  • การทดสอบ
  • การปรับโครงสร้างใหม่
  • การเขียนโปรแกรมคู่
  • กรรมสิทธิ์ร่วมกัน
  • บูรณาการอย่างต่อเนื่อง
  • 40 ชั่วโมงต่อสัปดาห์
  • ลูกค้าในสถานที่และ
  • มาตรฐานการเข้ารหัส

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

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

นั่งด้วยกัน: คนส่วนใหญ่เห็นด้วยว่าการสนทนาแบบเห็นหน้ากันเป็นรูปแบบการสื่อสารที่ดีที่สุด ทีมควรนั่งด้วยกันโดยไม่มีอุปสรรคในการสื่อสาร เช่น ผนังกุฏิ

Informative Workspace : ควรจัดทีมให้นั่งในลักษณะที่ทำให้งานของทีมโปร่งใสต่อกันและบุคคลในสังกัดภายนอกทีม

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

ยังอ่าน:

จะจัดการโครงการอย่างมืออาชีพในสภาพแวดล้อมการทำงานในปัจจุบันได้อย่างไร

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

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

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

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

Slack : หมายถึงการเพิ่มงานหรือเรื่องราวที่มีลำดับความสำคัญต่ำสองสามงานในรอบสัปดาห์และรายไตรมาส หากทีมยังล้าหลังกับงานที่สำคัญกว่า สิ่งเหล่านี้อาจถูกละทิ้ง มิฉะนั้น สิ่งเหล่านี้จะแล้วเสร็จ ซึ่งจะเพิ่มโอกาสในการปฏิบัติตามกำหนดการโดยประมาณ

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

การบูรณาการอย่างต่อเนื่อง: แนวทางปฏิบัตินี้สนับสนุนการทดสอบโค้ดใหม่ทันทีกับฐานโค้ดขนาดใหญ่ที่มีอยู่ ซึ่งจะช่วยให้ตรวจจับและแก้ไขปัญหาการรวมระบบได้เร็วยิ่งขึ้น การปฏิบัตินี้ต้องมีระเบียบวินัยและขึ้นอยู่กับแนวทางปฏิบัติของ Ten Minute Build และ Test First Development

Test-First Programming : แทนที่จะทำตามแบบปกติ เช่น

พัฒนาโค้ด -> เขียนการทดสอบ -> เรียกใช้การทดสอบ

แนวปฏิบัติของการเขียนโปรแกรมทดสอบครั้งแรกใช้เส้นทางของ:

เขียนการทดสอบอัตโนมัติที่ล้มเหลว -> เรียกใช้การทดสอบที่ล้มเหลว -> พัฒนาโค้ดเพื่อให้ผ่านการทดสอบ -> เรียกใช้การทดสอบ -> ทำซ้ำ

แนวทางปฏิบัตินี้ยังช่วยลดวงจรผลป้อนกลับสำหรับการระบุปัญหาและวิธีแก้ไข ส่งผลให้จำนวนจุดบกพร่องที่นำมาใช้ในการผลิตลดลง

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

บทบาท

XP รวมแนวทางปฏิบัติเฉพาะสำหรับทีมของคุณให้ปฏิบัติตามและไม่ได้กำหนดบทบาทเฉพาะสำหรับสมาชิกในทีม อย่างไรก็ตาม ตามข้อกำหนด บทบาทที่พบบ่อยที่สุด 4 ประการคือ:

ลูกค้า: ลูกค้า XP ได้รับการคาดหวังให้เข้าร่วมในโครงการอย่างจริงจัง ลูกค้าทำการตัดสินใจทางธุรกิจทั้งหมดเกี่ยวกับโครงการ เช่น:

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

นักพัฒนา : นักพัฒนาตระหนักถึงเรื่องราวที่ลูกค้าระบุ ซึ่งหมายความว่าส่งมอบโครงการด้วยคุณสมบัติที่ตัดสินใจได้

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

โค้ช : บทบาทนี้มีประโยชน์โดยเฉพาะอย่างยิ่งหากทีมเพิ่งเริ่มต้น โค้ชสามารถเป็นที่ปรึกษาภายนอกที่เคยใช้ XP มาก่อนและสามารถช่วยให้คำปรึกษาทีมในแนวทางปฏิบัติของ XP ได้เช่นเดียวกับการมีวินัยในตนเอง การจ้างโค้ชช่วยหลีกเลี่ยงข้อผิดพลาดที่อาจเกิดขึ้นซึ่งทีมใหม่อาจทำ เร่งโครงการ

ข้อดีของ Extreme Programming

  • การเขียนโปรแกรมขั้นสูงช่วยให้นักพัฒนาซอฟต์แวร์มุ่งเน้นไปที่การเข้ารหัสและไม่ต้องกังวลกับกิจกรรมที่ไม่ก่อผลที่เกี่ยวข้องกับโครงการ
  • ประโยชน์ที่สำคัญที่สุดของการเขียนโปรแกรมที่รุนแรงคือช่วยให้บริษัทซอฟต์แวร์ลดการใช้ทรัพยากร เช่น เงินและเวลาในการทำกิจกรรมที่ไร้ประโยชน์ เมื่อพวกเขาสามารถนำไปใช้ในกิจกรรมต่างๆ เช่น การดำเนินโครงการและการระดมความคิดอื่นๆ
  • การเขียนโปรแกรมขั้นสูงยังช่วยลดความเสี่ยงของความล้มเหลวของโครงการหรือความผิดพลาดในการเขียนโปรแกรม เพื่อให้มั่นใจว่าลูกค้าจะได้ผลิตภัณฑ์ที่ต้องการในที่สุด
  • Extreme programming เป็นวิธีการที่น่าทึ่งซึ่งไม่ต้องการให้โค้ดซับซ้อนและยากสำหรับทุกคนที่จะเข้าใจ และแสดงให้เห็นในโค้ดของนักพัฒนาซอฟต์แวร์ที่ใช้วิธีการนี้ เพราะเมื่อใดก็ตามที่คนอื่นเข้ามาแทนที่ พวกเขาสามารถเข้าใจโค้ดได้มาก อย่างง่ายดาย
  • หนึ่งในสิ่งที่ดีที่สุดเกี่ยวกับ XP คือทุกอย่างโปร่งใสและอยู่ต่อหน้าทุกคนซึ่งช่วยให้ทุกคนและทุกอย่างรับผิดชอบ
  • คำติชมอย่างต่อเนื่องยังเป็นคุณสมบัติที่น่าทึ่งของการเขียนโปรแกรมสุดขั้ว ซึ่งช่วยให้นักพัฒนาเขียนโค้ดอย่างไม่เกรงกลัวและไม่ต้องกลัวการตัดสิน เนื่องจากพวกเขาสามารถแก้ไขข้อผิดพลาดเล็กๆ น้อยๆ ได้เสมอ ซึ่งทำได้ผ่านความช่วยเหลือจากคำติชมที่ได้รับ
  • การทดสอบองค์ประกอบทั้งหมดของซอฟต์แวร์อย่างสม่ำเสมอ การตรวจหาจุดบกพร่องของโค้ดทั้งหมด และการใช้การทดสอบการตรวจสอบความถูกต้องของลูกค้าทำให้มั่นใจได้ว่าไคลเอ็นต์จะได้รับต้นแบบที่ใช้งานได้หรือซอฟต์แวร์ที่ใช้งานได้จริงในเวลาน้อยกว่าปกติ
  • Extreme Programming ยังช่วยให้บริษัทต่างๆ สร้างความพึงพอใจให้กับลูกค้าและรักษาธุรกิจของตนไว้ได้นานขึ้น
  • ในระเบียบวิธีการเขียนโปรแกรมแบบสุดโต่ง ทุกคนเป็นสมาชิกที่เท่าเทียมกันของฝูง และทุกคนต้องแบ่งปันภาระในฐานะเพื่อนร่วมงาน ซึ่งหมายความว่าจากข้อกำหนดไปจนถึงโค้ด นักพัฒนาจะทำงานเคียงข้างกันเพื่อไม่ให้ใครรู้สึกว่าไม่มีใครชื่นชมหรือถูกลืม

วงจรชีวิต Extreme Programming (XP)

สามารถอธิบายวงจรชีวิตของ XP เกี่ยวกับวัฏจักรรายสัปดาห์และรอบไตรมาสได้

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

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

ถัดมาคือแผนการเผยแพร่: แผนการเผยแพร่ครอบคลุมเรื่องราวที่จะนำเสนอในไตรมาสใดหรือรุ่นใดรุ่นหนึ่ง

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

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

กรณีศึกษาสำหรับ Extreme Programming Practice (XP)

XP สำหรับ Krizp System

ปัญหา

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

บริษัทขาดแนวทางที่มีโครงสร้างในการพัฒนาซอฟต์แวร์ ด้วยข้อกำหนดเบื้องต้นที่จดลงบนกระดาษ ลูกค้าจะได้รับข้อมูลเพิ่มเติมและคำชี้แจงจากลูกค้าทางโทรศัพท์ โดยปกติ การเปลี่ยนแปลงข้อกำหนดที่สำคัญจะไม่เกิดขึ้นจนกว่าลูกค้าจะตรวจทาน ซึ่งเกิดขึ้นหลังจากมีการพัฒนาโซลูชัน

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

นอกจากนี้ ยังไม่มีการจัดทำเอกสารโครงการ ไม่มีผู้จัดการโครงการที่จะติดตามโครงการหรือเพื่อให้แน่ใจว่าตรงตามข้อกำหนดที่ลูกค้ากำหนดไว้ นักพัฒนาทำงานเฉพาะในสิ่งที่ขอให้ทำเท่านั้น

การเดินทาง

ใบรับรอง pert การเขียนโปรแกรมขั้นสูง

ทีมงานของ Krizp System ได้รับการแนะนำให้รู้จักกับแนวคิดเบื้องหลังกรอบงาน Agile ต่างๆ ใช้วิธี XP ในช่วงเวลาหนึ่งเดือนและประเมินผลลัพธ์

CEO ของบริษัทรับหน้าที่ 2 บทบาท: ตัวแทนลูกค้าและผู้ติดตาม สำหรับบทบาทแรกของเขา เขาจัดลำดับความสำคัญเรื่องราวของผู้ใช้ มอบหมายให้ทีมพัฒนา และสื่อสารกับลูกค้าเป็นประจำ ในฐานะตัวติดตาม เขาคอยติดตามเวลาเพื่อทำภารกิจเฉพาะให้เสร็จสิ้น ซีอีโอยังเริ่มเกมวางแผนทุกสัปดาห์ (หรืออย่างน้อยหนึ่งครั้งในสี่วัน) เนื่องจากโปรเจ็กต์มีขนาดเล็กและนักพัฒนาสามารถทำงานให้เสร็จในหนึ่งเรื่องราวของผู้ใช้ได้เร็วขึ้น อย่างไรก็ตาม ลูกค้าสามารถสื่อสารโดยตรงได้เพียงเดือนละสองครั้งเท่านั้น และเวลาที่เหลือเขาติดต่อกันผ่านทางโทรศัพท์และอีเมล

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

มีการแนะนำการทดสอบของลูกค้าและทีมงานได้ปรับปรุงการออกแบบอย่างต่อเนื่อง ซึ่งอยู่ที่ประมาณ 12-15 ต่อเดือน

สรุป

แนวทางของ XP ดูเหมือนจะส่งผลดีต่อวงจรการพัฒนาซอฟต์แวร์ของบริษัท การเปลี่ยนแปลงเชิงบวกบางประการ ได้แก่:

  1. การทำงานร่วมกันเป็นทีม การสื่อสาร และข้อเสนอแนะที่ดียิ่งขึ้น
  2. งานและการจัดการเวลาที่ดีขึ้นและ
  3. เพิ่มการมีส่วนร่วมของ CEO โดยไม่มีการสนับสนุนด้านเทคนิค

Extreme Programming Practices สำหรับ IBM และ Sabre Airlines

ปัญหา

เพื่อประเมินการใช้งานจริงของ Waterfall vs. Extreme Programming การศึกษาวิจัยได้ดำเนินการผ่าน 2 กรณีศึกษา: กรณีหนึ่งที่ IBM และอีกกรณีหนึ่งที่ Sabre Airlines กรณีศึกษาแต่ละกรณีเปรียบเทียบแนวทางน้ำตกกับแนวทาง XP

การเดินทาง

ในกรณีศึกษาแรกที่ IBM นักวิจัยต้องการศึกษาผลกระทบของการนำแนวทาง XP มาใช้ในด้านผลิตภาพ คุณภาพ และความพึงพอใจของลูกค้า การศึกษาตลอดทั้งปีดำเนินการกับสมาชิก 7-11 คน เกี่ยวกับการนำแนวทางปฏิบัติของ XP มาใช้ ทีมงานรับผิดชอบในการพัฒนาแอปพลิเคชัน Servlet/XML สำหรับชุดเครื่องมือที่ทีม IBM อื่นๆ ใช้เพื่อสร้างผลิตภัณฑ์สำหรับลูกค้าภายนอก กรณีศึกษาวิเคราะห์ 2 แนวทางในการเผยแพร่ผลิตภัณฑ์เดียวกันอย่างต่อเนื่อง แบบแรกเป็นแบบน้ำตกแบบดั้งเดิม และแบบที่สองคือ XP

ในกรณีศึกษาที่สอง ที่ Saber Airline Solutions ใช้วิธีการเดียวกัน นั่นคือ การเปรียบเทียบ 2 วิธีผ่านการเปิดตัวผลิตภัณฑ์เดียวกันที่ต่างกัน ทีมงานได้พัฒนาสภาพแวดล้อม GUI แบบเขียนสคริปต์ได้สำหรับลูกค้าภายนอกเพื่อพัฒนาผู้ใช้ปลายทางและแอปพลิเคชันทางธุรกิจที่ปรับแต่งได้ ทีมประกอบด้วยสมาชิก 6-10 คน รีลีสเก่าเสร็จสิ้นเมื่อ 3 ปีก่อน (ขยายเวลา 18 เดือน) โดยใช้วิธี Waterfall ในขณะที่รีลีสใหม่เพิ่งเสร็จสิ้น (ช่วง 3.5 เดือน) โดยใช้ XP

ขั้นตอนแรกคือการสร้าง Extreme Programming Evaluation Framework (XP-EF) ซึ่งประกอบด้วยสามส่วน: XP Context Factors (XP-cf), XP Adherence Metrics (XP-am) และ XP Outcome Measures (XP-om):

  • XP Context Factors (XP-cf) : XP-cf ใช้เพื่อบันทึกข้อมูลสำคัญที่เกี่ยวข้องกับโครงการ ปัจจัยเหล่านี้รวมถึงขนาดทีม ขนาดโครงการ ความวิพากษ์วิจารณ์ และประสบการณ์ของพนักงาน
  • XP Adherence Metrics (XP-am) : ผ่าน XP-am จะแสดงขอบเขตที่ทีมใช้แนวทางปฏิบัติของ XP XP-am ยังช่วยในการตรวจสอบการโต้ตอบและการพึ่งพาท่ามกลางแนวทางปฏิบัติของ XP รวมถึงระดับที่สามารถถอดหรือลบแนวปฏิบัติได้
  • XP Outcome Measures (XP-om) : XP-cm เปิดใช้งานการประเมินผลลัพธ์ที่เกี่ยวข้องกับธุรกิจ เช่น ประสิทธิภาพการทำงาน คุณภาพ ฯลฯ

นอกเหนือจากกรอบการทำงานแล้ว ยังมีการสัมภาษณ์สมาชิกในทีมและลูกค้าเพื่อช่วยให้เข้าใจการนำ XP ไปใช้โดยทีมงานเพื่อความพึงพอใจของลูกค้า

สรุป

ที่ IBM วิธี XP ดูเหมือนจะมีประสิทธิผลมากกว่าเมื่อเปรียบเทียบกับวิธี Waterfall ด้วยมาตรการต่อไปนี้:

  • ข้อบกพร่องในการทดสอบ : สำหรับรุ่นก่อนเผยแพร่ ข้อบกพร่องน้อยกว่า 50% และสำหรับหลังการเผยแพร่ ข้อบกพร่องในรุ่นก่อนเผยแพร่จะน้อยลงประมาณ 40% โดยใช้แนวทาง XP
  • ผลผลิต : ประสิทธิภาพการทำงานของพนักงานเพิ่มขึ้นอย่างมีนัยสำคัญโดยใช้แนวทาง XP มากกว่าวิธีแบบน้ำตก
  • ความพึงพอใจของลูกค้า : ความพึงพอใจ ของลูกค้าได้รับการบันทึกว่าอยู่ใน XP สูงและบันทึกเป็น N/A สำหรับ Waterfall
  • ขวัญกำลังใจ : ขวัญกำลังใจของผู้มีส่วนได้ส่วนเสียบันทึกไว้สูงใน XP และบันทึกเป็น N/A สำหรับน้ำตก

ที่ Sabre Airlines สังเกตเห็นผลลัพธ์ที่คล้ายคลึงกัน:

  • ระยะเวลาการรวบรวมข้อบกพร่อง : เนื่องจากรุ่นแรกถูกสร้างขึ้นนานกว่า 18 เดือน ระยะเวลาการรวบรวมข้อบกพร่องก็นานขึ้นในแนวทางแบบน้ำตกด้วย มันสั้นลงอย่างมากในรุ่นที่ใช้ XP
  • ข้อบกพร่องในการทดสอบ : สำหรับรุ่นก่อนเผยแพร่ ข้อบกพร่องน้อยกว่า 65% และสำหรับหลังการเผยแพร่ ข้อบกพร่องนั้นน้อยกว่าประมาณ 46% ในการเปิดตัวผ่านแนวทาง XP
  • ผลผลิต : ผลผลิตของพนักงานที่ใช้แนวทาง XP นั้นสูงกว่าวิธีน้ำตกประมาณ 46%
  • ความพึงพอใจของลูกค้า : ความพึงพอใจ ของลูกค้าได้รับการบันทึกว่าอยู่ใน XP สูงและบันทึกเป็น N/A สำหรับ Waterfall
  • ขวัญกำลังใจ : ขวัญกำลังใจของผู้มีส่วนได้ส่วนเสียอยู่ที่ประมาณ 68% XP และบันทึกเป็น N/A สำหรับน้ำตก

กรณีการใช้งานและการสมัคร

ใช้กรณีที่ 1: การพัฒนาเว็บ

คำชี้แจงปัญหา: เว็บไซต์ของบริษัทต้องได้รับการออกแบบใหม่

นักแสดง: ลูกค้า, นักพัฒนา, Tracker

  1. กระแสของเหตุการณ์ปกติ:
  2. ลูกค้าแจ้งความต้องการเบื้องต้น
  3. ทีมพัฒนาเริ่มเขียนโปรแกรม
  4. ทีม QA ทดสอบหาจุดบกพร่องและแจ้งทีมงานโปรแกรม
  5. ลูกค้ามีความต้องการมากขึ้น
  6. วงจรซ้ำ

ใช้ XP:

  1. การประชุมแบบตัวต่อตัวเรียกว่าเกี่ยวข้องกับลูกค้าและนักพัฒนา
  2. ลูกค้ากำหนดความต้องการ งบประมาณ และไทม์ไลน์ในรูปแบบของเรื่องราว
  3. ผู้จัดการโครงการจะกลายเป็นตัวติดตามและติดตามความคืบหน้าของโครงการ
  4. ทีมพัฒนาเริ่มทำงานเป็นคู่ รหัสถูกเขียนและดีบั๊กในเวลาเดียวกัน
  5. ในแต่ละสัปดาห์จะมีการประชุมเพื่อหารือเกี่ยวกับความคืบหน้า ลูกค้าสามารถกำหนดข้อกำหนดใหม่ได้
  6. มีการประชุมทุกไตรมาสเพื่อหารือเกี่ยวกับสถานะของเรื่องราว
  7. หลังจากเรื่องเก่าจบ เรื่องราวชุดใหม่จะเกิดขึ้น (ข้อกำหนดสำหรับไตรมาสถัดไป)

ใช้กรณีที่ 2: การพัฒนาเกม

คำชี้แจงปัญหา: ลูกค้าต้องการให้เกมพัฒนาตั้งแต่เริ่มต้น

นักแสดง: ลูกค้า, นักพัฒนา, Tracker

กระแสของเหตุการณ์ปกติ:

  1. ลูกค้าให้ความต้องการ เวลา และงบประมาณ
  2. นักพัฒนาเริ่มเขียนโปรแกรม
  3. ทีม QA ทดสอบโมดูลเกม
  4. ลูกค้ามีความต้องการมากขึ้น
  5. วงจรซ้ำ

ใช้ XP :

  1. การประชุมแบบตัวต่อตัวเรียกว่าเกี่ยวข้องกับลูกค้าและนักพัฒนา
  2. ลูกค้ากำหนดความต้องการ งบประมาณ และไทม์ไลน์ในรูปแบบของเรื่องราว (โมดูลเกม)
  3. ผู้จัดการโครงการกลายเป็นตัวติดตามและติดตามความคืบหน้าในการพัฒนาเกม
  4. ทีมพัฒนาเริ่มทำงานเป็นคู่ โค้ดสำหรับโมดูลต่างๆ ถูกเขียนและดีบั๊กพร้อมกัน
  5. ในแต่ละสัปดาห์จะมีการประชุมเพื่อหารือเกี่ยวกับความคืบหน้า ลูกค้าสามารถกำหนดข้อกำหนดใหม่ได้
  6. มีการประชุมทุกไตรมาสเพื่อหารือเกี่ยวกับสถานะของเรื่องราว
  7. หลังจากเรื่องราวเก่าเสร็จสิ้น เช่น โมดูลที่มีลำดับความสำคัญสูงเสร็จสิ้น เรื่องราวชุดใหม่จะถูกสร้างขึ้น (ข้อกำหนดสำหรับไตรมาสถัดไป)

nTask สำหรับ Extreme Programming Practices (XP)

nTask เป็นระบบการจัดการงานที่รองรับวิธีการ Agile ของเฟรมเวิร์ก Extreme Programming เป็นแอปพลิเคชันการจัดการงานออนไลน์ที่ออกแบบมาโดยเฉพาะสำหรับการทำงานเป็นทีมและการส่งมอบโครงการ โดยไม่คำนึงถึงอุตสาหกรรม nTask อำนวยความสะดวกในวิธีการของ XP และมีส่วนช่วยในการวางแผนโครงการและการจัดวางกระบวนการอย่างมีประสิทธิภาพ

ต่อไปนี้เป็นวิธีที่ nTask สามารถช่วยคุณวางแผนและบรรลุเป้าหมายโครงการได้ดีขึ้น ทั้งหมดนี้อยู่ในกรอบงานของ XP

กำหนดการประชุม

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

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

การจัดสรรทีม

คุณสามารถจัดทีมของคุณและบทบาทที่พวกเขาจะดำเนินการผ่านส่วนการจัดสรรทีม คุณสามารถกำหนดบทบาทสำหรับนักพัฒนา ตัวติดตาม และลูกค้าได้อย่างง่ายดาย

การสร้างโครงการ

ลูกค้าสามารถสร้างโครงการและระบุความต้องการได้ ลูกค้ายังสามารถกำหนดงบประมาณและไทม์ไลน์ได้อีกด้วย

การสร้างและมอบหมายงาน

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

หากสมาชิกในทีมบางคนเล่าเรื่องราวให้เสร็จก่อนเวลา ลูกค้าสามารถมอบหมายงาน "หย่อน" เช่น งานที่มีลำดับความสำคัญต่ำกว่าภายในไทม์ไลน์ที่เหลือได้ ช่วยประหยัดเวลาในการทำงานให้เสร็จเร็วขึ้น

ดูเพิ่มเติมที่:

ขอแนะนำ nTask 2.0 – การอัปเดตที่เรารอคอยมากที่สุด

ผังโครงการ

Project Manager หรือ Tracker สามารถช่วยติดตามการไหลของโครงการผ่านโมดูล Timesheet โมดูลนี้ช่วยให้สามารถตรวจสอบและประเมินความคืบหน้าของโครงการได้อย่างมีประสิทธิภาพ ช่วยประเมินไทม์ไลน์สำหรับงานต่างๆ ด้วยเช่นกัน และเหตุการณ์สำคัญที่บรรลุหรืออยู่ระหว่างดำเนินการ

ทำงานร่วมกันได้ง่าย

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

ความคิดเห็นแบบเรียลไทม์เป็นวิธีการง่ายๆ ในการสื่อสารกับทีม ไม่ว่าจะเป็นการแลกเปลี่ยนข้อมูลหรือแนวคิดใหม่ ๆ สิ่งนี้ทำให้ทีมอยู่ในหน้าเดียวกันได้ง่าย

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

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

ความโปร่งใส

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

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

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

บทสรุป

บทความนี้ให้รายละเอียดว่าคุณจะได้รับประโยชน์จาก XP ในฐานะพนักงาน Agile ได้อย่างไร นอกจากนี้ nTask ยังถูกสร้างขึ้นเพื่อดำเนินการตามข้อกำหนดดังกล่าวภายในโดเมนของการเขียนโปรแกรมขั้นสูงและเทคนิคน้ำตก ดังนั้นโปรดอ่านและอย่าลืมแบ่งปันความคิดของคุณผ่านส่วนความคิดเห็นด้านล่าง หรือคุณสามารถส่งอีเมลถึงเราได้ที่ [email protected]

ยังอ่าน:
  • แอพเพิ่มประสิทธิภาพการทำงานฟรีที่ดีที่สุด 21 รายการของปี 2022
  • แอพรายการสิ่งที่ต้องทำที่ดีที่สุด 23 อันดับในปี 2022 สำหรับการจัดการงานส่วนบุคคล
  • 10 ทักษะการจัดการโครงการที่จำเป็นสำหรับผู้จัดการโครงการปี 2022
  • วิธีทำให้สิ่งต่างๆ สำเร็จ (GTD) และแอพและเครื่องมือ GTD ที่ดีที่สุด 14 รายการ
  • ซอฟต์แวร์ติดตามเวลา 19 อันดับแรกเพื่อปรับปรุงประสิทธิภาพการทำงานของทีม
  • 27 ซอฟต์แวร์การจัดการงานที่ดีที่สุดสำหรับการเริ่มต้นในปี 2565
  • 36 แอพเพิ่มประสิทธิภาพการทำงานฟรีที่ดีที่สุดในปี 2022
  • 30 แอพรายการสิ่งที่ต้องทำที่ดีที่สุดของปี 2022 สำหรับการจัดการงานส่วนบุคคล
  • 22 เครื่องมือการจัดการโครงการฟรีที่ดีที่สุดสำหรับทีม Agile ในปี 2022
  • การจัดการทีมเสมือน: ความท้าทาย เคล็ดลับ และเครื่องมือการจัดการทีมเสมือน
  • 47 คำคมการทำงานเป็นทีมที่ดีที่สุดเพื่อเฉลิมฉลองการทำงานร่วมกันและแรงจูงใจ