ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การพัฒนาซอฟต์แวร์แบบ Extreme Programming

รูปการทำงานของ Extreme Programming

 

Extreme Programming คือกฎระเบียบการพัฒนาซอฟต์แวร์ โดยจะเน้นความสนใจไปที่ สมาชิกในทีมทั้งหมด ได้แก่ Manager, Customer, XP Programmer และ XP Coach เพื่อมุ่งไปสู่เป้าหมายร่วมกัน โดยหลักการคุณค่าของ Extreme Programming

 

บทบาทของ XP Programmer จะมีทักษะทางเทคนิคที่กว้างขวาง และหลากหลาย ได้แก่ Design, Analysis, Programming, Database Analysis และ Hardware Infrastructure โดย XP Programmer สามารถแชร์หรือช่วยเหลือ และเเบ่งปันความสามารถให้แก่กันได้ 

 

หลักการปฎิบัติของ Extreme Programming 

  1. The Planning Game : ลูกค้า หรือ โปรแกรมเมอร์จะช่วยกันทำงานเพื่อให้ได้คุณค่าสูงสุดและเร็วที่สุด ซึ่งยังเป็นผลดีกับตัวลูกค้าเองด้วย
  2. Small Releases : จะเริ่มต้นด้วยลูกค้าจะเป็นผู้เลือกรูปแบบของ feature งานที่ให้อัตถะประโยชน์ที่ได้จากการใช้งาน feature สูงสุด และใช้เวลาเร็วที่สุด เพื่อให้ได้ซอฟต์แวร์ออกมาใช้งานก่อน แล้วค่อย ๆ เพิ่ม feature set ใหม่เข้าไป
  3. System Metaphor ในเเต่ละ Projects จะต้องกำหนดนิยามความหมายของคำเฉพาะทางเทคนิคของลูกค้าให้เข้าใจตรงกัน เพื่อให้สามารถสื่อสารกันได้ง่ายขึ้น 
  4. Simple Design พยายามออกแบบให้ง่าย ๆ และทำงานได้ดีก่อน เพื่อให้งานออกมาสำเร็จเร็วที่สุด เพราะความต้องการของลูกค้าสามารถเปลี่ยนแปลงได้ตลอดเวลา
  5. Continuous Testing ก่อนที่โปรแกรมเมอร์ จะเพิ่ม feature ควรจะมีการทดลองคิดจินตนาการ แล้วเขียน Test สำหรับทดสอบ feature นั้นให้ได้ก่อน
  6. Refactoring โปรแกรมเมอร์จะต้องแก้ไข Code ของตัวเองให้ดีขึ้นอยู่เสมอ เช่น Logic ที่เขียน Code ซ้ำ ๆ กันก็จะถูกรวมไว้ที่เดียวกัน
  7. Pair Programming ในทุก ๆ Production code ที่ถูกเขียนขึ้นมาโดยโปรแกรมเมอร์ สองคนที่อยู่บนเครื่องเดียว สองคนนั้นก็จะ Review และเขียน Unit test และทดสอบ Code ที่ถูกเขียนขึ้นมาเอง
  8. Collective Code Ownership ไม่มีบุคคลใดเป็นเจ้าของ Module ใด ๆ คนเดียวทุกคนใจททีมจะต้องคาดหวังว่าจะสามารถทำงานบน Code base เดียวกัน
  9. Continuous Integration(CI) การเปลี่ยนแปลงทั้งหมดจะถูกรวมอยู่ใน Code base อย่างน้อยทุกวัน เเละการทดสอบจะต้องถูกต้อง 100% ทั้งก่อนและหลังการรวม (integration)
  10. 40-Hour Work Week โปรแกรมเมอร์จะต้องกับบ้านตรงเวลา และเมื่อไหร่ก็ตามที่โปรแกรมเมอร์ทำงานล่วงเวลาแสดงว่าจะต้องมีบางสิ่งผิดพลาด
  11.  On-site Customer ทีม XP จะต้องเข้าถึงชีวิตการทำงานจริงๆ ของลูกค้าซึ่ง มันก็คือผู้ใช้งานจริงอยู่ในระบบ
  12. Coding Standards Code ของทุกคนเป็นมาตรฐานเดียวกันหมด เป็นสิ่งที่ทำให้การทำงานง่ายขึ้น และเมื่อทุกคนในทีมอ่าน Code ที่มีรูปแบบการจัดการ และเขียน Code ที่มีรูปแบบไปในทางเดียวกัน 

 

 Extreme Programming คือ หลักการจัดเตรียมการปฏิบัติ ที่เหมาะสมกับบริบทหรือสภาวะเเวดล้อมภายในทีม XP เอง และหลักการปฏิบัติของ XP ที่ต้องเลือกมา จะพิจารณาจากหลักการที่ต้อง ส่งเสริมให้ทีมเกิดความคิดสร้างสรรค์ เกิดพลังขับเคลื่อนในการผลิตซอฟต์แวร์อย่างมีคุณภาพ และเป็นที่ยอมมรับภายในทีมทั้งหมด

 

ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
B - ยังขาดหน้าผลการค้นหา จาก search.php
โดย mindphp ศ 29 พฤษภาคม 2020 6:11 am บอร์ด FDD (Main)
0
1
ศ 29 พฤษภาคม 2020 6:11 am โดย mindphp
B - กล่องค้นหาจากหน้า index ใช้งานไม่ได้ กดแล้วไม่ไปหน้าค้นหา
โดย mindphp ศ 29 พฤษภาคม 2020 5:39 am บอร์ด FDD (Main)
1
1
ศ 29 พฤษภาคม 2020 5:53 am โดย mindphp
B - ไม่ใช่แค่โชว์ icon facebook มันต้องทำลิงค์เพื่อให้คลิกไป
โดย mindphp ศ 29 พฤษภาคม 2020 4:39 am บอร์ด FDD (Main)
1
2
ศ 29 พฤษภาคม 2020 4:51 am โดย mindphp
อัพเดท phpbb 3.3 เเล้ว extenstion ใช้งานไม่ได้
โดย thatsawan พฤ 28 พฤษภาคม 2020 10:08 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
9
พฤ 28 พฤษภาคม 2020 10:10 pm โดย thatsawan
วิธีการสร้าง css ที่ใช้งานเฉพาะในบราวเซอร์ safari เท่านั้น
โดย Ittichai_chupol พฤ 28 พฤษภาคม 2020 6:06 pm บอร์ด CSS Knowledge
0
5
พฤ 28 พฤษภาคม 2020 6:06 pm โดย Ittichai_chupol
R - Set Demo เป็น subdomain ของ ตัวนี้
โดย mindphp พฤ 28 พฤษภาคม 2020 6:17 am บอร์ด มารียา ซีฟู้ดส์ - Developer
0
8
พฤ 28 พฤษภาคม 2020 6:17 am โดย mindphp
อยากทราบวิธีการกำหนด ค่า css ให้กับ button โดยกำหนดเฉพาะแต่ละบราวเซอร์
โดย Ittichai_chupol พ 27 พฤษภาคม 2020 8:39 pm บอร์ด HTML CSS
1
21
พ 27 พฤษภาคม 2020 9:15 pm โดย mindphp
อัพเดท Changelog flask framework ของภาษา Python
โดย jirawoot พ 27 พฤษภาคม 2020 12:19 pm บอร์ด Python Knowledge
0
17
พ 27 พฤษภาคม 2020 12:19 pm โดย jirawoot
งานประจำวันที่ 27 พฤษภาคม 2563
โดย yositacha26 พ 27 พฤษภาคม 2020 12:13 pm บอร์ด MP011 - โยษิตา จันทะวงษ์
1
25
พ 27 พฤษภาคม 2020 12:15 pm โดย yositacha26
อยากทราบว่า วิธีการกำหนดการตั้งค่า ภาษาไทย ใน Netbeans
โดย Ittichai_chupol พ 27 พฤษภาคม 2020 10:13 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
16
พ 27 พฤษภาคม 2020 10:13 am โดย Ittichai_chupol
B - บริษัท approve ประวัติที่ส่งมาสมัครเเล้ว เเต่ยังแสดงสถานะเดิมอยู่
โดย thatsawan อ 26 พฤษภาคม 2020 6:27 pm บอร์ด Odoojob.com - Tester
0
4
อ 26 พฤษภาคม 2020 6:27 pm โดย thatsawan
อยากทราบวิธีการแก้ไข ภาษาไทยกลายอักษรแปลกๆ
โดย Ittichai_chupol จ 25 พฤษภาคม 2020 4:35 pm บอร์ด Programming - PHP
1
40
จ 25 พฤษภาคม 2020 5:43 pm โดย thatsawan
อยากทราบวิธีการ แบบคอลัมเป็น 3 คอลีม โดยใช้ tag <dl>
โดย Ittichai_chupol จ 25 พฤษภาคม 2020 11:56 am บอร์ด HTML CSS
1
43
จ 25 พฤษภาคม 2020 2:42 pm โดย thatsawan
บันทึกประชุม มารียา ซีฟู้ดส์
โดย thatsawan จ 25 พฤษภาคม 2020 11:40 am บอร์ด มารียา ซีฟู้ดส์ (Main)
2
8
ศ 29 พฤษภาคม 2020 9:32 am โดย tsukasaz
10 สุดยอดสตรีทฟู้ดในแอฟริกาตะวันตก
โดย Anonymous อ 24 พฤษภาคม 2020 9:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
54
จ 25 พฤษภาคม 2020 8:03 pm โดย ขุนพล ตั้นตระกูล
ข้อมูลสำหรับทำระบบ
โดย mindphp อ 24 พฤษภาคม 2020 4:07 am บอร์ด มารียา ซีฟู้ดส์ (Main)
0
8
อ 24 พฤษภาคม 2020 4:07 am โดย mindphp
อัพเดดความคืบหน้า / Progress - มารียา ซีฟู้ดส์
โดย mindphp อ 24 พฤษภาคม 2020 4:07 am บอร์ด มารียา ซีฟู้ดส์ (Main)
2
17
ศ 29 พฤษภาคม 2020 8:52 am โดย tsukasaz
อัพเดด Template เว็บไซต์ FDD (V2)
โดย mindphp อ 24 พฤษภาคม 2020 3:51 am บอร์ด FDD (Main)
0
1
อ 24 พฤษภาคม 2020 3:51 am โดย mindphp
R - ปรับกราฟฟิก ของเว็บ FDD
โดย mindphp อ 24 พฤษภาคม 2020 3:50 am บอร์ด FDD (Main)
0
2
อ 24 พฤษภาคม 2020 3:50 am โดย mindphp
ความคืบหน้า / Progress
โดย mindphp อ 24 พฤษภาคม 2020 3:46 am บอร์ด FDD (Main)
1
6
อ 26 พฤษภาคม 2020 8:18 am โดย mindphp